@polymorphism-tech/morph-spec 4.8.19 → 4.10.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 (214) hide show
  1. package/CLAUDE.md +21 -0
  2. package/README.md +2 -2
  3. package/bin/morph-spec.js +44 -55
  4. package/bin/task-manager.js +133 -20
  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 +99 -77
  10. package/framework/agents.json +734 -182
  11. package/framework/commands/commit.md +166 -0
  12. package/framework/commands/morph-apply.md +13 -2
  13. package/framework/commands/morph-archive.md +8 -2
  14. package/framework/commands/morph-infra.md +6 -0
  15. package/framework/commands/morph-preflight.md +6 -0
  16. package/framework/commands/morph-proposal.md +56 -7
  17. package/framework/commands/morph-status.md +6 -0
  18. package/framework/commands/morph-troubleshoot.md +6 -0
  19. package/framework/hooks/claude-code/notification/approval-reminder.js +3 -2
  20. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +1 -1
  21. package/framework/hooks/claude-code/post-tool-use/dispatch.js +155 -32
  22. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +78 -0
  23. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +8 -17
  24. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +16 -3
  25. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +4 -3
  26. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +4 -3
  27. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +60 -0
  28. package/framework/hooks/claude-code/session-start/inject-morph-context.js +124 -2
  29. package/framework/hooks/claude-code/session-start/post-compact-restore.js +41 -0
  30. package/framework/hooks/claude-code/statusline.py +76 -30
  31. package/framework/hooks/claude-code/stop/validate-completion.js +2 -15
  32. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +23 -5
  33. package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +14 -6
  34. package/framework/hooks/shared/activity-logger.js +0 -24
  35. package/framework/hooks/shared/compact-restore.js +100 -0
  36. package/framework/hooks/shared/dispatch-helpers.js +116 -0
  37. package/framework/hooks/shared/phase-utils.js +12 -5
  38. package/framework/hooks/shared/skill-reminder-helpers.js +79 -0
  39. package/framework/hooks/shared/stale-task-reset.js +57 -0
  40. package/framework/hooks/shared/state-reader.js +29 -5
  41. package/framework/hooks/shared/worktree-helpers.js +53 -0
  42. package/framework/phases.json +69 -14
  43. package/framework/rules/morph-workflow.md +88 -86
  44. package/framework/skills/level-0-meta/mcp-registry.json +86 -51
  45. package/framework/skills/level-0-meta/{brainstorming → morph-brainstorming}/SKILL.md +14 -17
  46. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  47. package/framework/skills/level-0-meta/{code-review → morph-code-review}/SKILL.md +2 -2
  48. package/framework/skills/level-0-meta/{code-review-nextjs → morph-code-review-nextjs}/SKILL.md +163 -163
  49. package/framework/skills/level-0-meta/{frontend-review → morph-frontend-review}/SKILL.md +9 -9
  50. package/framework/skills/level-0-meta/morph-init/SKILL.md +77 -12
  51. package/framework/skills/level-0-meta/{post-implementation → morph-post-implementation}/SKILL.md +62 -15
  52. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +5 -5
  53. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +1 -1
  54. package/framework/skills/level-0-meta/{simulation-checklist → morph-simulation-checklist}/SKILL.md +1 -1
  55. package/framework/skills/level-0-meta/{terminal-title → morph-terminal-title}/SKILL.md +2 -2
  56. package/framework/skills/level-0-meta/{tool-usage-guide → morph-tool-usage-guide}/SKILL.md +3 -4
  57. package/framework/skills/level-0-meta/{tool-usage-guide → morph-tool-usage-guide}/references/tools-per-phase.md +7 -7
  58. package/framework/skills/level-0-meta/{verification-before-completion → morph-verification-before-completion}/SKILL.md +2 -2
  59. package/framework/skills/level-0-meta/{verification-before-completion → morph-verification-before-completion}/scripts/check-phase-outputs.mjs +2 -2
  60. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +238 -0
  61. package/framework/skills/level-1-workflows/{phase-codebase-analysis → morph-phase-codebase-analysis}/SKILL.md +3 -3
  62. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +507 -0
  63. package/framework/skills/level-1-workflows/{phase-implement → morph-phase-implement}/SKILL.md +168 -27
  64. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/code-quality-reviewer-prompt.md +50 -0
  65. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +45 -0
  66. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +47 -0
  67. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +254 -0
  68. package/framework/skills/level-1-workflows/{phase-setup → morph-phase-setup}/SKILL.md +50 -3
  69. package/framework/skills/level-1-workflows/{phase-tasks → morph-phase-tasks}/SKILL.md +48 -11
  70. package/framework/skills/level-1-workflows/{phase-tasks → morph-phase-tasks}/scripts/validate-tasks.mjs +3 -3
  71. package/framework/skills/level-1-workflows/{phase-uiux → morph-phase-uiux}/SKILL.md +46 -11
  72. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +97 -0
  73. package/framework/standards/STANDARDS.json +640 -88
  74. package/framework/standards/infrastructure/vercel/vercel-database.md +106 -0
  75. package/framework/standards/integration/mcp/mcp-tools.md +25 -7
  76. package/framework/templates/REGISTRY.json +1825 -1909
  77. package/framework/templates/context/CONTEXT-FEATURE.md +276 -276
  78. package/framework/templates/docs/onboarding.md +3 -7
  79. package/package.json +2 -7
  80. package/src/commands/agents/dispatch-agents.js +104 -6
  81. package/src/commands/mcp/mcp-setup.js +39 -2
  82. package/src/commands/phase/phase-reset.js +74 -0
  83. package/src/commands/project/doctor.js +34 -51
  84. package/src/commands/project/init.js +1 -1
  85. package/src/commands/project/status.js +2 -2
  86. package/src/commands/project/update.js +381 -365
  87. package/src/commands/project/worktree.js +154 -0
  88. package/src/commands/scope/escalate.js +215 -0
  89. package/src/commands/state/advance-phase.js +132 -68
  90. package/src/commands/state/approve.js +2 -2
  91. package/src/commands/state/index.js +7 -8
  92. package/src/commands/state/phase-runner.js +1 -1
  93. package/src/commands/state/state.js +61 -6
  94. package/src/commands/task/expand.js +100 -0
  95. package/src/commands/tasks/task.js +78 -99
  96. package/src/commands/templates/template-render.js +93 -173
  97. package/src/commands/trust/trust.js +26 -21
  98. package/src/core/paths/output-schema.js +19 -3
  99. package/src/core/state/phase-state-machine.js +7 -4
  100. package/src/core/state/state-manager.js +32 -57
  101. package/src/core/workflows/workflow-detector.js +9 -87
  102. package/src/lib/detectors/claude-config-detector.js +93 -347
  103. package/src/lib/detectors/design-system-detector.js +189 -189
  104. package/src/lib/detectors/index.js +155 -57
  105. package/src/lib/generators/context-generator.js +2 -2
  106. package/src/lib/installers/mcp-installer.js +37 -5
  107. package/src/lib/phase-chain/phase-validator.js +336 -0
  108. package/src/lib/scope/impact-analyzer.js +106 -0
  109. package/src/lib/stack/stack-profile.js +88 -0
  110. package/src/lib/tasks/task-classifier.js +16 -0
  111. package/src/lib/tasks/task-parser.js +1 -1
  112. package/src/lib/tasks/test-runner.js +77 -0
  113. package/src/lib/trust/trust-manager.js +32 -144
  114. package/src/lib/validators/shared/emit-validator-dispatch.js +64 -0
  115. package/src/lib/validators/spec-validator.js +58 -4
  116. package/src/lib/validators/validation-runner.js +23 -11
  117. package/src/scripts/setup-infra.js +255 -224
  118. package/src/utils/agents-installer.js +34 -14
  119. package/src/utils/banner.js +1 -1
  120. package/src/utils/claude-settings-manager.js +1 -1
  121. package/src/utils/file-copier.js +1 -1
  122. package/src/utils/hooks-installer.js +272 -8
  123. package/framework/hooks/dev/check-sync-health.js +0 -117
  124. package/framework/hooks/dev/guard-version-numbers.js +0 -57
  125. package/framework/hooks/dev/sync-standards-registry.js +0 -60
  126. package/framework/hooks/dev/sync-template-registry.js +0 -60
  127. package/framework/hooks/dev/validate-skill-format.js +0 -70
  128. package/framework/hooks/dev/validate-standard-format.js +0 -73
  129. package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +0 -190
  130. package/framework/skills/level-1-workflows/phase-design/SKILL.md +0 -366
  131. package/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
  132. package/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
  133. package/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
  134. package/framework/workflows/configs/design-impl.json +0 -49
  135. package/framework/workflows/configs/express.json +0 -45
  136. package/framework/workflows/configs/fast-track.json +0 -42
  137. package/framework/workflows/configs/full-morph.json +0 -79
  138. package/framework/workflows/configs/fusion.json +0 -39
  139. package/framework/workflows/configs/long-running.json +0 -33
  140. package/framework/workflows/configs/spec-only.json +0 -43
  141. package/framework/workflows/configs/ui-refresh.json +0 -49
  142. package/framework/workflows/configs/zero-touch.json +0 -82
  143. package/src/commands/project/index.js +0 -8
  144. package/src/commands/project/monitor.js +0 -295
  145. package/src/commands/project/tutorial.js +0 -115
  146. package/src/commands/state/validate-phase.js +0 -238
  147. package/src/commands/templates/generate-contracts.js +0 -445
  148. package/src/core/index.js +0 -10
  149. package/src/core/orchestrator.js +0 -171
  150. package/src/core/registry/command-registry.js +0 -28
  151. package/src/core/registry/index.js +0 -8
  152. package/src/core/registry/validator-registry.js +0 -204
  153. package/src/core/state/index.js +0 -8
  154. package/src/core/templates/index.js +0 -9
  155. package/src/core/templates/template-data-sources.js +0 -325
  156. package/src/core/templates/template-validator.js +0 -296
  157. package/src/core/workflows/index.js +0 -7
  158. package/src/generator/config-generator.js +0 -206
  159. package/src/generator/templates/config.json.template +0 -40
  160. package/src/generator/templates/project.md.template +0 -67
  161. package/src/lib/agents/micro-agent-factory.js +0 -161
  162. package/src/lib/analysis/complexity-analyzer.js +0 -441
  163. package/src/lib/analysis/index.js +0 -7
  164. package/src/lib/analytics/analytics-engine.js +0 -345
  165. package/src/lib/checkpoints/checkpoint-hooks.js +0 -298
  166. package/src/lib/checkpoints/index.js +0 -7
  167. package/src/lib/context/context-bundler.js +0 -241
  168. package/src/lib/context/context-optimizer.js +0 -212
  169. package/src/lib/context/context-tracker.js +0 -273
  170. package/src/lib/context/core-four-tracker.js +0 -201
  171. package/src/lib/context/mcp-optimizer.js +0 -200
  172. package/src/lib/detectors/config-detector.js +0 -223
  173. package/src/lib/detectors/standards-generator.js +0 -335
  174. package/src/lib/detectors/structure-detector.js +0 -275
  175. package/src/lib/execution/fusion-executor.js +0 -304
  176. package/src/lib/execution/parallel-executor.js +0 -270
  177. package/src/lib/hooks/stop-hook-executor.js +0 -286
  178. package/src/lib/hops/hop-composer.js +0 -221
  179. package/src/lib/monitor/agent-resolver.js +0 -144
  180. package/src/lib/monitor/renderer.js +0 -230
  181. package/src/lib/orchestration/index.js +0 -7
  182. package/src/lib/orchestration/team-orchestrator.js +0 -404
  183. package/src/lib/phase-chain/eligibility-checker.js +0 -243
  184. package/src/lib/threads/thread-coordinator.js +0 -238
  185. package/src/lib/threads/thread-manager.js +0 -317
  186. package/src/lib/tracking/artifact-trail.js +0 -202
  187. package/src/sanitizer/context-sanitizer.js +0 -221
  188. package/src/sanitizer/patterns.js +0 -163
  189. package/src/scanner/project-scanner.js +0 -242
  190. package/src/ui/diff-display.js +0 -91
  191. package/src/ui/interactive-wizard.js +0 -96
  192. package/src/ui/user-review.js +0 -211
  193. package/src/ui/wizard-questions.js +0 -188
  194. package/src/utils/color-utils.js +0 -70
  195. package/src/utils/process-handler.js +0 -97
  196. package/src/writer/file-writer.js +0 -86
  197. /package/framework/skills/level-0-meta/{brainstorming → morph-brainstorming}/references/proposal-example.md +0 -0
  198. /package/framework/skills/level-0-meta/{code-review → morph-code-review}/references/review-example.md +0 -0
  199. /package/framework/skills/level-0-meta/{code-review → morph-code-review}/references/review-guidelines.md +0 -0
  200. /package/framework/skills/level-0-meta/{code-review → morph-code-review}/scripts/scan-csharp.mjs +0 -0
  201. /package/framework/skills/level-0-meta/{code-review-nextjs → morph-code-review-nextjs}/references/review-example-nextjs.md +0 -0
  202. /package/framework/skills/level-0-meta/{code-review-nextjs → morph-code-review-nextjs}/scripts/scan-nextjs.mjs +0 -0
  203. /package/framework/skills/level-0-meta/{frontend-review → morph-frontend-review}/scripts/scan-accessibility.mjs +0 -0
  204. /package/framework/skills/level-0-meta/{post-implementation → morph-post-implementation}/scripts/detect-dev-server.mjs +0 -0
  205. /package/framework/skills/level-0-meta/{post-implementation → morph-post-implementation}/scripts/detect-stack.mjs +0 -0
  206. /package/framework/skills/level-0-meta/{terminal-title → morph-terminal-title}/scripts/set_title.sh +0 -0
  207. /package/framework/skills/level-1-workflows/{phase-clarify → morph-phase-clarify}/references/clarifications-example.md +0 -0
  208. /package/framework/skills/level-1-workflows/{phase-design → morph-phase-design}/references/architecture-analysis-guide.md +0 -0
  209. /package/framework/skills/level-1-workflows/{phase-design → morph-phase-design}/references/spec-authoring-guide.md +0 -0
  210. /package/framework/skills/level-1-workflows/{phase-design → morph-phase-design}/references/spec-example.md +0 -0
  211. /package/framework/skills/level-1-workflows/{phase-implement → morph-phase-implement}/references/recap-example.md +0 -0
  212. /package/framework/skills/level-1-workflows/{phase-implement → morph-phase-implement}/references/vsa-implementation-guide.md +0 -0
  213. /package/framework/skills/level-1-workflows/{phase-tasks → morph-phase-tasks}/references/task-planning-patterns.md +0 -0
  214. /package/framework/skills/level-1-workflows/{phase-tasks → morph-phase-tasks}/references/tasks-example.md +0 -0
