@polymorphism-tech/morph-spec 4.8.18 → 4.9.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 (138) hide show
  1. package/CLAUDE.md +98 -0
  2. package/README.md +2 -2
  3. package/bin/morph-spec.js +15 -56
  4. package/bin/task-manager.js +115 -14
  5. package/bin/validate.js +67 -33
  6. package/claude-plugin.json +1 -1
  7. package/docs/CHEATSHEET.md +201 -203
  8. package/docs/QUICKSTART.md +2 -2
  9. package/framework/CLAUDE.md +21 -0
  10. package/framework/agents.json +758 -164
  11. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +1 -1
  12. package/framework/hooks/claude-code/post-tool-use/dispatch.js +2 -2
  13. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +155 -0
  14. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +1 -1
  15. package/framework/hooks/claude-code/session-start/inject-morph-context.js +71 -2
  16. package/framework/hooks/claude-code/statusline.py +76 -30
  17. package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +14 -6
  18. package/framework/hooks/shared/activity-logger.js +0 -24
  19. package/framework/hooks/shared/phase-utils.js +3 -0
  20. package/framework/hooks/shared/skill-reminder-helpers.js +79 -0
  21. package/framework/hooks/shared/stale-task-reset.js +57 -0
  22. package/framework/hooks/shared/state-reader.js +2 -2
  23. package/framework/hooks/shared/worktree-helpers.js +53 -0
  24. package/framework/phases.json +40 -8
  25. package/framework/skills/level-0-meta/brainstorming/SKILL.md +1 -1
  26. package/framework/skills/level-0-meta/code-review/SKILL.md +1 -1
  27. package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +163 -163
  28. package/framework/skills/level-0-meta/frontend-review/SKILL.md +5 -5
  29. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  30. package/framework/skills/level-0-meta/morph-init/SKILL.md +5 -5
  31. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +4 -4
  32. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +1 -1
  33. package/framework/skills/level-0-meta/post-implementation/SKILL.md +59 -12
  34. package/framework/skills/level-0-meta/simulation-checklist/SKILL.md +1 -1
  35. package/framework/skills/level-0-meta/terminal-title/SKILL.md +1 -1
  36. package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +1 -1
  37. package/framework/skills/level-0-meta/tool-usage-guide/references/tools-per-phase.md +6 -5
  38. package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +1 -1
  39. package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +215 -189
  40. package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +251 -251
  41. package/framework/skills/level-1-workflows/phase-design/SKILL.md +382 -365
  42. package/framework/skills/level-1-workflows/phase-implement/SKILL.md +492 -450
  43. package/framework/skills/level-1-workflows/phase-setup/SKILL.md +194 -190
  44. package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +270 -270
  45. package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +285 -285
  46. package/framework/standards/STANDARDS.json +640 -88
  47. package/framework/standards/infrastructure/vercel/vercel-database.md +106 -0
  48. package/framework/templates/REGISTRY.json +1825 -1909
  49. package/framework/templates/context/CONTEXT-FEATURE.md +276 -276
  50. package/framework/templates/docs/onboarding.md +1 -5
  51. package/framework/workflows/configs/nodejs-cli.json +40 -0
  52. package/package.json +2 -6
  53. package/src/commands/agents/dispatch-agents.js +55 -4
  54. package/src/commands/project/doctor.js +16 -47
  55. package/src/commands/project/init.js +1 -1
  56. package/src/commands/project/status.js +2 -2
  57. package/src/commands/project/update.js +381 -365
  58. package/src/commands/project/worktree.js +154 -0
  59. package/src/commands/state/advance-phase.js +120 -30
  60. package/src/commands/state/approve.js +2 -2
  61. package/src/commands/state/index.js +7 -8
  62. package/src/commands/state/phase-runner.js +1 -1
  63. package/src/commands/state/state.js +61 -6
  64. package/src/commands/tasks/task.js +78 -99
  65. package/src/commands/templates/template-render.js +93 -173
  66. package/src/commands/trust/trust.js +26 -21
  67. package/src/core/paths/output-schema.js +15 -0
  68. package/src/core/state/state-manager.js +28 -54
  69. package/src/core/workflows/workflow-detector.js +9 -87
  70. package/src/lib/phase-chain/phase-validator.js +330 -0
  71. package/src/lib/stack/stack-profile.js +88 -0
  72. package/src/lib/tasks/task-classifier.js +16 -0
  73. package/src/lib/tasks/test-runner.js +77 -0
  74. package/src/lib/trust/trust-manager.js +32 -144
  75. package/src/lib/validators/spec-validator.js +58 -4
  76. package/src/lib/validators/validation-runner.js +23 -11
  77. package/src/scripts/setup-infra.js +240 -224
  78. package/src/utils/agents-installer.js +2 -2
  79. package/src/utils/banner.js +1 -1
  80. package/src/utils/claude-settings-manager.js +1 -1
  81. package/src/utils/file-copier.js +1 -0
  82. package/src/utils/hooks-installer.js +258 -8
  83. package/framework/hooks/dev/check-sync-health.js +0 -117
  84. package/framework/hooks/dev/guard-version-numbers.js +0 -57
  85. package/framework/hooks/dev/sync-standards-registry.js +0 -60
  86. package/framework/hooks/dev/sync-template-registry.js +0 -60
  87. package/framework/hooks/dev/validate-skill-format.js +0 -70
  88. package/framework/hooks/dev/validate-standard-format.js +0 -73
  89. package/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
  90. package/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
  91. package/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
  92. package/framework/workflows/configs/design-impl.json +0 -49
  93. package/framework/workflows/configs/express.json +0 -45
  94. package/framework/workflows/configs/fast-track.json +0 -42
  95. package/framework/workflows/configs/full-morph.json +0 -79
  96. package/framework/workflows/configs/fusion.json +0 -39
  97. package/framework/workflows/configs/long-running.json +0 -33
  98. package/framework/workflows/configs/spec-only.json +0 -43
  99. package/framework/workflows/configs/ui-refresh.json +0 -49
  100. package/framework/workflows/configs/zero-touch.json +0 -82
  101. package/src/commands/project/monitor.js +0 -295
  102. package/src/commands/project/tutorial.js +0 -115
  103. package/src/commands/state/validate-phase.js +0 -238
  104. package/src/commands/templates/generate-contracts.js +0 -445
  105. package/src/core/orchestrator.js +0 -171
  106. package/src/core/registry/command-registry.js +0 -28
  107. package/src/core/registry/index.js +0 -8
  108. package/src/core/registry/validator-registry.js +0 -204
  109. package/src/core/templates/template-validator.js +0 -296
  110. package/src/generator/config-generator.js +0 -206
  111. package/src/generator/templates/config.json.template +0 -40
  112. package/src/generator/templates/project.md.template +0 -67
  113. package/src/lib/agents/micro-agent-factory.js +0 -161
  114. package/src/lib/analysis/complexity-analyzer.js +0 -441
  115. package/src/lib/analysis/index.js +0 -7
  116. package/src/lib/analytics/analytics-engine.js +0 -345
  117. package/src/lib/checkpoints/checkpoint-hooks.js +0 -298
  118. package/src/lib/checkpoints/index.js +0 -7
  119. package/src/lib/context/context-bundler.js +0 -241
  120. package/src/lib/context/context-optimizer.js +0 -212
  121. package/src/lib/context/context-tracker.js +0 -273
  122. package/src/lib/context/core-four-tracker.js +0 -201
  123. package/src/lib/context/mcp-optimizer.js +0 -200
  124. package/src/lib/execution/fusion-executor.js +0 -304
  125. package/src/lib/execution/parallel-executor.js +0 -270
  126. package/src/lib/hooks/stop-hook-executor.js +0 -286
  127. package/src/lib/hops/hop-composer.js +0 -221
  128. package/src/lib/phase-chain/eligibility-checker.js +0 -243
  129. package/src/lib/threads/thread-coordinator.js +0 -238
  130. package/src/lib/threads/thread-manager.js +0 -317
  131. package/src/lib/tracking/artifact-trail.js +0 -202
  132. package/src/scanner/project-scanner.js +0 -242
  133. package/src/ui/diff-display.js +0 -91
  134. package/src/ui/interactive-wizard.js +0 -96
  135. package/src/ui/user-review.js +0 -211
  136. package/src/ui/wizard-questions.js +0 -188
  137. package/src/utils/color-utils.js +0 -70
  138. package/src/utils/process-handler.js +0 -97
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: morph-init
2
+ name: morph:init
3
3
  description: >
