@martinffx/atelier 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +285 -0
  4. package/agents/architect.md +38 -0
  5. package/agents/oracle.md +40 -0
  6. package/agents/recon.md +39 -0
  7. package/dist/atelier.js +33082 -0
  8. package/package.json +44 -0
  9. package/skills/code-conventional-commit/SKILL.md +134 -0
  10. package/skills/code-conventional-commit/evals/evals.json +23 -0
  11. package/skills/code-conventional-commit/workspace/iteration-1/eval-0/with_skill/outputs/commit-message.txt +4 -0
  12. package/skills/code-conventional-commit/workspace/iteration-1/eval-0/with_skill/outputs/eval_metadata.json +6 -0
  13. package/skills/code-conventional-commit/workspace/iteration-1/eval-1/with_skill/outputs/eval_metadata.json +6 -0
  14. package/skills/code-conventional-commit/workspace/iteration-1/eval-1/with_skill/outputs/validation-result.txt +16 -0
  15. package/skills/code-conventional-commit/workspace/iteration-1/eval-2/with_skill/outputs/commit-message.txt +8 -0
  16. package/skills/code-conventional-commit/workspace/iteration-1/eval-2/with_skill/outputs/eval_metadata.json +6 -0
  17. package/skills/code-conventional-commit/workspace/iteration-1/report.html +1325 -0
  18. package/skills/code-debug/SKILL.md +271 -0
  19. package/skills/code-debug/references/language-tools.md +139 -0
  20. package/skills/code-debug/references/techniques.md +117 -0
  21. package/skills/code-docs/SKILL.md +171 -0
  22. package/skills/code-docs/references/api-docs.md +116 -0
  23. package/skills/code-docs/references/changelog.md +64 -0
  24. package/skills/code-docs/references/readme-structure.md +94 -0
  25. package/skills/code-git-worktrees/SKILL.md +218 -0
  26. package/skills/code-perf/SKILL.md +163 -0
  27. package/skills/code-perf/references/common-bottlenecks.md +124 -0
  28. package/skills/code-perf/references/optimization-patterns.md +167 -0
  29. package/skills/code-perf/references/profiling-tools.md +126 -0
  30. package/skills/code-review/SKILL.md +78 -0
  31. package/skills/code-review/references/output.md +200 -0
  32. package/skills/code-review/references/reviewers.md +719 -0
  33. package/skills/code-review/references/rq.md +357 -0
  34. package/skills/code-review/references/rs.md +30 -0
  35. package/skills/code-security/SKILL.md +183 -0
  36. package/skills/code-security/references/owasp-top-10.md +129 -0
  37. package/skills/code-security/references/security-tools.md +102 -0
  38. package/skills/code-security/references/vulnerability-patterns.md +129 -0
  39. package/skills/code-stacked-commit/SKILL.md +155 -0
  40. package/skills/code-subagents/SKILL.md +184 -0
  41. package/skills/code-subagents/references/code-quality-reviewer-prompt.md +48 -0
  42. package/skills/code-subagents/references/implementor-prompt.md +79 -0
  43. package/skills/code-subagents/references/spec-reviewer-prompt.md +62 -0
  44. package/skills/oracle-architect/SKILL.md +246 -0
  45. package/skills/oracle-architect/references/api-design.md +345 -0
  46. package/skills/oracle-architect/references/data-modeling.md +318 -0
  47. package/skills/oracle-architect/references/ddd-patterns.md +247 -0
  48. package/skills/oracle-challenge/SKILL.md +126 -0
  49. package/skills/oracle-testing/SKILL.md +237 -0
  50. package/skills/oracle-testing/references/anti-patterns.md +618 -0
  51. package/skills/oracle-testing/references/boundaries.md +579 -0
  52. package/skills/oracle-testing/references/core-testing.md +691 -0
  53. package/skills/oracle-testing/references/edge-testing.md +794 -0
  54. package/skills/oracle-testing/references/stub-driven-tdd.md +322 -0
  55. package/skills/oracle-thinkdeep/SKILL.md +164 -0
  56. package/skills/python-architecture/SKILL.md +148 -0
  57. package/skills/python-architecture/references/data-modeling.md +558 -0
  58. package/skills/python-architecture/references/ddd.md +569 -0
  59. package/skills/python-architecture/references/functional-core.md +337 -0
  60. package/skills/python-build-tools/SKILL.md +153 -0
  61. package/skills/python-build-tools/references/basedpyright.md +321 -0
  62. package/skills/python-build-tools/references/ruff.md +225 -0
  63. package/skills/python-build-tools/references/uv.md +257 -0
  64. package/skills/python-fastapi/SKILL.md +184 -0
  65. package/skills/python-fastapi/references/api-design.md +563 -0
  66. package/skills/python-fastapi/references/dependencies.md +479 -0
  67. package/skills/python-fastapi/references/middleware.md +475 -0
  68. package/skills/python-fastapi/references/validation.md +497 -0
  69. package/skills/python-modern-python/SKILL.md +201 -0
  70. package/skills/python-modern-python/references/async.md +76 -0
  71. package/skills/python-modern-python/references/pattern-matching.md +89 -0
  72. package/skills/python-modern-python/references/typing.md +96 -0
  73. package/skills/python-monorepo/SKILL.md +146 -0
  74. package/skills/python-monorepo/references/docker.md +515 -0
  75. package/skills/python-monorepo/references/namespace-packages.md +426 -0
  76. package/skills/python-monorepo/references/workspace-config.md +341 -0
  77. package/skills/python-sqlalchemy/SKILL.md +119 -0
  78. package/skills/python-sqlalchemy/references/async.md +51 -0
  79. package/skills/python-sqlalchemy/references/models.md +67 -0
  80. package/skills/python-sqlalchemy/references/queries.md +57 -0
  81. package/skills/python-temporal/SKILL.md +128 -0
  82. package/skills/python-temporal/references/patterns.md +87 -0
  83. package/skills/python-temporal/references/testing.md +54 -0
  84. package/skills/python-testing/SKILL.md +161 -0
  85. package/skills/python-testing/references/boundaries.md +449 -0
  86. package/skills/python-testing/references/mocking.md +449 -0
  87. package/skills/python-testing/references/pytest.md +524 -0
  88. package/skills/spec-brainstorm/SKILL.md +325 -0
  89. package/skills/spec-finish/SKILL.md +159 -0
  90. package/skills/spec-implement/SKILL.md +296 -0
  91. package/skills/spec-orchestrator/SKILL.md +156 -0
  92. package/skills/spec-plan/SKILL.md +248 -0
  93. package/skills/typescript-api-design/SKILL.md +396 -0
  94. package/skills/typescript-api-design/references/error-responses.md +469 -0
  95. package/skills/typescript-build-tools/SKILL.md +447 -0
  96. package/skills/typescript-build-tools/references/biome.md +436 -0
  97. package/skills/typescript-build-tools/references/bun.md +432 -0
  98. package/skills/typescript-build-tools/references/turborepo.md +426 -0
  99. package/skills/typescript-build-tools/references/vitest.md +518 -0
  100. package/skills/typescript-drizzle-orm/SKILL.md +398 -0
  101. package/skills/typescript-drizzle-orm/references/cloudflare.md +392 -0
  102. package/skills/typescript-drizzle-orm/references/entity-pattern.md +412 -0
  103. package/skills/typescript-drizzle-orm/references/postgresql.md +191 -0
  104. package/skills/typescript-drizzle-orm/references/repository-pattern.md +479 -0
  105. package/skills/typescript-drizzle-orm/references/sqlite.md +291 -0
  106. package/skills/typescript-dynamodb-toolbox/SKILL.md +370 -0
  107. package/skills/typescript-dynamodb-toolbox/references/entity-layer.md +574 -0
  108. package/skills/typescript-dynamodb-toolbox/references/error-handling.md +495 -0
  109. package/skills/typescript-dynamodb-toolbox/references/modeling.md +332 -0
  110. package/skills/typescript-dynamodb-toolbox/references/repository-layer.md +631 -0
  111. package/skills/typescript-dynamodb-toolbox/references/testing.md +718 -0
  112. package/skills/typescript-dynamodb-toolbox/references/transactions.md +423 -0
  113. package/skills/typescript-effect-ts/SKILL.md +341 -0
  114. package/skills/typescript-effect-ts/references/core.md +412 -0
  115. package/skills/typescript-effect-ts/references/error-handling.md +468 -0
  116. package/skills/typescript-effect-ts/references/resources.md +476 -0
  117. package/skills/typescript-effect-ts/references/schema.md +536 -0
  118. package/skills/typescript-effect-ts/references/services.md +461 -0
  119. package/skills/typescript-fastify/SKILL.md +405 -0
  120. package/skills/typescript-fastify/references/plugins.md +329 -0
  121. package/skills/typescript-fastify/references/typeid.md +315 -0
  122. package/skills/typescript-functional-patterns/SKILL.md +402 -0
  123. package/skills/typescript-functional-patterns/references/adts.md +497 -0
  124. package/skills/typescript-functional-patterns/references/branded-types.md +542 -0
  125. package/skills/typescript-functional-patterns/references/migration-guide.md +695 -0
  126. package/skills/typescript-functional-patterns/references/option-result.md +585 -0
  127. package/skills/typescript-testing/SKILL.md +353 -0
  128. package/skills/typescript-testing/references/mocking.md +675 -0
  129. package/skills/typescript-testing/references/msw.md +852 -0
  130. package/skills/typescript-testing/references/snapshot-testing.md +774 -0
