AGENTS.md
Guidance for coding agents and humans working under skills/.
Purpose
skills/ stores the authoritative skill bundles for aoa-skills. The authored bundle owns skill meaning, especially SKILL.md and techniques.yaml. Generated catalogs, capsules, walkthroughs, and matrices may summarize a skill, but they do not replace the authored bundle.
Read this first
Before editing a bundle in this directory, read in this order:
../AGENTS.md../docs/ARCHITECTURE.md../docs/BRIDGE_SPEC.md../docs/RUNTIME_PATH.md- the target
skills/<skill>/SKILL.md - the target
skills/<skill>/techniques.yaml - any touched
checks/,examples/,references/, oragents/openai.yaml - for live overlay skills,
../docs/OVERLAY_SPEC.mdand the matching../docs/overlays/<family>/PROJECT_OVERLAY.md
Directory contract
Treat these as the canonical bundle surfaces when present:
SKILL.mdtechniques.yaml- optional
agents/openai.yaml - optional
checks/,examples/, andreferences/
SKILL.md and techniques.yaml remain the canonical pair. Support artifacts should clarify, constrain, or verify the bundle. They should not silently override it.
The generated Codex-facing export lives separately under .agents/skills/*; edit the canonical bundle first, then regenerate the export.
Do not add per-bundle AGENTS.md by default. A skill bundle already carries its own contract surface, and a deeper AGENTS.md only makes sense when there is a real local conflict that cannot be stated cleanly in the bundle itself.
Allowed changes
Safe, normal contributions here include:
- refining a skill's bounded workflow wording
- tightening trigger boundaries
- improving inputs, outputs, contracts, risks, anti-patterns, and verification guidance
- adding or updating support artifacts that stay public-safe and reviewable
- aligning technique traceability with upstream canon
- adding a new skill bundle when it clearly packages upstream practice into a bounded workflow
Changes requiring extra care
Use extra caution when:
- changing a skill identifier or directory name
- changing
scope,status,summary,invocation_mode, ortechnique_dependencies - changing the relation between a bundle and its support artifacts
- removing support artifacts referenced by generated surfaces or review docs
- turning a multi-technique skill into a single-technique exception or vice versa
- changing live overlay family relationships such as
skills/atm10-*
Hard NO
Do not:
- put secrets, tokens, internal-only URLs, or private project runtime details here
- duplicate upstream technique doctrine that belongs in
aoa-techniques - widen a skill into a playbook or a downstream integration
- hide destructive or risk-heavy actions inside vague prose
- add per-bundle
AGENTS.mdas a default pattern
Validation
When bundle sources change, run the bounded repository flow:
python scripts/build_catalog.pypython scripts/build_agent_skills.py --repo-root .python -m unittest discover -s testspython scripts/validate_nested_agents.pypython scripts/validate_skills.pypython scripts/validate_agent_skills.py --repo-root .python scripts/lint_trigger_evals.py --repo-root .python scripts/build_catalog.py --check
If only a subset of surfaces changed, still make sure the affected bundle remains bounded, public-safe, and reviewable.
Output expectations
When reporting work in skills/, include:
- which skills changed
- whether bundle meaning changed or only metadata/support artifacts changed
- whether technique dependencies changed
- whether overlay relationships changed
- whether generated surfaces need to be refreshed