4
4
  LLM-powered project initialization. Installs morph-spec infrastructure if
5
5
  needed, auto-installs required plugins (superpowers, context7), analyzes any
6
6
  project structure intelligently, generates rich context/README.md and
7
7
  config.json, and configures MCPs. Use once per project after installing
8
- @polymorphism-tech/morph-spec. Re-run with /morph-init refresh to update
8
+ @polymorphism-tech/morph-spec. Re-run with /morph:init refresh to update
9
9
  context as the project evolves.
10
10
  argument-hint: "[refresh]"
11
11
  user-invocable: true
@@ -15,7 +15,7 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
15
15
  # morph-init — LLM-Powered Project Initialization
16
16
 
17
17
  > Run once after `npm install @polymorphism-tech/morph-spec`.
18
- > Re-run as `/morph-init refresh` when your project evolves.
18
+ > Re-run as `/morph:init refresh` when your project evolves.
19
19
 
20
20
  ---
21
21
 
@@ -55,7 +55,7 @@ claude plugin install superpowers@claude-plugins-official
55
55
  claude plugin install context7@claude-plugins-official
56
56
  ```
57
57
 
58
- **If the command succeeds:** `✓ {plugin} installed. Restart Claude Code after /morph-init completes.`
58
+ **If the command succeeds:** `✓ {plugin} installed. Restart Claude Code after /morph:init completes.`
59
59
 
60
60
  **If the command fails:** Show this and **STOP** — do not continue:
61
61
 
@@ -63,7 +63,7 @@ claude plugin install context7@claude-plugins-official
63
63
  Plugin {plugin} could not be installed automatically.
64
64
  Run manually and restart Claude Code:
65
65
  claude plugin install {plugin}
66
- Then re-run /morph-init.
66
+ Then re-run /morph:init.
67
67
  ```
