.claude/skills/spec/SKILL.md
Define what you want to build. Creates ./.gtd/<task_name>/SPEC.md
npx skillsauth add Hoang604/get-thing-done specInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Core responsibilities:
Flow: Context → Interview → Domain Research → Mirror → Confirm → Write </objective>
<context> **Task naming:** - Derive task name from what user wants to build - Use kebab-case (e.g., `user-auth`, `payment-integration`, `bug-fix-login`) - Keep it short and descriptive (2-4 words)Output:
./.gtd/<task_name>/SPEC.mdAgents used:
research — For understanding domain-specific code during context gathering
</context>The SPEC.md is the single source of truth for what we're building. Everything downstream (roadmap, plans, execution) derives from it.
You must know what user want by interview them, not guessing:
Before writing anything, summarize your understanding:
"So if I understand correctly, you want to build X that does Y, and we'll know it's done when Z. We won't do T. Is that right?"
User must explicitly confirm before proceeding.
</philosophy> <process>Check if $ARGUMENTS contains --modify:
If MODIFY mode (--modify in arguments):
./.gtd/<task_name>/SPEC.md existsIf NEW mode (no arguments or different argument):
Before interviewing, gather system context:
Check for Source of Truth files:
if [ -f "./.gtd/PRODUCT.md" ]; then
echo "Product overview found"
else
echo "No product overview exists"
fi
if [ -f "./.gtd/CODEBASE.md" ]; then
echo "Codebase overview found"
else
echo "No codebase overview exists"
fi
If PRODUCT.md exists:
./.gtd/PRODUCT.md.If CODEBASE.md exists:
./.gtd/CODEBASE.mdIf neither exist:
/product-overview and /codebase-overview first for better context."Ask questions to gather specification, before write SPEC.md, you must have context about:
Keep asking until you have clear answers for all.
User will provide what they want to change. Continue asking clarifying questions to understand:
What specifically needs to change?
Why the change?
Any ripple effects?
Keep asking until you have clear understanding of all changes.
Trigger: Immediately after interview / context gathering. Concurrency: As many as needed.
Fill prompt and spawn:
<objective>
Investigate domain feasibility for: {task_name}
**Goal:** {goal}
</objective>
<requirements>
{summarized_requirements}
</requirements>
<investigation_checklist>
1. Locus of Change (files/modules touches)
2. Code Precedents (existing patterns)
3. Data Lineage (origin -> destination)
4. Architectural Constraints
5. Hidden Dependencies
</investigation_checklist>
<output_format>
Feasibility Report with:
- Verdict (Feasible/Risky/Blocked)
- Key Files
- Reference Implementation
- Identified Risks
</output_format>
Task(
prompt=filled_prompt,
subagent_type="researcher",
description="Researching domain for {task_name}"
)
Purpose:
After research, update understanding if needed:
Determine task name automatically:
user-auth, payment-integration, bug-fix-login)Then summarize your understanding:
For NEW mode:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GTD ► CONFIRMING UNDERSTANDING
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**Task:** {task-name}
**Goal:** {Clear goal}
**Must Have:**
- {requirement 1}
**Nice to Have:**
- {requirement 2}
**Won't Have:**
- {exclusion 1}
**Constraints:**
- {constraint 1}
─────────────────────────────────────────────────────
Is this correct? (yes/no/clarify)
For MODIFY mode:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GTD ► CONFIRMING CHANGES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Here's what I understand you want to change:
**Changes:**
- {section 1}: {old} → {new}
- {section 2}: {old} → {new}
─────────────────────────────────────────────────────
Is this correct? (yes/no/clarify)
Wait for explicit confirmation.
For NEW mode:
Bash:
mkdir -p ./.gtd/<task_name>
Write to ./.gtd/<task_name>/SPEC.md:
# Specification
**Status:** FINALIZED
**Created:** {date}
## Goal
{What we're building and why}
## Requirements
### Must Have
- [ ] {Measurable criterion 1}
### Nice to Have
- [ ] {Optional feature}
### Won't Have
- {Exclusion}
## Constraints
- {Technical or time constraint}
## Open Questions
- {Any unresolved questions — empty if none}
For MODIFY mode:
Update the existing ./.gtd/<task_name>/SPEC.md with the confirmed changes.
Update the status line:
**Status:** UPDATED
**Last Updated:** {date}
</process>
<offer_next>
For NEW mode:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GTD ► SPEC COMPLETE ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Specification written to ./.gtd/<task_name>/SPEC.md
Acceptance Criteria: {N} items defined
─────────────────────────────────────────────────────
▶ Next Up
/roadmap — create phases from this spec
─────────────────────────────────────────────────────
For MODIFY mode:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GTD ► SPEC UPDATED ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Specification updated: ./.gtd/<task_name>/SPEC.md
Changes applied: {N} sections modified
─────────────────────────────────────────────────────
⚠ Note: Update roadmap/plans manually if needed
─────────────────────────────────────────────────────
</offer_next>
<forced_stop> STOP. The workflow is complete. Do NOT automatically run the next command. Wait for the user. </forced_stop>
testing
manual trigger by user, do not auto invoke
tools
manual trigger by user, do not auto invoke
development
Trace execution paths and document how code actually behaves. Use when you need to understand how features work, walk through code flows, explain component behavior, trace where data comes from, understand relationships between components, or audit for orphaned events and dead code.
testing
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.