create-rule
Create Cursor rules for persistent AI guidance. Use when the user wants to create a rule, add coding standards, set up project…
Use when a bug, failing test, or unexpected behaviour needs investigation, especially across sessions or context resets. Isolates it in a debugger subagent with persistent .planning/debug state, unlike skills/systematic-debugging.
Claude Code
$ npx -y skills add coco-research/coco --skill gsd-debug --agent claude-code
Codex
$ npx skills add coco-research/coco --skill gsd-debug -a codex -y
Cursor
$ npx skills add coco-research/coco --skill gsd-debug -a cursor -y
Gemini CLI
$ npx skills add coco-research/coco --skill gsd-debug -a gemini-cli -y
GitHub Copilot
$ npx skills add coco-research/coco --skill gsd-debug -a github-copilot -y
OpenCode
$ npx skills add coco-research/coco --skill gsd-debug -a opencode -y
Windsurf
$ npx skills add coco-research/coco --skill gsd-debug -a windsurf -y
name: gsd-debug description: "Use when a bug, failing test, or unexpected behaviour needs investigation, especially across sessions or context resets. Isolates it in a debugger subagent with persistent .planning/debug state, unlike skills/systematic-debugging." argument-hint: "[--diagnose] [issue description]" allowed-tools: - Read - Bash - Task - AskUserQuestion
<objective> Debug issues using scientific method with subagent isolation.
**Orchestrator role:** Gather symptoms, spawn gsd-debugger agent, handle checkpoints, spawn continuations.
**Why subagent:** Investigation burns context fast (reading files, forming hypotheses, testing). Fresh 200k context per investigation. Main context stays lean for user interaction.
**Flags:**
</objective>
<available_agent_types> Valid GSD subagent types (use exact names — do not fall back to 'general-purpose'):
</available_agent_types>
<context> User's issue: $ARGUMENTS
Parse flags from $ARGUMENTS:
Check for active sessions:
ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
</context>
<process>
INIT=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" state load)
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fiExtract `commit_docs` from init JSON. Resolve debugger model:
debugger_model=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-debugger --raw)
If active sessions exist AND no $ARGUMENTS:
If $ARGUMENTS provided OR user describes new issue:
Use AskUserQuestion for each:
1. **Expected behavior** - What should happen? 2. **Actual behavior** - What happens instead? 3. **Error messages** - Any errors? (paste or describe) 4. **Timeline** - When did this start? Ever worked? 5. **Reproduction** - How do you trigger it?
After all gathered, confirm ready to investigate.
Fill prompt and spawn:
<objective>
Investigate issue: {slug}
**Summary:** {trigger}
</objective>
<symptoms>
expected: {expected}
actual: {actual}
errors: {errors}
reproduction: {reproduction}
timeline: {timeline}
</symptoms>
<mode>
symptoms_prefilled: true
goal: {if diagnose_only: "find_root_cause_only", else: "find_and_fix"}
</mode>
<debug_file>
Create: .planning/debug/{slug}.md
</debug_file>Task(
prompt=filled_prompt,
subagent_type="gsd-debugger",
model="{debugger_model}",
description="Debug {slug}"
)**If `## ROOT CAUSE FOUND` (diagnose-only mode):**
**If `## DEBUG COMPLETE` (find_and_fix mode):**
**If `## CHECKPOINT REACHED`:**
**If `## INVESTIGATION INCONCLUSIVE`:**
When user responds to checkpoint OR selects "Fix now" from diagnose-only results, spawn fresh agent:
<objective>
Continue debugging {slug}. Evidence is in the debug file.
</objective>
<prior_state>
<files_to_read>
- .planning/debug/{slug}.md (Debug session state)
</files_to_read>
</prior_state>
<checkpoint_response>
**Type:** {checkpoint_type}
**Response:** {user_response}
</checkpoint_response>
<mode>
goal: find_and_fix
</mode>Task(
prompt=continuation_prompt,
subagent_type="gsd-debugger",
model="{debugger_model}",
description="Continue debug {slug}"
)</process>
<success_criteria>
</success_criteria>
495 personas across 13 departments, 229 skills[^installed] and 388 commands in the full catalog (coco 1.9.0, 2026-10-21). Agent skills, slash commands and subagents for Claude Code, Cursor, Codex and other AI coding agents.
Create Cursor rules for persistent AI guidance. Use when the user wants to create a rule, add coding standards, set up project…
Guides users through creating effective Agent Skills for Cursor. Use when the user wants to create, write, or author a new skill,…
Create custom subagents for specialized AI tasks. Use when the user wants to create a new type of subagent, set up task-specific…
Convert 'Applied intelligently' Cursor rules (.cursor/rules/*.mdc) and slash commands (.cursor/commands/*.md) to Agent Skills…
Modify Cursor/VSCode user settings in settings.json. Use when the user wants to change editor settings, preferences,…
Train and optimize AI agents using Microsoft's Agent Lightning framework with reinforcement learning. Use when setting up agent…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.