68
68
 
69
69
  Both `superpowers` and `context7` are required. Do not continue if either is missing.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: morph-replicate
2
+ name: morph:replicate
3
3
  description: Simplified workflow for converting HTML prototypes into functional Blazor components, extracting design patterns and mapping HTML elements to Fluent UI/MudBlazor equivalents. Use when an approved HTML prototype exists and needs conversion to Blazor without a full MORPH-SPEC spec pipeline.
4
4
  user-invocable: true
5
5
  argument-hint: "[feature-name] [prototype-path]"
@@ -14,12 +14,12 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
14
14
  ## Comando
15
15
 
16
16
  ```bash
17
- /morph-replicate {feature-name} {prototype-path}
17
+ /morph:replicate {feature-name} {prototype-path}
18
18
  ```
19
19
 
20
20
  **Exemplo:**
21
21
  ```bash
22
- /morph-replicate ui-redesign prototipo/
22
+ /morph:replicate ui-redesign prototipo/
23
23
  ```
24
24
 
25
25
  ---
@@ -154,7 +154,7 @@ Este workflow gera apenas:
154
154
  ## Exemplo de Execucao
155
155
 
156
156
  ```markdown
157
- /morph-replicate checkout-redesign prototipo/checkout/
157
+ /morph:replicate checkout-redesign prototipo/checkout/
158
158
 
159
159
  📁 Analisando prototipo em prototipo/checkout/...
160
160
 
@@ -1,7 +1,7 @@
1
1
  # HTML → Blazor Component Mapping Reference
2
2
 
3
3
  > Reference for converting HTML prototype elements to Fluent UI / MudBlazor equivalents.
4
- > Used during FASE 1 of the `/morph-replicate` workflow.
4
+ > Used during FASE 1 of the `/morph:replicate` workflow.
5
5
 
6
6
  ## Common Component Mappings
7
7
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: post-implementation
2
+ name: morph:post-implementation
3
3
  description: Orquestra o fluxo completo pós-implementação: detecção de stack,
4
4
  scans automáticos (C#/Next.js), testes, validate-feature, smoke test via
5
5
  Playwright (obrigatório se dev server ativo), checklist de code review por
@@ -49,20 +49,20 @@ Execute os scans automáticos conforme o stack detectado.
49
49
  ### Se DOTNET ou FULLSTACK:
50
50
 
51
51
  ```bash
52
- node .claude/skills/code-review/scripts/scan-csharp.mjs --diff
52
+ node .claude/skills/morph:code-review/scripts/scan-csharp.mjs --diff
53
53
  ```
54
54
 
55
55
  ### Se NEXTJS ou FULLSTACK:
56
56
 
57
57
  ```bash
