Thanks for your interest in contributing! This guide covers how to add commands, subagents, skills, and templates.
.cursor/
├── agents/ # Subagent definitions (.md)
├── commands/ # Slash commands (.md)
├── skills/ # Agent skills (SKILL.md + references/ + scripts/)
├── rules/ # Always-applied rules (.mdc)
├── environment.json # Cloud agent environment setup (3.7+)
└── sandbox.json # Network access controls
.sdd/
├── config.json # Project configuration
├── guidelines.md # Methodology guide
├── ROADMAP_FORMAT_SPEC.md # Roadmap JSON schema
├── FULL_PLAN_EXAMPLES.md # Worked examples
└── templates/ # Document templates
- Create
.cursor/commands/your-command.md - Follow the structure of existing commands (role, usage, phases, output)
- Add the command to the reference table in
.cursor/rules/sdd-system.mdc - If the command uses a subagent, map it in
.cursor/commands/_shared/agent-manual.md
- Create
.cursor/agents/your-agent.mdwith YAML frontmatter:--- name: your-agent description: What it does model: inherit is_background: true | false ---
- Use
inheritby default. If a specific model is required, use an exact Cursor-supported model ID rather than an alias. - Add to the subagent table in
agent-manual.mdandsdd-system.mdc - Document when to delegate to it in the Delegation Guidelines
- Create
.cursor/skills/your-skill/SKILL.mdwith YAML frontmatter:--- name: your-skill description: When to use it ---
- Add
references/for on-demand knowledge,scripts/for executable helpers,assets/for templates - Add to the skills table in
agent-manual.mdandsdd-system.mdc
- Create
.sdd/templates/your-template.md - Use
{{VARIABLE}}placeholders for values agents fill in - If the template is for a command, add the path to
.sdd/config.jsonundersettings.templates
- Run any shell scripts to verify they work:
bash .cursor/skills/sdd-audit/scripts/validate.sh - Check that markdown renders correctly
- Verify cross-references between files are accurate
- Keep agent prompts concise — focused instructions work best
- Follow the plan-approve-execute pattern for all commands
- Use progressive loading for skills (keep SKILL.md small, put details in references/)
- Update
README-technical.md(full command/subagent/skill tables) when adding features; only touchREADME.mdif it changes the everyday-use story
- GitHub Issues for bugs
- GitHub Discussions for feature ideas