Skill

agent-team-standards

Lock a project's agent skill names and versions in a manifest, then report drift against that manifest. Use when a team needs reproducible skill versions across CI, cron, and developer machines.

Category
optional
Version
1.0.0
License
MIT
Status
active
Length
93 lines
Source
skills/optional/agent-team-standards/SKILL.md

Install and discovery

npx --yes --package @youcisla/agent-foundry agent-foundry-install

After the installer runs, this record is available as agent-team-standards. See the docs for harness roots and verification steps.

Contents

Agent Team Standards

A manifest records which skills and versions a project expects. The shipped script compares a live skills tree with that manifest. It does not install, upgrade, or remove anything.

Procedure

What ships

skills/optional/agent-team-standards/scripts/ats.py (standard library only).

The script scans HERMES_SKILLS_ROOT, which defaults to ~/AppData/Local/hermes/skills on Windows. That root must contain category folders, each holding skill folders with a SKILL.md:

<HERMES_SKILLS_ROOT>/<category>/<skill>/SKILL.md

Commands

python skills/optional/agent-team-standards/scripts/ats.py lock --project-dir=. --output=agent-teams.lock.json
python skills/optional/agent-team-standards/scripts/ats.py validate --manifest=agent-teams.lock.json
python skills/optional/agent-team-standards/scripts/ats.py diff --manifest=agent-teams.lock.json
python skills/optional/agent-team-standards/scripts/ats.py apply --manifest=agent-teams.lock.json

What each command actually does

CommandBehavior
lockScans the skills root and writes name, category, version, path, and installed for each skill.
validateChecks manifest shape, required fields, and duplicate names.
diffLists matching, mismatched, extra, and missing skills.
applyReports missing and out-of-date skills. It is a dry run and changes nothing.

The config_fragments key is emitted empty. Do not expect it to carry models or AGENTS.md content.

Manifest example

{
  "schema_version": "1.0",
  "project": "my-project",
  "generated_at": "2026-08-13T00:00:00Z",
  "skills": [
    {
      "name": "agent-memory-vault",
      "category": "optional",
      "version": "1.0.0",
      "installed": true,
      "path": "optional/agent-memory-vault"
    }
  ],
  "config_fragments": {}
}

Installation is separate

To make a machine match the manifest, use your package manager or install script, then run diff again. A green apply means "no drift reported", not "installed".

Anti-patterns

  • Pinning versions without recording where each skill came from.
  • Editing the manifest by hand instead of regenerating it with lock.
  • Treating apply as an installer.
  • Locking every project to one global standard.

Verification Checklist

  • [ ] lock writes a manifest whose skill count matches the scanned root.
  • [ ] validate exits 0 on the generated manifest and nonzero on a broken one.
  • [ ] diff names every intentionally missing skill.
  • [ ] apply output is understood as a report, not a change.