58
- node .claude/skills/code-review-nextjs/scripts/scan-nextjs.mjs --diff
58
+ node .claude/skills/morph:code-review-nextjs/scripts/scan-nextjs.mjs --diff
59
59
  ```
60
60
 
61
61
  **🚫 BLOCK se qualquer finding CRITICAL encontrado.**
62
62
 
63
63
  Corrija todos os CRITICALs antes de continuar. Para revisar a lista completa de checks:
64
- - .NET: `/code-review`
65
- - Next.js: `/code-review-nextjs`
64
+ - .NET: `/morph:code-review`
65
+ - Next.js: `/morph:code-review-nextjs`
66
66
 
67
67
  ---
68
68
 
@@ -181,7 +181,7 @@ Não é possível prosseguir para criação de PR sem smoke test ou confirmaçã
181
181
 
182
182
  ## Step 6 — Code Review Checklist (CRITICAL + HIGH)
183
183
 
184
- > Antes de revisar, leia: `.claude/skills/code-review/references/review-guidelines.md` — aplique confidence ≥ 75, ignore violações pré-existentes, inclua file:line em cada finding.
184
+ > Antes de revisar, leia: `.claude/skills/morph:code-review/references/review-guidelines.md` — aplique confidence ≥ 75, ignore violações pré-existentes, inclua file:line em cada finding.
185
185
 
186
186
  Revise os itens mais importantes por stack. Para review completo, use os skills dedicados.
187
187
 
@@ -191,14 +191,14 @@ Dispatch dois subagents em paralelo (Task tool):
191
191
 
192
192
  **Subagent 1 — Backend Review:**
193
193
  > Revisor .NET focado. Escopo: APENAS arquivos .cs alterados (git diff main...HEAD).
194
- > Run: `node .claude/skills/code-review/scripts/scan-csharp.mjs --diff`
194
+ > Run: `node .claude/skills/morph:code-review/scripts/scan-csharp.mjs --diff`
195
195
  > Depois revisar manualmente itens CRITICAL+HIGH do checklist .NET.
196
196
  > Aplicar review-guidelines.md: confidence ≥ 75, skip pré-existentes.
197
197
  > Output: findings com file:line, ou "✅ Sem CRITICAL/HIGH em backend alterado."
198
198
 
199
199
  **Subagent 2 — Frontend Review:**
200
200
  > Revisor Next.js focado. Escopo: APENAS arquivos .tsx/.ts alterados (git diff main...HEAD).
201
- > Run: `node .claude/skills/code-review-nextjs/scripts/scan-nextjs.mjs --diff`
201
+ > Run: `node .claude/skills/morph:code-review-nextjs/scripts/scan-nextjs.mjs --diff`
202
202
  > Depois revisar manualmente itens CRITICAL+HIGH do checklist Next.js.
203
203
  > Aplicar review-guidelines.md: confidence ≥ 75, skip pré-existentes.
204
204
  > Output: findings com file:line, ou "✅ Sem CRITICAL/HIGH em frontend alterado."
@@ -222,14 +222,14 @@ Aguardar ambos. **🚫 BLOCK se algum retornar CRITICAL não resolvido.**
222
222
  [ ] DTOs com nomes descritivos + tipos corretos
223
223
  ```
224
224
 
225
- > Para lista completa: `/code-review`
225
+ > Para lista completa: `/morph:code-review`
226
226
 
227
227
  ### Se NEXTJS:
228
228
 
229
229
  **Itens CRITICAL e HIGH — Next.js:**
230
230
 
231
231
  ```
232
- [ ] node .claude/skills/code-review-nextjs/scripts/scan-nextjs.mjs --diff → 0 CRITICAL
232
+ [ ] node .claude/skills/morph:code-review-nextjs/scripts/scan-nextjs.mjs --diff → 0 CRITICAL
233
233
  [ ] File names em kebab-case (user-card.tsx, não UserCard.tsx)
234
234
  [ ] 'use client' apenas em componentes com hooks/event handlers
235
235
  [ ] Sem useEffect para data fetching → Server Component ou useQuery
@@ -241,7 +241,7 @@ Aguardar ambos. **🚫 BLOCK se algum retornar CRITICAL não resolvido.**
241
241
  [ ] Sem any type annotation
242
242
  ```
243
243
 
244
- > Para lista completa: `/code-review-nextjs`
244
+ > Para lista completa: `/morph:code-review-nextjs`
245
245
 
246
246
  **🚫 BLOCK se qualquer item CRITICAL não estiver resolvido.**
247
247
 