@@ -0,0 +1,325 @@
1
+ ---
2
+ name: spec-brainstorm
3
+ description: >
4
+ Conversational design workshop for new features. Interviews the human one question
5
+ at a time, explores 2-3 approaches with trade-offs, then produces a focused spec.
6
+ Combines requirements discovery with codebase research and architecture design.
7
+ Use when the user says "create a spec", "design this feature", "let's brainstorm",
8
+ "what should we build", or at the start of any feature/refactor/complex-bug workflow.
9
+ user-invocable: true
10
+ argument-hint: <topic or feature description>
11
+ ---
12
+
13
+ # Spec Brainstorm
14
+
15
+ Conversational design workshop that produces a focused, reviewed spec.
16
+
17
+ One question at a time. Multiple approaches explored. Ruthless scope control.
18
+ No implementation until design is approved.
19
+
20
+ ## Artifact
21
+
22
+ ```
23
+ docs/specs/YYYY-MM-DD-<topic>-design.md ← This skill's output
24
+ ```
25
+
26
+ Requirements are inline — no separate requirements.json needed.
27
+
28
+ ---
29
+
30
+ ## Lessons
31
+
32
+ These principles apply to every spec, every time.
33
+
34
+ ### "Too simple for a design" is an anti-pattern
35
+
36
+ Every project goes through this process. No exceptions. The five-minute conversation
37
+ often reveals assumptions that would cost hours in implementation. If it's truly trivial,
38
+ the spec will be short — but it still gets written.
39
+
40
+ ### Design for isolation and clarity
41
+
42
+ Break the system into units with one clear purpose each. Well-defined interfaces between
43
+ them. Each unit independently understandable and independently testable. If you can't
44
+ explain a unit's job in one sentence, it's doing too much.
45
+
46
+ ### Working in existing codebases
47
+
48
+ Explore the current structure first. Follow existing patterns. Targeted improvements only.
49
+ No unrelated refactoring. Understand why things are the way they are before proposing
50
+ changes.
51
+
52
+ ### Decomposition
53
+
54
+ If the request describes multiple independent subsystems, flag it immediately. Decompose
55
+ into sub-projects before diving into details. Each sub-project gets its own spec and its
56
+ own plan. A spec that tries to cover three subsystems helps no one.
57
+
58
+ ### YAGNI ruthlessly
59
+
60
+ Remove unnecessary features from all designs. If a capability isn't needed for the first
61
+ user story, it doesn't go in the spec. Every feature is a cost — to build, to test,
62
+ to maintain, to understand later. Push back on scope creep during discovery.
63
+
64
+ ---
65
+
66
+ ## Step 1: Orient
67
+
68
+ Before diving in, understand where you are.
69
+
70
+ 1. **Read project context** — AGENTS.md, README, existing architecture docs
71
+ 2. **Check existing specs** — Scan `docs/specs/` for previous work. What domain model
72
+ exists? What patterns are established? What has been built before?
73
+ 3. **Read recent specs** — What was the last thing built? Is this feature building
74
+ on existing work, extending it, or something greenfield?
75
+
76
+ This is silent — don't narrate it. Let the context inform where you focus.
77
+
78
+ ---
79
+
80
+ ## Step 2: Discovery
81
+
82
+ Ask questions to understand what to build. Skip this step if requirements are already
83
+ clear from context (existing specs, human provided details, etc.).
84
+
85
+ ### Interview style
86
+
87
+ Ask **one question at a time**. Multiple choice preferred when possible — give 2-4
88
+ concrete options rather than open-ended prompts. Keep the conversation moving.
89
+
90
+ **Good:** "Should this be real-time or batch-processed? (a) Real-time via WebSocket,
91
+ (b) Periodic polling every 30s, (c) On-demand when user requests it."
92
+
93
+ **Bad:** "How should the data synchronization work?"
94
+
95
+ ### When to skip discovery
96
+
97
+ - Human provides clear, detailed requirements
98
+ - Feature extends existing work with well-defined scope
99
+ - Human says "spec out X" and X is specific enough
100
+
101
+ ### Decomposition check
102
+
103
+ Before asking any detail questions, assess scope. If the request describes multiple
104
+ independent subsystems (e.g., "build a notification system with email, SMS, push, and
105
+ an admin dashboard"):
106
+
107
+ 1. **Flag it immediately:** "This looks like multiple independent projects. Let me
108
+ propose a decomposition."
109
+ 2. **Break it down:** Identify the subsystems and their dependencies.
110
+ 3. **Get agreement:** "Which of these should we spec first?"
111
+
112
+ Do not try to spec everything in one document.
113
+
114
+ ### YAGNI check
115
+
116
+ During discovery, push back on scope:
117
+
118
+ - "Do you need this in the first version, or is it a nice-to-have?"
119
+ - "Can we ship without this and add it later if needed?"
120
+ - "This feature adds significant complexity — is the use case real or hypothetical?"
121
+
122
+ If the human insists, include it — but flag the trade-off in the spec.
123
+
124
+ ### Discovery questions
125
+
126
+ Adapt these to context. Not all are needed every time.
127
+
128
+ 1. **What problem are we solving?** — Concrete problem statement, not solution description
129
+ 2. **Who has this problem?** — User roles
130
+ 3. **How do they solve it today?** — Current workflow and pain points
131
+ 4. **What does success look like?** — Measurable outcomes
132
+ 5. **What does this integrate with?** — Existing systems, APIs
133
+ 6. **What constraints exist?** — Technical, business, regulatory
134
+
135
+ If you already know answers from orientation, confirm rather than ask.
136
+
137
+ **Tell the human:** "Based on my research, here's my understanding of what we're building.
138
+ Does this look right?"
139
+
140
+ **STOP. Wait for human confirmation.**
141
+
142
+ ---
143
+
144
+ ## Step 3: Research
145
+
146
+ Read the relevant codebase deeply. Not signatures — implementations, edge cases, error
147
+ handling, data flows. Trace callers and callees. Read tests to understand expected
148
+ behaviour.
149
+
150
+ Write findings directly into the spec as the foundation.
151
+
152
+ **Tell the human:** "I've written the research section of the spec. Ready for you to
153
+ review before I continue with the design."
154
+
155
+ **STOP. Wait for human review.**
156
+
157
+ ---
158
+
159
+ ## Step 4: Design — Explore Approaches
160
+
161
+ Before settling on a design, present **2-3 approaches** with trade-offs.
162
+
163
+ ### Approach exploration
164
+
165
+ For each approach, address:
166
+
167
+ 1. **What it looks like** — Brief architecture sketch
168
+ 2. **Pros** — What makes this approach good
169
+ 3. **Cons** — What's painful, expensive, or risky
170
+ 4. **Complexity estimate** — Rough sense of implementation effort
171
+
172
+ Then make a recommendation and explain why.
173
+
174
+ **Example:**
175
+
176
+ > **Approach A: Single table with JSON columns**
177
+ > - Simple schema, fast to implement
178
+ > - Querying inside JSON is limited, migration pain later
179
+ > - Complexity: Low
180
+ >
181
+ > **Approach B: Normalized relational tables**
182
+ > - Clean queries, easy to evolve schema
183
+ > - More joins, more migration files, more code
184
+ > - Complexity: Medium
185
+ >
186
+ > **Recommendation:** Approach B — the query flexibility matters more here than
187
+ > implementation speed.
188
+
189
+ ### Design approval gate
190
+
191
+ Get explicit approval on the chosen approach before writing the full spec.
192
+
193
+ **Tell the human:** "Which approach should we go with? Or should I explore a different
194
+ direction?"
195
+
196
+ **STOP. Wait for human to choose an approach.**
197
+
198
+ ### Write the spec
199
+
200
+ Once an approach is chosen, write the full spec document.
201
+
202
+ Use the Skill tool to invoke **oracle-architect** for component design, domain modeling,
203
+ and layer boundaries.
204
+
205
+ ### What the spec should contain
206
+
207
+ ```markdown
208
+ # Feature Name
209
+
210
+ ## Problem
211
+ - What problem are we solving
212
+ - Who has this problem
213
+ - How they solve it today
214
+
215
+ ## Scope
216
+ - **In scope:** [specific capabilities]
217
+ - **Out of scope:** [explicitly deferred]
218
+
219
+ ## User Stories
220
+ - US-1: As a [role], I want [action], so that [benefit]
221
+ - Given X, when Y, then Z
222
+ - Priority: must/should/could
223
+
224
+ ## Constraints
225
+ - [Technical or business constraints]
226
+
227
+ ## Context
228
+ - What exists today, how it works end-to-end
229
+ - Existing patterns and conventions
230
+ - Dependencies and integration points
231
+ - Gotchas, assumptions, technical debt
232
+
233
+ ## Architecture
234
+ - Component structure (functional core / effectful edge)
235
+ - Domain model: entities, value objects, aggregates
236
+ - Where business logic lives, where IO lives
237
+
238
+ ## API Design
239
+ - Endpoints, request/response contracts
240
+ - Error handling approach
241
+ - Event contracts (published/consumed)
242
+
243
+ ## Data Model
244
+ - Schema design, access patterns
245
+ - Migrations needed
246
+
247
+ ## Trade-offs
248
+ - Alternatives considered
249
+ - Why this approach wins
250
+ - Known limitations
251
+
252
+ ## Open Questions
253
+ - Anything unresolved needing human input
254
+ ```
255
+
256
+ Scale each section to complexity — a few sentences if straightforward, detailed if
257
+ nuanced.
258
+
259
+ ### Reference implementations
260
+
261
+ If human provides reference code — from open source, from elsewhere in codebase — use it
262
+ as a concrete guide. Working from a reference produces dramatically better designs.
263
+
264
+ ---
265
+
266
+ ## Step 5: Self-Review
267
+
268
+ Before presenting the spec to the human, run this checklist silently:
269
+
270
+ ### 1. Placeholder scan
271
+
272
+ Are there any TBD, TODO, FIXME, or incomplete sections? Every section should have real
273
+ content or be removed.
274
+
275
+ ### 2. Internal consistency
276
+
277
+ Do sections contradict each other? If the Architecture section says "stateless" but the
278
+ Data Model includes session state, resolve the conflict before presenting.
279
+
280
+ ### 3. Scope check
281
+
282
+ Is this focused enough for a single implementation plan? If the spec covers more than
283
+ one independent subsystem, it should have been decomposed in Step 2. If it's still too
284
+ broad, flag it now.
285
+
286
+ ### 4. Ambiguity check
287
+
288
+ Could any requirement be interpreted two ways? If so, pick one interpretation, state it
289
+ explicitly, and let the human correct you.
290
+
291
+ Fix any issues found. Then present.
292
+
293
+ **Tell the human:** "The spec is complete. Ready for your review."
294
+
295
+ **STOP. Wait for human review.**
296
+
297
+ ---
298
+
299
+ ## Step 6: Annotation
300
+
301
+ Human may annotate the spec directly — adding corrections, rejections, domain knowledge,
302
+ or "remove this section entirely."
303
+
304
+ When they say "I added notes":
305
+
306
+ 1. Re-read the full document
307
+ 2. Address every note
308
+ 3. Update the spec
309
+ 4. Run the self-review checklist again (Step 5)
310
+ 5. **Do not move to planning**
311
+
312
+ This may repeat 1-6 times. Spec is not approved until human explicitly says so.
313
+
314
+ ---
315
+
316
+ ## Handoff
317
+
318
+ When the spec is approved, the next step is **spec-plan**.
319
+
320
+ > "Spec is approved. Ready to write the implementation plan?"
321
+
322
+ If planning reveals design flaws, loop back to research. See **spec-orchestrator**
323
+ for iteration patterns.
324
+
325
+ Do not start planning without explicit approval. Do not write code.
@@ -0,0 +1,159 @@
1
+ ---
2
+ name: spec-finish
3
+ description: >
4
+ Post-implementation completion workflow. Use after spec-implement completes to validate,
5
+ review, create stacked commits, and prepare for PR. Triggers when implementation is done,
6
+ when the user says "finish", "done", "complete", or after implementation tasks are finished.
7
+ user-invocable: true
8
+ ---
9
+
10
+ # Spec Finish
11
+
12
+ Post-implementation workflow: validate → review → stack commits → prepare PR.
13
+
14
+ ## Prerequisites
15
+
16
+ Before starting, verify:
17
+ 1. All implementation tasks complete
18
+ 2. Working directory is clean (committed or staged)
19
+ 3. Tests pass
20
+
21
+ If not complete → go back to spec-implement.
22
+
23
+ ---
24
+
25
+ ## Step 1: Validate
26
+
27
+ Run validation checks.
28
+
29
+ ### Test Suite
30
+ ```bash
31
+ npm test
32
+ # or
33
+ pytest
34
+ # or
35
+ cargo test
36
+ ```
37
+
38
+ ### Type Check
39
+ ```bash
40
+ npm run typecheck
41
+ # or
42
+ python -m mypy
43
+ # or
44
+ cargo check
45
+ ```
46
+
47
+ ### Lint
48
+ ```bash
49
+ npm run lint
50
+ # or
51
+ ruff check .
52
+ # or
53
+ cargo clippy
54
+ ```
55
+
56
+ ### Build
57
+ ```bash
58
+ npm run build
59
+ # or
60
+ go build ./...
61
+ ```
62
+
63
+ **If any fail:** Return to spec-implement to fix.
64
+
65
+ **If all pass:** Proceed.
66
+
67
+ ---
68
+
69
+ ## Step 2: Review
70
+
71
+ Use the Skill tool to invoke code-review skill for comprehensive code review.
72
+
73
+ ### What to Review
74
+ - All changed files since feature branch
75
+ - Test coverage
76
+ - Documentation updates
77
+ - No debug code left
78
+
79
+ ### If code-review finds issues
80
+ - Fix or note for follow-up
81
+ - Re-validate
82
+
83
+ ---
84
+
85
+ ## Step 3: Stack Commits
86
+
87
+ Use the Skill tool to invoke code-stacked-commit skill.
88
+
89
+ ### Workflow
90
+ 1. Review current stack: `gt stack`
91
+ 2. Ensure commits are organized logically
92
+ 3. Restack if needed: `gt branch restack`
93
+ 4. Ensure each commit is clean and functional
94
+
95
+ ### Commit Guidelines
96
+ - Each commit should pass tests
97
+ - Use conventional commit format
98
+ - Meaningful commit messages
99
+
100
+ ---
101
+
102
+ ## Step 4: Update Documentation
103
+
104
+ Optional - use code-docs skill if needed.
105
+
106
+ ### Check for Updates
107
+ - README changes needed?
108
+ - API documentation updated?
109
+ - Changelog updated?
110
+
111
+ ### If documentation needed
112
+ - Load code-docs
113
+ - Update relevant docs
114
+ - Commit with docs
115
+
116
+ ---
117
+
118
+ ## Step 5: Prepare for PR
119
+
120
+ ### Verify
121
+ - All tests passing
122
+ - All reviews complete
123
+ - Documentation updated
124
+ - Commits stacked properly
125
+
126
+ ### Summary for Human
127
+
128
+ ```
129
+ ## Completion Summary
130
+
131
+ **Feature:** [name]
132
+ **Tests:** [passed/failed]
133
+ **Type Check:** [passed/failed]
134
+ **Lint:** [passed/failed]
135
+ **Commits:** [N commits in stack]
136
+ **Ready for PR:** [yes/no]
137
+ ```
138
+
139
+ ### Handoff
140
+
141
+ > "Implementation complete. [N] commits stacked. Ready for [submit/open PR]."
142
+
143
+ ---
144
+
145
+ ## Integration
146
+
147
+ This skill orchestrates other skills:
148
+
149
+ - Invokes code-review for quality check
150
+ - Invokes code-stacked-commit for commit management
151
+ - Invokes code-docs if documentation needs updates
152
+
153
+ ---
154
+
155
+ ## When NOT to Use
156
+
157
+ - If implementation still in progress → use spec-implement
158
+ - If tests failing → go back to spec-implement
159
+ - If review found blocking issues → go back to spec-implement