Overview
Theadd-todo command captures ideas, tasks, or issues that surface during work as structured todos for later action. It extracts context from the conversation, organizes by area, and tracks in STATE.md.
Syntax
Brief description of the todo. If omitted, GSD extracts context from the recent conversation.
How It Works
- Extracts content from arguments or recent conversation
- Infers area from file paths or content (api, auth, frontend, etc.)
- Checks for duplicates to prevent redundant todos
- Creates todo file with frontmatter and structured sections
- Updates STATE.md to track pending todo
- Commits to git with descriptive message
Todo File Structure
Usage Examples
Explicit description
From conversation context
During a phase execution:- Description: “Add indexes to user_events table”
- Area: database
- Related files: src/db/schema.ts
- Context: Slow queries, missing indexes
During code review
From debug session
- Description: “Fix session timeout configuration”
- Area: auth
- Related: .planning/debug/intermittent-logout.md
- Context: Debug session findings
Area Inference
GSD infers todo area from:- File paths mentioned (e.g.,
src/auth/*→ auth) - Content keywords (e.g., “database query” → database)
- Active phase (e.g., working in API phase → api)
- User specification (e.g., “frontend todo: …”)
api- API endpoints and handlersauth- Authentication and authorizationdatabase- Schema, queries, migrationsfrontend- UI components and pagesbackend- Server-side logicinfra- Infrastructure and deploymenttesting- Test coverage and qualitydocs- Documentationgeneral- Miscellaneous or cross-cutting
Duplicate Detection
Before creating a todo, GSD checks for similar existing todos:Directory Structure
STATE.md Tracking
Todos are counted in STATE.md:Priority Levels
Todos can have priority indicators:- Security vulnerabilities
- Production bugs
- Blocking issues
- Performance improvements
- Feature enhancements
- Refactoring
- Nice-to-haves
- Documentation
- Minor cleanup
When to Use
Perfect for
- Ideas during development
- Issues found in code review
- “TODO” comments in code
- Future improvements
- Technical debt items
- Follow-up from debug sessions
- User feedback items
- Performance optimizations
Not for
- Urgent issues (use
/gsd:debugor/gsd:quick) - Planned roadmap items (use
/gsd:plan-phase) - Active work (continue current phase)
Working on Todos
After capturing todos, work on them:Git Commits
Todo creation generates clean commits:Success Criteria
- ✅ Directory structure created
- ✅ Existing areas checked
- ✅ Content extracted (arguments or conversation)
- ✅ Area inferred correctly
- ✅ Duplicates checked
- ✅ File created with slug
- ✅ STATE.md updated
- ✅ Git commit created
Related Commands
check-todos- List and work on todosplan-phase- Convert todo to phase planquick- Execute todo as quick taskdebug- Investigate before creating todo