@@ -259,7 +259,52 @@ npx morph-spec generate recap $ARGUMENTS
259
259
 
260
260
  ---
261
261
 
262
- ## Step 8 — PR Suggestion
262
+ ## Step 8 — Finish Worktree
263
+
264
+ Implementation is complete. If the feature was developed in a morph worktree, finalize it now.
265
+
266
+ **Check if a worktree exists:**
267
+ ```bash
268
+ git worktree list | grep morph/
269
+ ```
270
+
271
+ **If a `morph/{feature}` worktree exists:**
272
+
273
+ Invoke the finishing-a-development-branch skill:
274
+ ```
275
+ Skill(superpowers:finishing-a-development-branch)
276
+ ```
277
+
278
+ This skill will:
279
+ 1. Verify tests pass
280
+ 2. Present 4 options:
281
+ - **Merge locally** → merge into base branch + delete worktree
282
+ - **Push and create PR** → push branch + create GitHub PR (keeps worktree)
283
+ - **Keep as-is** → no action (worktree preserved for later)
284
+ - **Discard** → delete branch + worktree (requires typed confirmation)
285
+ 3. Clean up worktree for options 1 and 4
286
+
287
+ **If NOT in a worktree** (legacy mode): skip this step and proceed to Step 9.
288
+
289
+ > **Note:** If the `superpowers` plugin is not installed, create the PR manually:
290
+ > `gh pr create --title "feat({feature}): <description>" --body "..."`
291
+
292
+ ---
293
+
294
+ ## Step 9 — Pre-PR Compliance Checklist
295
+
296
+ Antes de criar o PR, invoque o checklist de compliance:
297
+
298
+ ```
299
+ Skill(morph:checklist)
300
+ ```
301
+
302
+ Este skill verifica: segurança, SEO, performance, acessibilidade e conformidade LGPD.
303
+ **🚫 BLOCK se qualquer item CRITICAL não estiver resolvido.**
304
+
305
+ ---
306
+
307
+ ## Step 10 — PR Suggestion
263
308
 
264
309
  Quando todos os steps passarem, sugira o PR:
265
310
 
@@ -307,6 +352,8 @@ EOF
307
352
  | Step 5 | Dev server ativo + smoke test com falha |
308
353
  | Step 5 | Dev server não detectado sem confirmação explícita do usuário |
309
354
  | Step 6 | Qualquer item CRITICAL não resolvido no checklist manual |
355
+ | Step 8 | Tests failing in worktree before merge/PR |
356
+ | Step 9 | Item CRITICAL no `morph:checklist` não resolvido |
310
357
 
311
358
  **Todos os BLOCKs devem ser resolvidos antes de criar o PR.**
312
359
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: simulation-checklist
2
+ name: morph:simulation-checklist
3
3
  description: Checklist for implementing mock/simulation clients for external .NET services (AI APIs, payments, email). Use when setting up simulation mode without real API access, when creating fake service implementations for development/testing, or when debugging external service integrations.
4
4
  user-invocable: true
5
5
  allowed-tools: Read, Write, Edit, Bash, Glob, Grep
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: terminal-title
2
+ name: morph:terminal-title
3
3
  description: Manually set the terminal window title for the current task. Use when you need to override the automatic title set by the hook, or to set a specific descriptive title for the current work context.
4
4
  argument-hint: "[title]"
5
5
  user-invocable: true
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: tool-usage-guide
2
+ name: morph:tool-usage-guide
3
3
  description: Decision flowchart and per-phase reference for selecting the right Claude Code tool (Read, Grep, Glob, Bash, Task) or MCP tool in MORPH-SPEC workflows. Use when unsure which tool to use for a given action, when choosing between native tools and MCPs, or when deciding whether to use a subagent vs direct tools.
4
4
  user-invocable: true
5
5
  allowed-tools: Read, Write, Edit, Bash, Glob, Grep
@@ -17,7 +17,7 @@
17
17
  | Detect project stack | **Read** `.morph/framework/agents.json` → match keywords → **Bash** `npx morph-spec state add-agent` | agents.json is the source of truth |
18
18
  | Research external requirement | **WebSearch** | Current information needed |
19
19
  | Render proposal template | **Bash** `npx morph-spec template render docs/proposal ...` | CLI command |
20
- | Update state | **Bash** `npx morph-spec state mark-output ...` | CLI command |
20
+ | Update state | **Bash** `npx morph-spec state mark-output {feature} proposal` | CLI command |
21
21
 
