Thank you for your interest in contributing to Archon! This document provides guidelines and workflows for contributing.
-
Use the skill factory (recommended):
"Create a new skill for [domain]" → triggers the skill-factory pipeline -
Manual creation:
- Copy
skills/_template/toskills/your-skill-name/ - Fill in
manifest.yamlwith your skill's metadata - Write your
SKILL.mdfollowing the template structure - Add resources, examples, and tests
- Run validation:
python scripts/validate.py skills/your-skill-name
- Copy
Every skill MUST:
- Have a complete
manifest.yamlpassing schema validation - Have a
SKILL.mdwith all required sections (Identity, When to Use, Workflow, Rules, Output, Handoff) - Declare at least one trigger keyword
- Have no conflicting triggers with existing skills
- Include at least one example interaction in
examples/ - Include at least one test case in
tests/cases/
Every skill SHOULD:
- Include resources (cheat sheets, references) in
resources/ - Include output templates in
templates/ - Support all 5 platforms (or document which are unsupported in overrides)
- Edit the bundle's
bundle.yaml - Add your skill name to the
skills:list - Update the meta-skill if the new skill changes routing logic
- Run bundle validation:
python scripts/validate.py bundles/bundle-name
- Create directory
bundles/your-bundle-kit/ - Create
bundle.yamlfollowingschemas/bundle-manifest.schema.yaml - Create
meta-skill/SKILL.mdandmeta-skill/manifest.yaml - Optionally add
shared-resources/ - Register in
archon.yaml
- Edit the agent's
AGENT.mdand/oragent-manifest.yaml - Ensure all referenced skills still exist
- Ensure all handoff targets are valid agents
- Run validation:
python scripts/validate.py agents/agent-name
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes
- Run full validation:
python scripts/validate.py --all - Update
CHANGELOG.mdunder[Unreleased] - Submit a PR with a clear description
| Entity | Convention | Example |
|---|---|---|
| Skills | kebab-case |
react-best-practices |
| Bundles | kebab-case-kit |
web-dev-kit |
| Agents | kebab-case-agent |
spec-writer-agent |
| Pipelines | kebab-case |
sdd-pipeline |
| Synapses | kebab-case |
sequential-thinking |
| Hooks | snake_case.py |
pre_step.py |
- Copy
synapses/_template/tosynapses/your-synapse/ - Write
SYNAPSE.mddefining firing phases, rules, and resources - Create
manifest.yamlwithtype: coreortype: optional - Add resource files as needed
- Register in
archon.yamlundersynapses: - Validate:
python scripts/validate.py --synapses
- Create
hooks/your_hook.pywith anexecute(context)function - Register in
hooks/hooks.yamlwith the lifecycle event it handles - Validate:
python scripts/validate.py --hooks
python scripts/validate.py --all # Validate everything
python scripts/validate.py --skills # Skills only
python scripts/validate.py --agents # Agents + guardrails
python scripts/validate.py --synapses # Synapses
python scripts/validate.py --hooks # Hook system
python scripts/validate.py --pipelines # Pipeline schemasBe respectful, constructive, and collaborative. We're building something amazing together.