@@ -1,86 +1,88 @@
1
- # MORPH-SPEC Workflow Rules
2
-
3
- > Always-active rules for all MORPH-SPEC managed projects.
4
-
5
- ---
6
-
7
- ## Spec-First Mandate
8
-
9
- **NEVER skip to code without a specification.** Every feature must progress through phases:
10
-
11
- 1. **Proposal** — User story + acceptance criteria (`0-proposal/proposal.md`)
12
- 2. **Design** — Technical spec + C# contracts + decisions (`1-design/`)
13
- 3. **Tasks** — Atomic task list (`3-tasks/tasks.md`)
14
- 4. **Implement** — Code + recap (`4-implement/recap.md`)
15
-
16
- UI-heavy features also include **UI/UX** phase (`2-ui/`) between Design and Tasks.
17
-
18
- ---
19
-
20
- ## Phase Commands
21
-
22
- | Command | Purpose |
23
- |---------|---------|
24
- | `/morph-proposal {feature}` | Full spec pipeline (phases 1–4, pauses for approval) |
25
- | `/morph-apply {feature}` | Implement feature (phase 5) |
26
- | `/morph-status` | Feature dashboard |
27
-
28
- ---
29
-
30
- ## Output Paths
31
-
32
- All outputs go in `.morph/features/{feature}/`:
33
-
34
- | Phase | Path |
35
- |-------|------|
36
- | Proposal | `0-proposal/proposal.md` |
37
- | Spec | `1-design/spec.md` |
38
- | Contracts | `1-design/contracts.cs` |
39
- | Decisions | `1-design/decisions.md` |
40
- | UI Design | `2-ui/design-system.md`, `mockups.md`, `components.md`, `flows.md` |
41
- | Tasks | `3-tasks/tasks.md` |
42
- | Recap | `4-implement/recap.md` |
43
-
44
- ---
45
-
46
- ## Checkpoints
47
-
48
- Run a checkpoint every 3 completed tasks:
49
- - Validate architecture compliance
50
- - Check package versions
51
- - Scan for security issues
52
- - Verify design system adherence (UI features)
53
-
54
- ---
55
-
56
- ## Approval Gates
57
-
58
- **Design Gate:** Before moving from Design → Tasks, spec must be approved.
59
- **Implementation Gate:** Before starting implementation, task list must be approved.
60
-
61
- Check approval status: `morph-spec approval-status {feature}`
62
-
63
- ---
64
-
65
- ## Protected Files
66
-
67
- **NEVER directly edit:**
68
- - `.morph/state.json` — Managed by CLI only
69
- - `.morph/framework/**` — Read-only framework content
70
-
71
- ---
72
-
73
- ## Test File Policy
74
-
75
- When a test fails, always follow this order:
76
-
77
- 1. **Analyze first** determine if the IMPLEMENTATION is wrong or the TEST SPEC is wrong
78
- 2. **Fix implementation first** — the test is the spec; trust it by default
79
- 3. **Only modify a test file if the test expectation itself is incorrect** wrong expected value, wrong behavior modeled
80
- 4. **Before modifying any test file, explain WHY the test spec is wrong** — what the correct behavior is and why the test doesn't model it
81
-
82
- Do not modify test files to make a failing test pass when the implementation is the actual problem.
83
-
84
- ---
85
-
86
- *MORPH-SPEC by Polymorphism Tech*
1
+ # MORPH-SPEC Workflow Rules
2
+
3
+ > Always-active rules for all MORPH-SPEC managed projects.
4
+
5
+ ---
6
+
7
+ ## Spec-First Mandate
8
+
9
+ **NEVER skip to code without a specification.** Every feature must progress through phases:
10
+
11
+ 1. **Proposal** — User story + acceptance criteria (`0-proposal/proposal.md`)
12
+ 2. **Design** — Technical spec + C# contracts + decisions (`1-design/`)
13
+ 3. **Plan** — Detailed implementation plan (`3-plan/plan.md`)
14
+ 4. **Tasks** — Atomic task list (`4-tasks/tasks.md`)
15
+ 5. **Implement** — Code + recap (`5-implement/recap.md`)
16
+
17
+ UI-heavy features also include **UI/UX** phase (`2-ui/`) between Design and Tasks.
18
+
19
+ ---
20
+
21
+ ## Phase Commands
22
+
23
+ | Command | Purpose |
24
+ |---------|---------|
25
+ | `/morph-proposal {feature}` | Full spec pipeline (phases 1–4, pauses for approval) |
26
+ | `/morph-apply {feature}` | Implement feature (phase 5) |
27
+ | `/morph-status` | Feature dashboard |
28
+
29
+ ---
30
+
31
+ ## Output Paths
32
+
33
+ All outputs go in `.morph/features/{feature}/`:
34
+
35
+ | Phase | Path |
36
+ |-------|------|
37
+ | Proposal | `0-proposal/proposal.md` |
38
+ | Spec | `1-design/spec.md` |
39
+ | Contracts | `1-design/contracts.cs` |
40
+ | Decisions | `1-design/decisions.md` |
41
+ | UI Design | `2-ui/design-system.md`, `mockups.md`, `components.md`, `flows.md` |
42
+ | Plan | `3-plan/plan.md` |
43
+ | Tasks | `4-tasks/tasks.md` |
44
+ | Recap | `5-implement/recap.md` |
45
+
46
+ ---
47
+
48
+ ## Checkpoints
49
+
50
+ Run a checkpoint every 3 completed tasks:
51
+ - Validate architecture compliance
52
+ - Check package versions
53
+ - Scan for security issues
54
+ - Verify design system adherence (UI features)
55
+
56
+ ---
57
+
58
+ ## Approval Gates
59
+
60
+ **Design Gate:** Before moving from Design → Tasks, spec must be approved.
61
+ **Implementation Gate:** Before starting implementation, task list must be approved.
62
+
63
+ Check approval status: `morph-spec approval-status {feature}`
64
+
65
+ ---
66
+
67
+ ## Protected Files
68
+
69
+ **NEVER directly edit:**
70
+ - `.morph/state.json` — Managed by CLI only
71
+ - `.morph/framework/**` — Read-only framework content
72
+
73
+ ---
74
+
75
+ ## Test File Policy
76
+
77
+ When a test fails, always follow this order:
78
+
79
+ 1. **Analyze first** determine if the IMPLEMENTATION is wrong or the TEST SPEC is wrong
80
+ 2. **Fix implementation first** the test is the spec; trust it by default
81
+ 3. **Only modify a test file if the test expectation itself is incorrect** — wrong expected value, wrong behavior modeled
82
+ 4. **Before modifying any test file, explain WHY the test spec is wrong** — what the correct behavior is and why the test doesn't model it
83
+
84
+ Do not modify test files to make a failing test pass when the implementation is the actual problem.
85
+
86
+ ---
87
+
88
+ *MORPH-SPEC by Polymorphism Tech*
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.0",
2
+ "version": "4.0.0",
3
3
  "description": "Centralized MCP registry with phase relevance and install configuration for morph-spec workflows",