22
22
  **MCPs used:** None typically. GitHub MCP if feature comes from an issue.
23
23
 
@@ -70,7 +70,7 @@
70
70
  | Search for design references | **WebSearch** + **WebFetch** | External inspiration |
71
71
  | Render UI templates | **Bash** `npx morph-spec template render docs/ui-mockups ...` | CLI command |
72
72
  | Generate design system from CSS | **Bash** `npx morph-spec generate design-system --scan` | CLI command |
73
- | Update state | **Bash** `npx morph-spec state mark-output ...` | CLI command |
73
+ | Update state | **Bash** `npx morph-spec state mark-output {feature} uiDesignSystem && npx morph-spec state mark-output {feature} uiMockups && npx morph-spec state mark-output {feature} uiComponents && npx morph-spec state mark-output {feature} uiFlows` | CLI command |
74
74
 
75
75
  **MCPs used:** Figma (design tokens), Playwright (live preview, page inspection), Context7 (component docs).
76
76
 
@@ -104,7 +104,7 @@
104
104
  | Render spec template | **Bash** `npx morph-spec template render docs/spec ...` | CLI command |
105
105
  | Render decisions template | **Bash** `npx morph-spec template render docs/decisions ...` | CLI command |
106
106
  | Create schema-analysis.md | **Write** to output directory | Document findings |
107
- | Update state | **Bash** `npx morph-spec state mark-output ...` | CLI command |
107
+ | Update state | **Bash** `npx morph-spec state mark-output {feature} schemaAnalysis && npx morph-spec state mark-output {feature} spec && npx morph-spec state mark-output {feature} contracts && npx morph-spec state mark-output {feature} decisions` | CLI command |
108
108
 
109
109
  **MCPs used:** Supabase (schema analysis), Context7 (library research), GitHub (code search).
110
110
 
@@ -133,7 +133,7 @@
133
133
  | Research edge case behavior | **WebSearch** | External knowledge for edge cases |
134
134
  | Update spec with clarifications | **Edit** spec.md | Preserve existing content, add sections |
135
135
  | Create clarifications.md | **Bash** `npx morph-spec template render docs/clarifications ...` | Use template |
136
- | Update state | **Bash** `npx morph-spec state mark-output ... clarifications` | CLI command |
136
+ | Update state | **Bash** `npx morph-spec state mark-output {feature} clarifications` | CLI command |
137
137
 
138
138
  **MCPs used:** Context7 (validate feasibility), GitHub (known issues).
139
139
 
@@ -159,6 +159,7 @@
159
159
  | Create GitHub issues from tasks | **GitHub MCP** `create_issue()` | Sync tasks to project management |
160
160
  | **Fallback:** Create issues via CLI | **Bash** `gh issue create ...` | When no GitHub MCP |
161
161
  | Render tasks template | **Bash** `npx morph-spec template render docs/tasks ...` | CLI command |
162
+ | Mark tasks output | **Bash** `npx morph-spec state mark-output {feature} tasks` | CLI command |
162
163
  | Update state with task count | **Bash** `npx morph-spec state set ... tasks.total N` | CLI command |
163
164
 
164
165
  **MCPs used:** Context7 (complexity estimation), GitHub (issue creation).
@@ -195,7 +196,7 @@
195
196
  | Smoke test feature no browser | **Playwright MCP** `browser_navigate()` + `browser_snapshot()` | Manual testing |
196
197
  | Verificar erros de console | **Playwright MCP** `browser_console_messages()` | Browser DevTools |
197
198
  | Screenshot para recap.md | **Playwright MCP** `browser_take_screenshot()` | Manual screenshot |
198
- | Update state | **Bash** `npx morph-spec state set ...` | CLI command |
199
+ | Mark recap output | **Bash** `npx morph-spec state mark-output {feature} recap` | CLI command |
199
200
 
200
201
  **MCPs used:** Supabase (migrations, RLS), Context7 (API lookup), GitHub (PRs), Playwright (smoke test, verification).
201
202
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: verification-before-completion
2
+ name: morph:verification-before-completion
3
3
  description: Phase-specific verification checklists and morph-spec validation commands for confirming MORPH-SPEC outputs are complete and correct. Use before marking any task done, before advancing to the next phase, before committing, or before creating PRs.
4
4
  user-invocable: true
5
5
  argument-hint: "[feature-name] [phase?]"