From sudocode
Manages sudocode specs and issues: view (show_spec, list_issues), create/modify (upsert_spec, upsert_issue), plan features, build dependency graphs, add feedback. Supports markdown editing and Obsidian-style links.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sudocode:sudocodeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Spec-driven development and issue management system. Work persists across sessions, specs guide implementation, dependency graphs ensure correct execution order, feedback loops close requirements gaps.
Spec-driven development and issue management system. Work persists across sessions, specs guide implementation, dependency graphs ensure correct execution order, feedback loops close requirements gaps.
.sudocode/specs/) - user-initiated, capture intent.sudocode/issues/) - agent work, actionable tasksCreate issues when: Concrete actionable work, can be completed and closed, implements a spec, is a bug/task Create specs when: Documenting user intent and requirements, architecture decisions, API designs, feature specifications
Option 1: Direct Markdown Editing (For content-heavy edits)
.sudocode/specs/ or .sudocode/issues/Option 2: MCP Tools (Recommended for structured operations)
upsert_issue, upsert_spec, link, add_feedback toolsWhen to use each:
Link specs and issues inline using [[ID]] syntax:
Basic reference:
Implement OAuth per [[s-8h2k]]
With display text:
See [[s-8h2k|authentication spec]] for details
With relationship type:
Must complete [[i-7x9m]]{ blocks } first
Formats supported:
- [[s-14sh]] - basic reference (creates "references" relationship)
- [[i-x7k9]] or [[@i-x7k9]] - with @ prefix
- [[s-3s542|Custom Text]] - with display text
- [[s-x4d6df]]{ blocks } - declares relationship type
- [[s-24gfs3|Text]]{ blocks } - both display and relationship
Relationship types in mentions: blocks, implements, depends-on, discovered-from
Why use inline mentions:
link tool call- [ ] Use ready tool to find unblocked work
- [ ] Use list_issues with status=in_progress to see current work
- [ ] Ask user which work to pursue (if not specified)
If you were assigned an issue, work ONLY on implementing the requirements of the issue.
ready → Find unblocked work
show_issue/show_spec → Get details with relationships
upsert_issue/spec → Create/update (status, priority, parent)
link → Create relationships (blocks, implements, parent-child)
add_feedback → Document implementation results on specs
| Type | Purpose | Effect on ready |
|---|---|---|
implements | Issue → Spec connection | None (documentation) |
blocks | Execution ordering | Blocked issue not ready until blocker closes |
parent-child | Hierarchical organization | None (hierarchy only) |
discovered-from | Provenance tracking | None (documentation) |
Standard flow:
open → in_progress → closed
↓ ↓ ↑
└─────────┴────────────┘
blocked (when waiting on dependencies)
When requirements are not fully met or unforeseen issues arise during execution:
in_progress → needs_review → closed
Hierarchical specs: Multiple subsystems, multiple layers, natural abstraction levels Hierarchical issues: Epic with subtasks, clear dependencies, progress tracking at different granularity
Example: "Implement authentication system"
Create hierarchy:
s-2a7c: Auth System (parent)
├── s-8h2k: OAuth (child)
├── s-9j3m: Sessions (child)
└── s-4k8p: Permissions (child)
i-5n7q: Implement auth (parent epic, implements s-2a7c)
├── i-7x9m: OAuth flow (child, implements s-8h2k)
├── i-3p6k: Session storage (child, implements s-9j3m)
└── i-8w2n: Permissions (child, implements s-4k8p)
Add execution order:
link: i-7x9m blocks i-3p6k (OAuth before sessions)
link: i-3p6k blocks i-8w2n (sessions before permissions)
Result: ready shows i-7x9m → close it → ready shows i-3p6k → etc.
Use blocks for: Execution ordering (A must finish before B starts)
Use parent-child for: Hierarchical organization (tracking progress at multiple levels)
Use both: Parent-child for hierarchy + blocks for ordering
- [ ] Identify foundation work (must happen first)
- [ ] Identify parallel work (no dependencies)
- [ ] Create all issues first (don't worry about order)
- [ ] Add parent-child for hierarchy
- [ ] Add blocks for execution order
- [ ] Verify no circular dependencies
- [ ] Use ready to verify graph correct
Pattern: Foundation blocks everything else → parallel work in middle → validation at end
Always provide feedback when implementing specs.
- [ ] Update issue status
- [ ] Use add_feedback on spec with requirements met, design decisions, challenges, evidence
- [ ] Choose type: comment (informational), suggestion (spec update), request (clarification)
- [ ] Anchor feedback to relevant spec sections
Good feedback:
✅ Requirements met: OAuth flow working per spec
📝 Design decisions: Used Redis for tokens (horizontal scaling), added rate limiting
⚠️ Challenges: PKCE needed for mobile (not in spec), token refresh race condition solved with 10s buffer
✅ Evidence: 47 tests passing, 3 OAuth providers tested, security scan clean
💡 Suggestions: Add mobile requirements, document token refresh edge case
Bad feedback: "Implemented the feature. It works."
Close (status=closed) when:
Set needs_review when:
Self-check: "Could another developer deploy this to production as-is?"
- [ ] All requirements met
- [ ] Tests passing
- [ ] No blocking questions
- [ ] Implementation sound or uncertainties flagged
- [ ] Evidence provided
- [ ] Feedback on spec documenting what was done
If any item is ✗, set needs_review with feedback explaining gaps/questions
Spec-driven feature: Create spec → Create issues that implement spec → Add blocks dependencies to establish execution order → Use ready to find next work → Provide feedback on spec when done
Bug discovery: Create issue for discovered work → Link with discovered-from → If blocker: add blocks relationship + set original to blocked
Complex hierarchical feature: Create parent spec + child specs → Create parent issue + child issues → Link issues to specs with implements → Add parent-child + blocks relationships → Use ready to execute in order → Provide feedback on each spec
Use TodoWrite for: Session-scoped checklists, immediate execution tracking Use Issues for: Multi-session work, dependencies, spec implementation
Pattern: Start session with ready → Create TodoWrite for immediate tasks → Update issue status as you work → Close issue when complete
npx claudepluginhub sudocode-ai/sudocode --plugin sudocodeTransforms ideas into structured specifications (requirements, design, tasks) before implementation. Use when building features, fixing bugs, refactoring, or designing systems.
Guides GitHub Spec-Kit CLI integration for 7-phase constitution-based spec-driven feature development, managing .specify/specs/ directories with phases: Constitution, Specify, Clarify, Plan, Tasks, Analyze, Implement.
Orchestrates spec-driven development workflow (Requirements → Design → Tasks → Implementation) with approval gates. Activates for structured feature planning or 'use spec-driven'.