// ALWAYS use this skill for ALL sudocode spec and issue operations. Use when user mentions "spec", "issue", "ready", "blocked", "implement", "feature", "plan", or "feedback" with sudocode specs and issues. PROACTIVELY use at start of implementation tasks to check ready issues and understand work context. Operations include viewing (show_spec, show_issue, list_issues, list_specs), creating/modifying (upsert_spec, upsert_issue), planning features, breaking down work, creating dependency graphs, and providing implementation feedback.
| name | sudocode |
| description | ALWAYS use this skill for ALL sudocode spec and issue operations. Use when user mentions "spec", "issue", "ready", "blocked", "implement", "feature", "plan", or "feedback" with sudocode specs and issues. PROACTIVELY use at start of implementation tasks to check ready issues and understand work context. Operations include viewing (show_spec, show_issue, list_issues, list_specs), creating/modifying (upsert_spec, upsert_issue), planning features, breaking down work, creating dependency graphs, and providing implementation feedback. |
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: MCP Tools (Recommended for structured operations)
upsert_issue, upsert_spec, link, add_feedback toolsOption 2: Direct Markdown Editing (For content-heavy edits)
.sudocode/specs/ or .sudocode/issues/When 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