4
4
  "mcps": {
5
5
  "context7": {
@@ -8,8 +8,16 @@
8
8
  "detection": "enabledPlugins includes context7 or mcpServers includes context7",
9
9
  "fallback": "WebSearch + WebFetch for library documentation",
10
10
  "usage": "Library documentation lookups, API reference, implementation patterns",
11
+ "healthCheck": {
12
+ "toolPattern": "context7",
13
+ "testCall": "Call resolve-library-id with libraryName 'react' and query 'react hooks'",
14
+ "testParams": { "libraryName": "react", "query": "react hooks" },
15
+ "successIndicator": "Returns a library ID (e.g., /facebook/react)",
16
+ "failureHint": "Context7 MCP not responding. Check that @upstash/context7-mcp is installed and the MCP server is running. Try restarting Claude Code."
17
+ },
11
18
  "install": {
12
19
  "autoInstall": true,
20
+ "transport": "stdio",
13
21
  "config": {
14
22
  "command": "cmd",
15
23
  "args": ["/c", "npx", "-y", "@upstash/context7-mcp@latest"]
@@ -27,8 +35,16 @@
27
35
  "detection": "mcpServers includes playwright",
28
36
  "fallback": "WebFetch for read-only page content, manual testing",
29
37
  "usage": "UI preview, smoke testing, page inspection, responsive testing, screenshot capture",
38
+ "healthCheck": {
39
+ "toolPattern": "playwright",
40
+ "testCall": "Call browser_navigate with url 'about:blank'",
41
+ "testParams": { "url": "about:blank" },
42
+ "successIndicator": "Page navigates successfully (no error thrown)",
43
+ "failureHint": "Playwright MCP not responding. Ensure @playwright/mcp is installed and browser binaries are available. Run 'npx playwright install' if needed."
44
+ },
30
45
  "install": {
31
46
  "autoInstall": true,
47
+ "transport": "stdio",
32
48
  "config": {
33
49
  "command": "cmd",
34
50
  "args": ["/c", "npx", "-y", "@playwright/mcp@latest"]
@@ -46,34 +62,25 @@
46
62
  "detection": "mcpServers includes supabase",
47
63
  "fallback": "Grep query files + Read type definitions for schema inference",
48
64
  "usage": "Schema analysis, migrations, RLS policies, data operations",
65
+ "healthCheck": {
66
+ "toolPattern": "supabase",
67
+ "testCall": "Call list_tables with no parameters",
68
+ "testParams": {},
69
+ "successIndicator": "Returns a list of tables (even if empty)",
70
+ "failureHint": "Supabase MCP not responding. If using remote mode, re-authenticate via /mcp in Claude Code. If using local mode, verify SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY in .claude/settings.local.json."
71
+ },
49
72
  "install": {
50
73
  "autoInstall": false,
74
+ "transport": "http",
51
75
  "config": {
52
- "command": "cmd",
53
- "args": ["/c", "npx", "-y", "@supabase/mcp-server-supabase"],
54
- "env": {
55
- "SUPABASE_URL": "",
56
- "SUPABASE_SERVICE_ROLE_KEY": ""
57
- }
76
+ "type": "http",
77
+ "url": "https://mcp.supabase.com/mcp"
58
78
  },
59
- "credentials": [
60
- {
61
- "name": "Supabase Project URL",
62
- "envVar": "SUPABASE_URL",
63
- "secret": false,
64
- "helpUrl": "https://supabase.com/dashboard/project/_/settings/api"
65
- },
66
- {
67
- "name": "Service Role Key",
68
- "envVar": "SUPABASE_SERVICE_ROLE_KEY",
69
- "secret": true,
70
- "helpUrl": "https://supabase.com/dashboard/project/_/settings/api"
71
- }
72
- ],
79
+ "credentials": [],
73
80
  "prerequisites": [],
74
81
  "stackRelevance": ["nextjs-supabase", "supabase", "nextjs"],
75
- "warnings": ["NEVER connect to PRODUCTION databases. Use local/dev environment only."],
76
- "setupGuide": null
82
+ "warnings": ["Uses OAuth — you will be prompted to authenticate via browser when first connecting.", "NEVER connect to PRODUCTION databases. Use local/dev environment only."],
83
+ "setupGuide": "Run: claude mcp add --transport http supabase https://mcp.supabase.com/mcp"
77
84
  }
78
85
  },
79
86
  "github": {
@@ -82,11 +89,19 @@
82
89
  "detection": "mcpServers includes github",
83
90
  "fallback": "Bash `gh` CLI commands",
84
91
  "usage": "Repo metadata, code search, issue creation, PR management",
92
+ "healthCheck": {
93
+ "toolPattern": "github",
94
+ "testCall": "Call any read-only GitHub tool (e.g., search_repositories or get_repo) to verify connectivity",
95
+ "testParams": {},
96
+ "successIndicator": "Returns repository data or search results without auth errors",
97
+ "failureHint": "GitHub MCP not responding. If using Docker, ensure Docker Desktop is running. Verify GITHUB_PERSONAL_ACCESS_TOKEN env var is set. Ensure the token has not expired and has the required scopes (repo, read:org)."
98
+ },
85
99
  "install": {
86
100
  "autoInstall": false,
101
+ "transport": "stdio",
87
102
  "config": {
88
- "command": "cmd",
89
- "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-github"],
103
+ "command": "docker",
104
+ "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
90
105
  "env": {
91
106
  "GITHUB_PERSONAL_ACCESS_TOKEN": ""
92
107
  }
@@ -99,39 +114,43 @@
99
114
  "helpUrl": "https://github.com/settings/tokens"
100
115
  }
101
116
  ],
102
- "prerequisites": [],
117
+ "prerequisites": [
118
+ {
119
+ "name": "Docker",
120
+ "checkCommand": "docker --version",
121
+ "installUrl": "https://docs.docker.com/get-docker/"
122
+ }
123
+ ],
103
124
  "stackRelevance": ["*"],
104
125
  "warnings": [],
105
- "setupGuide": null
126
+ "setupGuide": "Official GitHub MCP Server (github/github-mcp-server). Requires Docker."
106
127
  }
107
128
  },
108
- "figma": {
109
- "phases": ["uiux"],
110
- "tools": ["get_file"],
111
- "detection": "mcpServers includes figma",
112
- "fallback": "Read CSS/SCSS files for existing design tokens",
113
- "usage": "Design token extraction, component specs, color/typography from Figma files",
129
+ "vercel": {
130
+ "phases": ["implement"],
131
+ "tools": ["search_docs", "list_projects", "get_deployments", "get_deployment_logs", "manage_env_vars"],
132
+ "detection": "mcpServers includes vercel",
133
+ "fallback": "Bash `vercel` CLI commands",
134
+ "usage": "Deployment monitoring, project management, environment variables, log analysis",
135
+ "healthCheck": {
136
+ "toolPattern": "vercel",
137
+ "testCall": "Call search_docs with a query to verify connectivity",
138
+ "testParams": { "query": "deployments" },
139
+ "successIndicator": "Returns documentation search results without auth errors",
140
+ "failureHint": "Vercel MCP not responding. Re-authenticate via /mcp in Claude Code. Ensure you have authorized the Vercel OAuth connection."
141
+ },
114
142
  "install": {
115
143
  "autoInstall": false,
144
+ "transport": "http",
116
145
  "config": {
117
- "command": "cmd",
118
- "args": ["/c", "npx", "-y", "@anthropic/mcp-server-figma"],
119
- "env": {
120
- "FIGMA_ACCESS_TOKEN": ""
121
- }
146
+ "type": "http",
147
+ "url": "https://mcp.vercel.com"
122
148
  },
123
- "credentials": [
124
- {
125
- "name": "Figma Access Token",
126
- "envVar": "FIGMA_ACCESS_TOKEN",
127
- "secret": true,
128
- "helpUrl": "https://www.figma.com/developers/api#access-tokens"
129
- }
130
- ],
149
+ "credentials": [],
131
150
  "prerequisites": [],
132
- "stackRelevance": ["blazor", "nextjs", "react", "vue"],
133
- "warnings": [],
134
- "setupGuide": null
151
+ "stackRelevance": ["nextjs", "nextjs-supabase", "vercel"],
152
+ "warnings": ["Uses OAuth — you will be prompted to authenticate via browser when first connecting."],
153
+ "setupGuide": "Run: claude mcp add --transport http vercel https://mcp.vercel.com"
135
154
  }
136
155
  },
137
156
  "docker": {
@@ -140,8 +159,16 @@
140
159
  "detection": "mcpServers includes docker",
141
160
  "fallback": "Bash `docker` CLI commands",
142
161
  "usage": "Container management, build and run containers",
162
+ "healthCheck": {
163
+ "toolPattern": "docker",
164
+ "testCall": "Call any read-only Docker tool to verify Docker daemon connectivity",
165
+ "testParams": {},
166
+ "successIndicator": "Tool responds without connection errors (Docker daemon is reachable)",
167
+ "failureHint": "Docker MCP not responding. Ensure Docker Desktop is running and the Docker daemon is accessible. Run 'docker info' to verify."
168
+ },
143
169
  "install": {
144
170
  "autoInstall": false,
171
+ "transport": "stdio",
145
172
  "config": {
146
173
  "command": "cmd",
147
174
  "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-docker"]
@@ -165,8 +192,16 @@
165
192
  "detection": "mcpServers includes azure",
166
193
  "fallback": "Bash `az` CLI commands",
167
194
  "usage": "Cloud resource management, deployment",
195
+ "healthCheck": {
196
+ "toolPattern": "azure",
197
+ "testCall": "Call any read-only Azure tool to verify credentials and connectivity",
198
+ "testParams": {},
199
+ "successIndicator": "Tool responds without authentication or subscription errors",
200
+ "failureHint": "Azure MCP not responding. Verify AZURE_SUBSCRIPTION_ID in .claude/settings.local.json and ensure 'az login' has been run. Check that Azure CLI is installed with 'az --version'."
201
+ },
168
202
  "install": {
169
203
  "autoInstall": false,
204
+ "transport": "stdio",
170
205
  "config": {
171
206
  "command": "cmd",
172
207
  "args": ["/c", "npx", "-y", "@azure/mcp-server"],
@@ -198,10 +233,10 @@
198
233
  "phaseMatrix": {
199
234
  "proposal": ["context7"],
200
235
  "setup": ["github"],
201
- "uiux": ["playwright", "figma", "context7"],
236
+ "uiux": ["playwright", "context7"],
202
237
  "design": ["supabase", "context7", "github"],
203
238
  "clarify": ["context7", "github"],
204
239
  "tasks": ["context7", "github"],
205
- "implement": ["supabase", "context7", "playwright", "github", "docker", "azure"]
240
+ "implement": ["supabase", "context7", "playwright", "github", "vercel", "docker", "azure"]
206
241
  }
207
242
  }
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: brainstorming
2
+ name: morph:brainstorming
3
3
  description: Morph-spec-aware brainstorming that loads project context, explores multiple design approaches, asks clarifying questions, and produces proposal.md or decisions.md. Use before designing a feature, when facing architectural decisions with multiple valid approaches, or when a feature needs requirements exploration before committing to a direction.
4
4
  user-invocable: true
5
5
  argument-hint: "[feature-name or topic]"
@@ -53,26 +53,23 @@ Read: .morph/features/{feature}/0-proposal/proposal.md
53
53
 
54
54
  ### Step 2: Ask Clarifying Questions
55
55
 
56
- Generate **3-5 focused questions** for the user:
56
+ Use `AskUserQuestion` to collect responses — **NEVER list questions as plain text**.
57
57
 
58
- ```markdown
59
- ### Q1: Scope
60
- What is the minimum viable version of this feature?
61
-
62
- ### Q2: Constraints
63
- Are there performance/budget/timeline constraints?
58
+ - Máximo 4 perguntas por chamada. Se precisar de 5, faça 2 chamadas sequenciais (Q1-Q4 → Q5).
59
+ - Para cada pergunta, defina 2-4 opções representativas (o usuário pode usar "Other" para resposta livre).
60
+ - **Aguarde o retorno do tool antes de prosseguir para o Step 3.**
64
61
 
65
- ### Q3: Integration
66
- Does this need to integrate with existing features?
62
+ Perguntas-padrão a adaptar para o contexto da feature:
67
63
 
68
- ### Q4: Users
69
- Who are the primary users of this feature?
70
-
71
- ### Q5: Success Criteria
72
- How will we know this feature is working correctly?
73
- ```
64
+ | Header (≤12 chars) | Pergunta | Opções sugeridas |
65
+ |--------------------|----------|------------------|
66
+ | `Escopo` | Qual é a versão mínima viável desta feature? | MVP básico / Versão completa / Em aberto |
67
+ | `Constraints` | Há restrições de performance, budget ou prazo? | Sem restrições / Performance crítica / Budget limitado |
68
+ | `Integração` | Precisa integrar com features ou sistemas existentes? | Sim, integra com X / Feature isolada / A definir |
69
+ | `Usuários` | Quem são os usuários primários? | End-users / Admins / Sistema interno |
70
+ | `Sucesso` | Como saberemos que a feature funciona corretamente? | Métricas definidas / Testes de aceitação / Feedback do usuário |
74
71
 
75
- **Wait for user responses before proceeding.**
72
+ > Adapte as opções ao contexto real da feature — as acima são ponto de partida, não template fixo.
76
73
 
77
74
  ### Step 3: Generate 2-3 Approaches
78
75
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: morph-checklist
2
+ name: morph:checklist
3
3
  description: Pre-deploy, security, SEO, performance, accessibility, and LGPD compliance checklists for MORPH-SPEC projects. Use before deploying to production, during security audits, when optimizing for SEO or performance, or when validating Brazilian LGPD data protection compliance.
4
4
  user-invocable: true
5
5
  allowed-tools: Read, Write, Edit, Bash, Glob, Grep
@@ -7,7 +7,7 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
7
7
 
8
8
  # MORPH Checklists
9
9
 
10
- Types: `deploy`, `security`, `seo`, `performance`, `accessibility`, `legal-brazil`, `simulation` (ver skill: `simulation-checklist`)
10
+ Types: `deploy`, `security`, `seo`, `performance`, `accessibility`, `legal-brazil`, `simulation` (ver skill: `morph:simulation-checklist`)
11
11
 
12
12
  ---
13
13
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: code-review
2
+ name: morph:code-review
3
3
  description: .NET/C# code review checklist covering naming conventions, architecture layer integrity, async patterns, logging, error handling, DI lifetimes, and DTO contracts. Use after implementing .NET code, before creating PRs, or when reviewing C# code for compliance with MORPH-SPEC standards.
4
4
  user-invocable: true
5
5
  allowed-tools: Read, Write, Edit, Bash, Glob, Grep
@@ -26,7 +26,7 @@ git diff --name-only main...HEAD -- "*.cs" | wc -l
26
26
  **Pular revisão se:**
27
27
  - 0 arquivos `.cs` alterados → sem código backend para revisar
28
28
  - Apenas mudanças em `*.json`, `*.csproj`, `*.md`, arquivos de migration → escopo de infra
29
- - Já existe `.morph/features/$ARGUMENTS/4-implement/code-review.md` criado hoje → já revisado
29
+ - Já existe `.morph/features/$ARGUMENTS/5-implement/code-review.md` criado hoje → já revisado
30
30
 
31
31
  Se skip: output `"Skipping code-review: [motivo]"` e parar.
32
32