Agent skill
spec-implementation-plan
Gives important guidelines to break down large features into smaller tickets. Companion to $spec-mode.
Install this agent skill to your Project
npx add-skill https://github.com/rstacruz/agentic-toolkit/tree/main/skill/atk/spec-implementation-plan
SKILL.md
Implementation plan
Update a spec to break down large features into tickets optimized for AI agent execution.
Output:
- Tickets: Vertical slices implementing functional requirements
- Dependencies: Mermaid graph showing execution order (optional)
Process:
- If spec exists in a file: Update that file with sections below
- If spec is not in a file: Create
artefacts/spec-{title}.mdwith sections below
Output format
Tickets
### T-01: [Title]
**Description:** As a [user], I want [feature] so that [benefit].
**Acceptance Criteria:**
- [ ] Specific verifiable criterion
- [ ] Another criterion
Dependencies
graph TD
T001["T-01: Title"]
T002["T-02: Title"]
T001 --> T002
Guidelines
Vertical slicing (by feature, not layer)
- ❌ Bad: "T-01: HTML", "T-002: CSS", "T-003: DB Schema"
- ✅ Good: "T-01: Header (HTML+CSS)", "T-002: Save User (API+DB)"
Walking skeleton (simplest working path first)
- T-01 should often be a "structure" ticket: types, interfaces, stubs
- Start with minimal end-to-end implementation that works but does almost nothing
- Example: Button → API endpoint → hardcoded response → UI update
- Proves integration before adding logic
- Later tickets add real logic, validation, error handling
- Better: working trivial implementation than perfect isolated component
Stub patterns (structure-first tickets)
Recommend T-01 as a "structure" ticket that establishes contracts before logic:
| Pattern | When to use | Example |
|---|---|---|
| Return empty/hardcoded | Data not yet implemented | return [] or return { id: 1 } |
console.log("TODO: X") |
Function body placeholder | Proves wiring works |
| Throw "Not implemented" | Required interface method | throw new Error("T-02") |
.skip or .todo tests |
Tests for future tickets | it.skip("saves to DB", ...) |
Why stubs help AI execution:
- Smaller first ticket = faster feedback loop
- Proves integration before logic
- Later tickets fill in real implementation
Acceptance criteria
- Must be verifiable, not vague
- ✅ Good: "Button shows confirmation dialog before deleting"
- ❌ Bad: "Works correctly"
- Include test cases as checkboxes:
- [ ] Test: X happens when Y - Bundle tests with each ticket — avoid separate "write tests" tickets
Ticket scope
- Small enough for one focused AI agent session
- Independently completable when possible
- Use T-01, T-02 numbering
- Focus on core functionality, defer edge cases to later iterations
Sizing guidelines
- Target: 50-150 lines of meaningful changes per ticket
- Too large: If exceeding ~200 lines, split further
- Include estimate: Add
**Est. lines:** ~80to each ticket
Dependencies
- Only create graph if tickets have dependencies
- Use Mermaid graph (see format above)
- Do NOT add "Dependencies" field to individual tickets
- Arrows show "must complete before" relationship
Quality gates and final verification
- Each ticket should verify work: run relevant tests, type checks during implementation
- Always include final verification ticket as last ticket:
- Runs all quality gates: tests, type checks, lint
- Manual verification via devtools/UI
- Cleanup implementation artifacts:
- Remove extraneous comments (TODO, debug notes, exploratory comments)
- Limit JSDoc to 2 lines max unless specifically required or significant
- Remove redundant tests — goal: highest coverage for least tests
- Keep essential tests, remove exploratory/debugging tests
- Ensures deliverable is production-ready
Example
## Tickets
### T-01: Theme config structure (stubs)
**Description:** As a developer, I want theme config foundation so that components can consume theme values.
**Est. lines:** ~40
**Acceptance Criteria:**
- [ ] ThemeConfig type defined
- [ ] `getTheme()` returns hardcoded default theme
- [ ] Test: Config exports valid theme object
### T-02: Dark theme palette
**Description:** As a developer, I want dark mode colours defined.
**Est. lines:** ~60
**Acceptance Criteria:**
- [ ] Define dark mode colour values in config
- [ ] `getTheme("dark")` returns dark palette
- [ ] Test: Dark palette has required colour keys
### T-03: Apply theme to Button
**Description:** As a user, I want Button to respect theme.
**Est. lines:** ~80
**Acceptance Criteria:**
- [ ] Button consumes theme config
- [ ] Button renders with theme colours
- [ ] Test: Button snapshot matches themed output
### T-04: Final verification
**Description:** As a developer, I want all quality gates to pass so that the feature is production-ready.
**Est. lines:** ~20 (cleanup only)
**Acceptance Criteria:**
- [ ] All tests pass
- [ ] Type checks pass
- [ ] Lint passes
- [ ] Manual verification: theme switches correctly in devtools
- [ ] Remove TODO comments from T-01 stubs
- [ ] Remove `.skip` from any deferred tests
## Dependencies
```mermaid
graph TD
T01["T-01: Theme config"]
T02["T-02: Dark palette"]
T03["T-03: Apply to Button"]
T04["T-04: Final verification"]
T01 --> T02 & T03
T02 & T03 --> T04
```
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
refine-implementation
Use after implementation to simplify and review code. Provide: git range (eg, main...HEAD). Runs simplify + peer review loop until change set is clean.
implement-spec
Implements a spec on a ticket-by-ticket basis.
spec-product-requirements
Gives important guidelines to define product requirements sections (functional requirements, technical requirements, constraints, design considerations, diagrams). Companion to $spec-mode.
coding-practices
Contains important guidelines for software engineering, coding, programming. Includes (but not limited to): - CP1: Functional core, imperative shell - CP2: Operational vs unexpected errors - CP3: Result-oriented interface pattern - CP4: Presentational vs container components - CP5: Log context builder pattern Use this when writing, editing, debugging, planning, or otherwise working with: - Any programming work - UI components in React, Vue, or similar - JavaScript, TypeScript, Rust, or any programming language
spec-tech-design
Gives important guidelines to define technical design sections (call graphs, data models, pseudocode, files, CSS classes, testing strategy). Companion to $spec-mode skill.
review-changes
Use when reviewing code changes against a plan. Provide: plan/spec doc; git range or changed files (eg, branch...HEAD). Returns P1/P2/P3 on alignment, quality, bugs, security.
Didn't find tool you were looking for?