@jakevin7: https://github.com/jackwener/OpenTeamFormat… Working on a standard format for importing and exporting Agent Teams, aiming to define a format that facilitates various agent teams such as raft(slock), bloome...

X AI KOLs Timeline Tools

Summary

A new open-source format for sharing and exporting Agent Team templates, enabling easy import/export among different agent systems like Raft, Bloom, and others.

https://github.com/jackwener/OpenTeamFormat… Working on a standard format for importing and exporting Agent Teams, hoping to define a format. It will facilitate easy import/export for various agent teams such as raft(slock), bloome, curoma, etc. This makes it easy to share and expand Teams, leveraging everyone's wisdom to strengthen shared Team capabilities.
Original Article
View Cached Full Text

Cached at: 07/02/26, 06:25 PM

https://github.com/jackwener/OpenTeamFormat… Working on a standard format for Agent Team import and export, hoping to define a format. This will make it easy for various agent teams, such as raft(slock), bloome, curoma, etc., to import and export, share and extend teams, and leverage collective wisdom to strengthen shared team capabilities.

jackwener/OpenTeamFormat

Source: https://github.com/jackwener/OpenTeamFormat

OpenTeamFormat

OpenTeamFormat is a portable directory format for describing Raft / Slock team templates. The first draft focuses on the smallest useful unit, an agent package, and a team example that composes multiple agents into a channel.

Scope

This draft covers:

  • Agent metadata and instructions
  • Agent-local skills
  • Runtime adapters for Claude-compatible tools
  • A team manifest that references agents and channel membership

This draft intentionally does not include secrets, OAuth sessions, runtime process state, message history, task history, or attachments.

Agent Package

A single agent package has this layout:

agent.yaml
AGENTS.md
CLAUDE.md
.agents/
  skills/
    product-spec/
      SKILL.md
    task-breakdown/
      SKILL.md
  .claude/
    skills -> ../.agents/skills

File roles:

  • agent.yaml: machine-readable OpenAgent manifest.
  • AGENTS.md: canonical model instruction for the agent.
  • CLAUDE.md: Claude runtime adapter that references @AGENTS.md.
  • .agents/skills/: canonical local skill packages owned by this agent package.
  • .claude/skills: runtime adapter that points directly at .agents/skills/.

See agents/agent/ for the base template.

Team Example

See example/ for a small product team template containing:

  • Product manager
  • Frontend engineer
  • Backend engineer
  • One private channel containing all three agents

The example keeps each agent as an independent package under example/agents/<role>/ and composes them from example/team.yaml.

Manifests

The current manifests use openteamformat.org/v1alpha1.

OpenAgent describes one portable agent package. OpenTeam describes a bundle of agents and channels.

OpenAgent packages do not define a notes/ directory or a spec.notes field. Durable context should live in the canonical instruction or skills until the format defines a separate memory/context mechanism.

OpenAgent.spec.skills.dirs[] declares package-local skill roots. Each local skill under a root is a directory package with SKILL.md. Local skill roots are part of the package contents and are not locked separately.

OpenAgent.spec.skills.refs[] declares external skills. GitHub skill sources use structured repo, ref, and path fields instead of a raw URL:

skills:
  dirs:
    - .agents/skills
  refs:
    - name: frontend-design
      source:
        type: github
        repo: anthropics/skills
        ref: 9d2f1ae187231d8199c64b5b762e1bdf2244733d
        path: skills/frontend-design

External refs[].source.ref is required. Commit SHAs or tags are recommended. Branch refs such as main are allowed as non-reproducible manifest intent, but validators should warn. Strict validators/importers may reject branch refs. Importers that resolve external refs must write the resolved commit SHA into a lockfile or import result so the imported package is reproducible.

In an OpenTeam manifest, each spec.agents[] reference uses name, not a separate id. The name should match the referenced OpenAgent.metadata.name. Agent references should include a short description alongside name and path; this keeps the team-level composition understandable without opening every agent package.

In an OpenTeam manifest, each spec.channels[] entry also uses name, not a separate id. Membership references such as agent:product-manager resolve against agent names. Importers should treat manifests as declarative input and should produce an import mapping after creation instead of writing environment-specific IDs back into the package.

Schema and Validation

Machine-checkable JSON Schemas live in schemas/:

  • schemas/open-agent.schema.json
  • schemas/open-team.schema.json

Fixtures live in fixtures/:

  • fixtures/valid/ contains packages and manifests that must pass validation.
  • fixtures/warning/ contains packages and manifests that pass default validation but emit warnings.
  • fixtures/invalid/ contains intentionally broken packages that must fail validation.

Run validation with:

npm install
npm test
npm run validate:strict

The validator checks both schema shape and repository semantics:

  • YAML manifests parse successfully.
  • OpenAgent instruction, skill, and runtime adapter paths resolve.
  • CLAUDE.md is a real Markdown adapter file, not a symlink, and references @AGENTS.md.
  • OpenAgent packages do not include notes/ or spec.notes.
  • Local skill roots use skills.dirs[]; local skills are directory packages containing SKILL.md.
  • External skills use skills.refs[] with structured GitHub source metadata.
  • Missing external GitHub ref values are errors.
  • Branch refs such as main are warnings in default validation and failures in strict validation.
  • OpenTeam.spec.agents[] uses name, not id.
  • OpenTeam.spec.agents[] includes description.
  • OpenTeam.spec.channels[] uses name, not id.
  • Channel members and initial message authors resolve to declared agent names.
  • Team agent references point to existing OpenAgent manifests whose metadata.name matches the reference name.

License

OpenTeamFormat is licensed under the Apache License 2.0. See LICENSE.

Similar Articles

@bibryam: https://x.com/bibryam/status/2084204574559056207

X AI KOLs Timeline

An exploration of emerging Markdown-based file formats (AGENTS.md, SKILL.md, spec/plan/task files, memory files) that form a 'metacode layer' enabling coding agents to discover and apply project knowledge directly from repositories, shifting how intent is translated into implementation.