SKILL.md model without replacing it.
Directory structure
A company package is markdown-first and usually contains one or more of these canonical files:SKILL.md remains an Agent Skills file.
The other manifests are defined by the Agent Companies extension.
Package kinds
Agent Companies recognizes these package roots:| File | Kind | Purpose |
|---|---|---|
COMPANY.md | company | Whole-company boundary and defaults |
TEAM.md | team | Reusable org subtree |
AGENTS.md | agent | One role, its instructions, and attached skills |
PROJECT.md | project | Planned work grouping |
TASK.md | task | Portable starter task |
SKILL.md | skill | Agent Skills capability package |
Common frontmatter
Most manifests support a shared set of fields:| Field | Required | Notes |
|---|---|---|
schema | No | Usually agentcompanies/v1 at package roots |
kind | No | Optional when the filename already makes the kind obvious |
slug | Recommended | Stable portable identity layer |
name | Yes | Human-readable name |
description | Yes | Short discovery description |
version | No | Package version |
license | No | License identifier or reference |
authors | No | Attribution metadata |
tags | No | Search and classification metadata |
metadata | No | Tool-specific extensions, including external references |
metadata.sources | No | Provenance and pinned external references |
COMPANY.md
COMPANY.md is the root entrypoint for a whole-company package.
Minimal example:
- define the company boundary
- declare optional goals and requirements
- point to external includes when convention-based discovery is not enough
- act as the main package import root
TEAM.md
TEAM.md defines an org subtree that can be reused or attached into an existing company.
Example:
AGENTS.md
AGENTS.md defines a single role, its instruction body, reporting relationship, and attached skills.
Example:
- the markdown body is the canonical default instruction content for the role
skillsshould prefer shortnames or slugs such asreview- exporters should avoid machine-specific paths and secret values
- vendor-specific adapter and runtime config should not live in the base package
PROJECT.md and TASK.md
PROJECT.md groups planned work.
TASK.md defines a portable starter task.
These files are intended to seed work structure, not export live runtime state such as current runs or spend totals.
Example task metadata:
SKILL.md compatibility
This is the core compatibility rule: Agent Companies must not redefine SKILL.md.
An Agent Companies-compatible client should:
- preserve normal Agent Skills semantics
- resolve local skill shortnames by convention, usually
skills/<slug>/SKILL.md - allow external or referenced skill packages without forcing verbose path references in
AGENTS.md - keep any implementation-specific fidelity outside the base
SKILL.mdcontract
External references and pinning
Agent company packages may reference upstream content rather than vendoring everything. This allows companies to reference skills that are maintained outside of this particular company. When they do, importers and exporters should preserve provenance data such as:- repository URL
- path
- commit SHA
- optional content hash
- attribution
- license
- usage mode such as
vendored,referenced, ormirrored
Progressive disclosure
Agent Companies keeps the same context-management model as Agent Skills:- Catalog: lightweight package and skill metadata.
- Activation: full manifest bodies and selected
SKILL.mdfiles. - Resources: referenced files, assets, and scripts loaded on demand.