Before implementing any skill or feature, follow the gated development lifecycle in
common-skills/development-lifecycle-gates.md.
Gates: G0 Discovery → G1 Requirements → G2 Design → G3 POC/Spike → G4 Implementation → G5 Review → G6 Ship
Check agent.todo.md for gate status on any ongoing work. Start at the earliest incomplete gate.
- Write a spec first — Create
docs/specs/<skill-name>-spec.mdusing the spec template - Create the skill directory —
mkdir -p skills/<skill-name>/references - Write
SKILL.md— Follow the Skill Format Spec - Update adapters — Run
polyagentctl sync-adapters - Test with at least 2 agents — Verify the skill works with different agents
- Submit a PR with the spec + skill + updated adapters
- Check the Adapter Contract Spec
- Create
adapters/<agent-name>/with the agent's instruction file - Add the new agent to
install_project_cmdinscripts/polyagentctl.py - Write an ADR if the agent requires special handling
- Submit a PR
All install logic lives in scripts/polyagentctl.py. If your change affects installation:
- Update
install_global_cmd,install_project_cmd, oruninstall_global_cmdinscripts/polyagentctl.py - Update documentation references in
README.mdandKNOWN_ISSUES.md
- Write an RFC
- Open a PR with the RFC for discussion
- Once approved, implement and reference the RFC
Use the GitHub issue templates:
- Bug Report — Skill doesn't work with a specific agent
- Skill Request — Propose a new skill
- Agent Support — Request support for a new agent
- All skill logic lives in
skills/, never in adapters - Common patterns go in
common-skills/ - Architecture decisions get an ADR
- Specs before implementation
- Test with multiple agents before merging
Follow conventional commits:
feat: add mail-summarizer skill
fix: correct adapter path resolution for Kiro
docs: add ADR for MCP integration decision
chore: update sync-adapters script