@curdx/flow 2.3.11 → 3.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 (210) hide show
  1. package/CHANGELOG.md +21 -34
  2. package/LICENSE +1 -1
  3. package/README.md +28 -79
  4. package/dist/index.mjs +995 -0
  5. package/package.json +33 -42
  6. package/.claude-plugin/marketplace.json +0 -48
  7. package/.claude-plugin/plugin.json +0 -70
  8. package/agent-preamble/preamble.md +0 -314
  9. package/agents/flow-adversary.md +0 -202
  10. package/agents/flow-architect.md +0 -197
  11. package/agents/flow-brownfield-analyst.md +0 -142
  12. package/agents/flow-debugger.md +0 -321
  13. package/agents/flow-edge-hunter.md +0 -288
  14. package/agents/flow-executor.md +0 -269
  15. package/agents/flow-orchestrator.md +0 -145
  16. package/agents/flow-planner.md +0 -246
  17. package/agents/flow-product-designer.md +0 -159
  18. package/agents/flow-qa-engineer.md +0 -282
  19. package/agents/flow-researcher.md +0 -165
  20. package/agents/flow-reviewer.md +0 -303
  21. package/agents/flow-security-auditor.md +0 -401
  22. package/agents/flow-triage-analyst.md +0 -272
  23. package/agents/flow-ui-researcher.md +0 -229
  24. package/agents/flow-ux-designer.md +0 -221
  25. package/agents/flow-verifier.md +0 -349
  26. package/bin/curdx-flow +0 -5
  27. package/bin/curdx-flow.js +0 -54
  28. package/cli/README.md +0 -104
  29. package/cli/doctor-workflow.js +0 -483
  30. package/cli/doctor.js +0 -73
  31. package/cli/help.js +0 -59
  32. package/cli/install-bundled-mcps.js +0 -37
  33. package/cli/install-companions.js +0 -19
  34. package/cli/install-context7-config.js +0 -80
  35. package/cli/install-curdx-plugin.js +0 -96
  36. package/cli/install-language.js +0 -35
  37. package/cli/install-next-steps.js +0 -29
  38. package/cli/install-options.js +0 -9
  39. package/cli/install-paths.js +0 -52
  40. package/cli/install-recommended-plugins.js +0 -104
  41. package/cli/install-required-plugins.js +0 -57
  42. package/cli/install-self-update.js +0 -62
  43. package/cli/install-workflow.js +0 -209
  44. package/cli/install.js +0 -101
  45. package/cli/lib/claude-commands.js +0 -41
  46. package/cli/lib/claude-ops.js +0 -47
  47. package/cli/lib/claude.js +0 -183
  48. package/cli/lib/config.js +0 -24
  49. package/cli/lib/doctor-claude-settings.js +0 -1186
  50. package/cli/lib/doctor-report.js +0 -978
  51. package/cli/lib/doctor-runtime-environment.js +0 -196
  52. package/cli/lib/frontmatter.js +0 -44
  53. package/cli/lib/json-schema.js +0 -57
  54. package/cli/lib/logging.js +0 -25
  55. package/cli/lib/process.js +0 -60
  56. package/cli/lib/prompts.js +0 -135
  57. package/cli/lib/runtime.js +0 -107
  58. package/cli/lib/semver.js +0 -109
  59. package/cli/lib/version.js +0 -12
  60. package/cli/protocols-body.md +0 -22
  61. package/cli/protocols.js +0 -162
  62. package/cli/registry.js +0 -123
  63. package/cli/router.js +0 -49
  64. package/cli/uninstall-actions.js +0 -360
  65. package/cli/uninstall-workflow.js +0 -146
  66. package/cli/uninstall.js +0 -42
  67. package/cli/upgrade-workflow.js +0 -80
  68. package/cli/upgrade.js +0 -91
  69. package/cli/utils.js +0 -40
  70. package/gates/adversarial-review-gate.md +0 -219
  71. package/gates/coverage-audit-gate.md +0 -182
  72. package/gates/devex-gate.md +0 -254
  73. package/gates/edge-case-gate.md +0 -194
  74. package/gates/karpathy-gate.md +0 -130
  75. package/gates/security-gate.md +0 -218
  76. package/gates/tdd-gate.md +0 -182
  77. package/gates/test-quality-gate.md +0 -59
  78. package/gates/verification-gate.md +0 -179
  79. package/hooks/hooks.json +0 -58
  80. package/hooks/scripts/common.sh +0 -46
  81. package/hooks/scripts/inject-karpathy.sh +0 -53
  82. package/hooks/scripts/quick-mode-guard.sh +0 -68
  83. package/hooks/scripts/session-start.sh +0 -90
  84. package/hooks/scripts/stop-watcher.sh +0 -230
  85. package/hooks/scripts/subagent-artifact-guard.sh +0 -159
  86. package/hooks/scripts/subagent-statusline.sh +0 -105
  87. package/knowledge/artifact-output-discipline.md +0 -24
  88. package/knowledge/artifact-summary-contracts.md +0 -50
  89. package/knowledge/atomic-commits.md +0 -262
  90. package/knowledge/claude-code-runtime-contracts.md +0 -219
  91. package/knowledge/epic-decomposition.md +0 -307
  92. package/knowledge/execution-strategies.md +0 -303
  93. package/knowledge/karpathy-guidelines.md +0 -219
  94. package/knowledge/planning-reviews.md +0 -211
  95. package/knowledge/poc-first-workflow.md +0 -223
  96. package/knowledge/review-feedback-intake.md +0 -57
  97. package/knowledge/spec-driven-development.md +0 -180
  98. package/knowledge/systematic-debugging.md +0 -378
  99. package/knowledge/two-stage-review.md +0 -249
  100. package/knowledge/wave-execution.md +0 -403
  101. package/monitors/monitors.json +0 -8
  102. package/monitors/scripts/flow-state-monitor.sh +0 -99
  103. package/output-styles/curdx-evidence-first.md +0 -34
  104. package/schemas/agent-frontmatter.schema.json +0 -63
  105. package/schemas/config.schema.json +0 -134
  106. package/schemas/gate-frontmatter.schema.json +0 -30
  107. package/schemas/hooks.schema.json +0 -115
  108. package/schemas/output-style-frontmatter.schema.json +0 -22
  109. package/schemas/plugin-manifest.schema.json +0 -436
  110. package/schemas/plugin-settings.schema.json +0 -29
  111. package/schemas/skill-frontmatter.schema.json +0 -177
  112. package/schemas/spec-frontmatter.schema.json +0 -42
  113. package/schemas/spec-state.schema.json +0 -147
  114. package/settings.json +0 -7
  115. package/skills/brownfield-index/SKILL.md +0 -53
  116. package/skills/brownfield-index/references/applicability.md +0 -12
  117. package/skills/brownfield-index/references/handoff.md +0 -8
  118. package/skills/brownfield-index/references/index-contract.md +0 -10
  119. package/skills/browser-qa/SKILL.md +0 -39
  120. package/skills/browser-qa/references/handoff.md +0 -6
  121. package/skills/browser-qa/references/prerequisites.md +0 -10
  122. package/skills/browser-qa/references/qa-contract.md +0 -20
  123. package/skills/cancel/SKILL.md +0 -41
  124. package/skills/cancel/references/destructive-mode.md +0 -17
  125. package/skills/cancel/references/reporting.md +0 -18
  126. package/skills/cancel/references/state-recovery.md +0 -30
  127. package/skills/cancel/references/target-resolution.md +0 -7
  128. package/skills/debug/SKILL.md +0 -45
  129. package/skills/debug/references/context-gathering.md +0 -11
  130. package/skills/debug/references/failure-guard.md +0 -25
  131. package/skills/debug/references/intake.md +0 -12
  132. package/skills/debug/references/phase-workflow.md +0 -34
  133. package/skills/debug/references/reporting.md +0 -20
  134. package/skills/epic/SKILL.md +0 -39
  135. package/skills/epic/references/epic-artifacts.md +0 -20
  136. package/skills/epic/references/epic-intake.md +0 -9
  137. package/skills/epic/references/slice-handoff.md +0 -16
  138. package/skills/fast/SKILL.md +0 -62
  139. package/skills/fast/references/applicability.md +0 -25
  140. package/skills/fast/references/clarification.md +0 -20
  141. package/skills/fast/references/execution-contract.md +0 -56
  142. package/skills/help/SKILL.md +0 -55
  143. package/skills/help/references/dispatch.md +0 -20
  144. package/skills/help/references/overview.md +0 -39
  145. package/skills/help/references/troubleshoot.md +0 -47
  146. package/skills/help/references/workflow.md +0 -37
  147. package/skills/implement/SKILL.md +0 -96
  148. package/skills/implement/references/error-recovery.md +0 -36
  149. package/skills/implement/references/linear-execution.md +0 -32
  150. package/skills/implement/references/preflight.md +0 -43
  151. package/skills/implement/references/progress-contract.md +0 -32
  152. package/skills/implement/references/state-init.md +0 -33
  153. package/skills/implement/references/stop-hook-execution.md +0 -36
  154. package/skills/implement/references/strategy-router.md +0 -38
  155. package/skills/implement/references/subagent-execution.md +0 -43
  156. package/skills/implement/references/wave-execution.md +0 -162
  157. package/skills/init/SKILL.md +0 -49
  158. package/skills/init/references/gitignore-and-health.md +0 -26
  159. package/skills/init/references/next-steps.md +0 -22
  160. package/skills/init/references/preflight.md +0 -15
  161. package/skills/init/references/scaffold-contract.md +0 -27
  162. package/skills/review/SKILL.md +0 -82
  163. package/skills/review/references/optional-passes.md +0 -48
  164. package/skills/review/references/preflight.md +0 -38
  165. package/skills/review/references/report-contract.md +0 -49
  166. package/skills/review/references/reporting.md +0 -20
  167. package/skills/review/references/stage-execution.md +0 -32
  168. package/skills/security-audit/SKILL.md +0 -47
  169. package/skills/security-audit/references/audit-contract.md +0 -21
  170. package/skills/security-audit/references/gate-handoff.md +0 -8
  171. package/skills/security-audit/references/scope-and-depth.md +0 -9
  172. package/skills/spec/SKILL.md +0 -100
  173. package/skills/spec/references/artifact-landing.md +0 -31
  174. package/skills/spec/references/phase-execution.md +0 -50
  175. package/skills/spec/references/planning-review.md +0 -31
  176. package/skills/spec/references/preflight-and-routing.md +0 -46
  177. package/skills/spec/references/reporting.md +0 -21
  178. package/skills/start/SKILL.md +0 -84
  179. package/skills/start/references/branch-routing.md +0 -51
  180. package/skills/start/references/mode-semantics.md +0 -12
  181. package/skills/start/references/preflight.md +0 -13
  182. package/skills/start/references/reporting.md +0 -20
  183. package/skills/start/references/state-seeding.md +0 -44
  184. package/skills/start/references/workflow-handoff.md +0 -26
  185. package/skills/status/SKILL.md +0 -41
  186. package/skills/status/references/gather-contract.md +0 -27
  187. package/skills/status/references/health-rules.md +0 -27
  188. package/skills/status/references/output-contract.md +0 -24
  189. package/skills/status/references/preflight.md +0 -10
  190. package/skills/status/references/recovery-hints.md +0 -18
  191. package/skills/ui-sketch/SKILL.md +0 -39
  192. package/skills/ui-sketch/references/brief-intake.md +0 -10
  193. package/skills/ui-sketch/references/iteration-handoff.md +0 -5
  194. package/skills/ui-sketch/references/variant-contract.md +0 -15
  195. package/skills/verify/SKILL.md +0 -56
  196. package/skills/verify/references/evidence-workflow.md +0 -39
  197. package/skills/verify/references/output-contract.md +0 -23
  198. package/skills/verify/references/preflight.md +0 -11
  199. package/skills/verify/references/report-handoff.md +0 -35
  200. package/skills/verify/references/strict-mode.md +0 -12
  201. package/templates/CONTEXT.md.tmpl +0 -53
  202. package/templates/PROJECT.md.tmpl +0 -59
  203. package/templates/ROADMAP.md.tmpl +0 -50
  204. package/templates/STATE.md.tmpl +0 -49
  205. package/templates/config.json.tmpl +0 -51
  206. package/templates/design.md.tmpl +0 -83
  207. package/templates/progress.md.tmpl +0 -77
  208. package/templates/requirements.md.tmpl +0 -76
  209. package/templates/research.md.tmpl +0 -83
  210. package/templates/tasks.md.tmpl +0 -107
@@ -1,147 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://curdx-flow.dev/schemas/spec-state.schema.json",
4
- "title": "CurdX-Flow Spec State",
5
- "description": "Schema for .flow/specs/<name>/.state.json — tracks phase progress across sessions",
6
- "type": "object",
7
- "required": ["version", "spec_name", "phase"],
8
- "properties": {
9
- "version": {
10
- "type": "string",
11
- "const": "1.0"
12
- },
13
- "spec_name": {
14
- "type": "string",
15
- "pattern": "^[a-z0-9][a-z0-9-]*$",
16
- "description": "Kebab-case identifier matching the directory name"
17
- },
18
- "goal": {
19
- "type": "string",
20
- "description": "One-sentence goal from /curdx-flow:start"
21
- },
22
- "mode": {
23
- "type": "string",
24
- "enum": ["fast", "standard", "enterprise"],
25
- "default": "standard"
26
- },
27
- "strategy": {
28
- "type": "string",
29
- "enum": ["auto", "subagent", "stop-hook", "wave", "linear"],
30
- "default": "auto"
31
- },
32
- "quickMode": {
33
- "type": "boolean",
34
- "default": false,
35
- "description": "When true, execution hooks block AskUserQuestion and agents must record assumptions instead of asking."
36
- },
37
- "phase": {
38
- "type": "string",
39
- "enum": [
40
- "research",
41
- "requirements",
42
- "design",
43
- "tasks",
44
- "execute",
45
- "verify",
46
- "review",
47
- "completed"
48
- ]
49
- },
50
- "phase_status": {
51
- "type": "object",
52
- "properties": {
53
- "research": { "$ref": "#/definitions/phaseStatus" },
54
- "requirements": { "$ref": "#/definitions/phaseStatus" },
55
- "design": { "$ref": "#/definitions/phaseStatus" },
56
- "tasks": { "$ref": "#/definitions/phaseStatus" },
57
- "execute": { "$ref": "#/definitions/phaseStatus" },
58
- "verify": { "$ref": "#/definitions/phaseStatus" },
59
- "review": { "$ref": "#/definitions/phaseStatus" }
60
- }
61
- },
62
- "execute_state": {
63
- "type": "object",
64
- "description": "Runtime state for Phase 2 (execution engine, post-Phase 1)",
65
- "properties": {
66
- "poc_complete": { "type": "boolean" },
67
- "refactor_complete": { "type": "boolean" },
68
- "test_complete": { "type": "boolean" },
69
- "quality_gate_complete": { "type": "boolean" },
70
- "task_index": { "type": "integer", "minimum": 0 },
71
- "total_tasks": { "type": "integer", "minimum": 0 },
72
- "task_iteration": { "type": "integer", "minimum": 1 },
73
- "global_iteration": { "type": "integer", "minimum": 1 },
74
- "failed_attempts": { "type": "integer", "minimum": 0 },
75
- "recovery_mode": {
76
- "type": "string",
77
- "enum": ["manual", "fix-task"],
78
- "default": "manual"
79
- },
80
- "max_fix_tasks_per_original": {
81
- "type": "integer",
82
- "minimum": 1,
83
- "maximum": 5,
84
- "default": 2
85
- },
86
- "fix_task_map": {
87
- "type": "object",
88
- "description": "Per-original-task recovery attempts created by fix-task mode.",
89
- "additionalProperties": {
90
- "type": "object",
91
- "required": ["attempts", "fix_task_ids"],
92
- "properties": {
93
- "attempts": { "type": "integer", "minimum": 0 },
94
- "fix_task_ids": {
95
- "type": "array",
96
- "items": { "type": "string" }
97
- },
98
- "last_error": { "type": "string" }
99
- }
100
- }
101
- }
102
- }
103
- },
104
- "decisions": {
105
- "type": "array",
106
- "description": "Decisions locked in this spec (mirror of what's in STATE.md)",
107
- "items": {
108
- "type": "object",
109
- "required": ["id", "decision"],
110
- "properties": {
111
- "id": {
112
- "type": "string",
113
- "pattern": "^D-[0-9]{2,}$"
114
- },
115
- "decision": { "type": "string" },
116
- "rationale": { "type": "string" },
117
- "timestamp": {
118
- "type": "string",
119
- "format": "date-time"
120
- }
121
- }
122
- }
123
- },
124
- "gates_enabled": {
125
- "type": "array",
126
- "items": { "type": "string" }
127
- },
128
- "agents_active": {
129
- "type": "array",
130
- "items": { "type": "string" }
131
- },
132
- "created": {
133
- "type": "string",
134
- "format": "date"
135
- },
136
- "updated": {
137
- "type": "string",
138
- "format": "date-time"
139
- }
140
- },
141
- "definitions": {
142
- "phaseStatus": {
143
- "type": "string",
144
- "enum": ["not_started", "in_progress", "completed", "skipped", "failed"]
145
- }
146
- }
147
- }
package/settings.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "agent": "flow-orchestrator",
3
- "subagentStatusLine": {
4
- "type": "command",
5
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/subagent-statusline.sh"
6
- }
7
- }
@@ -1,53 +0,0 @@
1
- ---
2
- name: brownfield-index
3
- description: Use when the user needs structural understanding of an unfamiliar, inherited, legacy, or brownfield codebase.
4
- when_to_use: Triggers on "legacy code", "brownfield", "unfamiliar", "new to this code", "new to this project", "just joined", "inherited codebase", "explore codebase", "understand structure", "index code", "map modules", "tour", "onboard", "what is this project".
5
- argument-hint: "[path]"
6
- context: fork
7
- agent: flow-brownfield-analyst
8
- paths:
9
- - "package.json"
10
- - "pnpm-workspace.yaml"
11
- - "turbo.json"
12
- - "nx.json"
13
- - "pyproject.toml"
14
- - "requirements*.txt"
15
- - "go.mod"
16
- - "Cargo.toml"
17
- - "Gemfile"
18
- - "composer.json"
19
- - "pom.xml"
20
- - "build.gradle*"
21
- - "mix.exs"
22
- - "deno.json*"
23
- - "src/**"
24
- - "lib/**"
25
- - "app/**"
26
- - "apps/**"
27
- - "packages/**"
28
- - "services/**"
29
- ---
30
-
31
- # Brownfield Index
32
-
33
- This is a fast structural mapping skill for inherited codebases. Keep the
34
- entrypoint focused on when to index, what the analyst must produce, and where
35
- to route the user next. Detailed rules live in:
36
-
37
- - `references/applicability.md`
38
- - `references/index-contract.md`
39
- - `references/handoff.md`
40
-
41
- ## Preconditions
42
-
43
- Use `references/applicability.md` to decide whether the repository actually
44
- needs a brownfield index first.
45
-
46
- ## Index Contract
47
-
48
- `flow-brownfield-analyst` writes the structural map defined in
49
- `references/index-contract.md`.
50
-
51
- ## Handoff
52
-
53
- Use `references/handoff.md` to route the user to the next relevant command.
@@ -1,12 +0,0 @@
1
- # Brownfield Applicability — When to Index First
2
-
3
- Use this skill when:
4
-
5
- - the repository is unfamiliar, inherited, or legacy
6
- - the user needs a quick structural map before feature work
7
-
8
- Do not use it for a fresh greenfield repo that should start directly with:
9
-
10
- ```text
11
- /curdx-flow:start <name> "<goal>"
12
- ```
@@ -1,8 +0,0 @@
1
- # Brownfield Handoff — What to Do After Indexing
2
-
3
- Route to the next concrete action:
4
-
5
- - feature work -> `/curdx-flow:start <name> "<goal>"`
6
- - targeted bug work -> `/curdx-flow:debug "<symptom>"`
7
-
8
- For deep framework or library research, use Context7 directly.
@@ -1,10 +0,0 @@
1
- # Brownfield Index Contract — What the Analyst Must Produce
2
-
3
- `flow-brownfield-analyst` should:
4
-
5
- 1. detect the actual stack from manifests
6
- 2. scan structure, entry points, boundaries, and developer-loop commands
7
- 3. map API or CLI surfaces when they exist
8
- 4. write `.flow/codebase-index.md`
9
-
10
- The index should be quick and decision-useful, not exhaustive.
@@ -1,39 +0,0 @@
1
- ---
2
- name: browser-qa
3
- description: Use when the user needs real-browser QA for a UI or frontend flow.
4
- when_to_use: Triggers on "browser test", "test in browser", "UI test", "e2e test", "frontend test", "accessibility", "a11y", "WCAG", "lighthouse", "performance audit", "console error", "network request", "cross-browser", "responsive", "mobile test", "visual regression", "screenshot".
5
- argument-hint: "\"<url or user flow>\""
6
- context: fork
7
- agent: flow-qa-engineer
8
- paths:
9
- - "**/*.{html,css,scss,sass,less,js,jsx,ts,tsx,vue,svelte,astro}"
10
- - "app/**"
11
- - "pages/**"
12
- - "components/**"
13
- - "public/**"
14
- ---
15
-
16
- # Browser QA
17
-
18
- This skill orchestrates real-browser validation, not a generic UI review. Keep
19
- the entrypoint focused on prerequisites, QA artifact requirements, and the
20
- handoff after findings. Detailed rules live in:
21
-
22
- - `references/prerequisites.md`
23
- - `references/qa-contract.md`
24
- - `references/handoff.md`
25
-
26
- ## Preconditions
27
-
28
- Use `references/prerequisites.md` to confirm browser MCP availability and the
29
- URL or flow under test. Real browser execution in this skill depends on
30
- `mcp__chrome_devtools__*`.
31
-
32
- ## QA Contract
33
-
34
- `flow-qa-engineer` should execute the browser workflow in
35
- `references/qa-contract.md`.
36
-
37
- ## Handoff
38
-
39
- Post-QA routing and bug follow-up live in `references/handoff.md`.
@@ -1,6 +0,0 @@
1
- # Browser QA Handoff — Where Findings Go Next
2
-
3
- - if reproducible bugs are found -> `/curdx-flow:debug "<bug title>"`
4
- - if accessibility issues are found -> report concrete WCAG-linked fixes
5
- - if the flow is clean -> hand off `qa-report.md` as additional evidence, not a
6
- replacement for `verify` or `review`
@@ -1,10 +0,0 @@
1
- # Browser QA Prerequisites — Browser and URL Required
2
-
3
- Before dispatching:
4
-
5
- - confirm `mcp__chrome_devtools__*` is available
6
- - confirm a URL under test exists
7
- - confirm the flow and success criteria
8
-
9
- If browser MCP is missing, fall back to a manual checklist rather than
10
- pretending a real-browser run happened.
@@ -1,20 +0,0 @@
1
- # Browser QA Contract — What the QA Agent Must Do
2
-
3
- `flow-qa-engineer` should:
4
-
5
- 1. open the target URL
6
- 2. drive the flow in a real browser
7
- 3. collect console, network, screenshot, and optional Lighthouse evidence
8
- 4. compare observed behavior to expected behavior
9
-
10
- ## Required Artifacts
11
-
12
- - `.flow/specs/<active>/qa-report.md`
13
- - `.flow/specs/<active>/qa-screenshots/`
14
-
15
- The report should include:
16
-
17
- - bugs by severity
18
- - performance metrics
19
- - accessibility findings
20
- - console errors
@@ -1,41 +0,0 @@
1
- ---
2
- name: cancel
3
- description: Cancel the active execution loop or delete a spec with explicit confirmation.
4
- when_to_use: Use when the user wants to stop the current execution loop, abort a stuck run, or delete the active spec intentionally.
5
- argument-hint: "[spec-name] [--delete-spec --yes]"
6
- disable-model-invocation: true
7
- allowed-tools: [Read, Bash]
8
- ---
9
-
10
- # CurdX-Flow Cancel
11
-
12
- `cancel` is a recovery control, not an execution path. Keep this entrypoint
13
- focused on target selection, destructive-mode gating, and the final recovery
14
- message. Detailed cancel rules live in:
15
-
16
- - `references/target-resolution.md`
17
- - `references/state-recovery.md`
18
- - `references/destructive-mode.md`
19
- - `references/reporting.md`
20
-
21
- ## Target Resolution
22
-
23
- Use `references/target-resolution.md` to resolve the target spec.
24
-
25
- ## Default Behavior
26
-
27
- Default mode is non-destructive. Use `references/state-recovery.md` to:
28
-
29
- - roll execution state back safely
30
- - preserve spec artifacts and reports
31
- - append a recovery note to `.progress.md`
32
- - recommend the best resume command
33
-
34
- ## Destructive Behavior
35
-
36
- Delete a spec only when both `--delete-spec` and `--yes` are present. The
37
- deletion rules live in `references/destructive-mode.md`.
38
-
39
- ## Output
40
-
41
- Use `references/reporting.md` for the default and destructive-mode summaries.
@@ -1,17 +0,0 @@
1
- # Cancel Destructive Mode — Explicit and Narrow
2
-
3
- Delete the spec directory only when both flags are present:
4
-
5
- ```text
6
- /curdx-flow:cancel <spec-name> --delete-spec --yes
7
- ```
8
-
9
- ## Destructive Flow
10
-
11
- 1. print the target path and removal scope
12
- 2. delete `.flow/specs/<target>`
13
- 3. if it was active, clear `.flow/.active-spec`
14
- 4. leave all project-level `.flow` files untouched
15
-
16
- If `--delete-spec` appears without `--yes`, stop and print the exact command
17
- required.
@@ -1,18 +0,0 @@
1
- # Cancel Reporting — Recovery vs Deletion Summary
2
-
3
- Default mode:
4
-
5
- ```text
6
- ✓ Cancelled execution loop: <spec-name>
7
- State: execute → cancelled, phase → tasks
8
- Preserved: spec artifacts and progress
9
- Resume: /curdx-flow:implement --strategy=subagent
10
- ```
11
-
12
- Destructive mode:
13
-
14
- ```text
15
- ✓ Deleted spec: <spec-name>
16
- Removed: .flow/specs/<spec-name>
17
- Active spec cleared: yes|no
18
- ```
@@ -1,30 +0,0 @@
1
- # Cancel State Recovery — Safe Rollback Without Deletion
2
-
3
- Default mode preserves all human-readable artifacts.
4
-
5
- ## Recovery Steps
6
-
7
- 1. Read `.flow/specs/<target>/.state.json`
8
- 2. Set `phase` to `tasks`
9
- 3. Set `phase_status.execute` to `cancelled`
10
- 4. Remove `execute_state` and `strategy`
11
- 5. If the state file is missing, print `No execution state for <target>. Nothing to cancel.`
12
-
13
- Use checkpoint-tracked `Edit` or `Write`, not ad-hoc Bash or Python writers.
14
-
15
- ## Progress Entry
16
-
17
- Append to `.progress.md`:
18
-
19
- ```markdown
20
- ## Execution Cancelled YYYY-MM-DD
21
- - Cancelled by: /curdx-flow:cancel
22
- - Preserved: research.md, requirements.md, design.md, tasks.md, progress, reports
23
- - Resume: /curdx-flow:implement --strategy=subagent or /curdx-flow:spec --phase=tasks --regenerate
24
- ```
25
-
26
- ## Safety
27
-
28
- - never delete project-level `.flow` files
29
- - if `.state.json` is corrupt, rename it to `.state.json.corrupt.<timestamp>`
30
- - prefer `/curdx-flow:status` after cancel to confirm recovery state
@@ -1,7 +0,0 @@
1
- # Cancel Target Resolution — Positional Spec Name or Active Spec
2
-
3
- 1. If `$ARGUMENTS` includes a positional spec name, target `.flow/specs/<name>`
4
- 2. Otherwise read `.flow/.active-spec`
5
- 3. If no target exists, print `No active spec to cancel` and stop
6
-
7
- `cancel` uses a positional spec argument, not `--spec=<name>`.
@@ -1,45 +0,0 @@
1
- ---
2
- name: debug
3
- description: Debug a bug or failing test with the root-cause workflow.
4
- when_to_use: Use when the user reports a bug, failing test, regression, stack trace, flaky behavior, or wants root-cause analysis instead of trial-and-error edits.
5
- argument-hint: "\"<bug description>\""
6
- disable-model-invocation: true
7
- context: fork
8
- agent: flow-debugger
9
- ---
10
-
11
- # Systematic Debug
12
-
13
- Use the 4-phase root-cause methodology in
14
- `@${CLAUDE_PLUGIN_ROOT}/knowledge/systematic-debugging.md`. Keep this entrypoint
15
- focused on bug intake, required context, and the hard-stop contract. Detailed
16
- debugging rules live in:
17
-
18
- - `references/intake.md`
19
- - `references/context-gathering.md`
20
- - `references/phase-workflow.md`
21
- - `references/failure-guard.md`
22
- - `references/reporting.md`
23
-
24
- ## Intake
25
-
26
- Use `references/intake.md` to validate `$ARGUMENTS` and anchor the debugging
27
- target before entering diagnosis.
28
-
29
- ## Pre-Diagnosis Context
30
-
31
- Gather the baseline context from `references/context-gathering.md` before
32
- entering Phase 1.
33
-
34
- ## Four Phases
35
-
36
- Use `references/phase-workflow.md` as the 4-phase contract.
37
-
38
- ## Three-Failure Guard
39
-
40
- Use `references/failure-guard.md` for the stop contract and required failure
41
- report.
42
-
43
- ## Output to User
44
-
45
- Use `references/reporting.md` for the compact completion summary.
@@ -1,11 +0,0 @@
1
- # Debug Context Gathering — Baseline Before Diagnosis
2
-
3
- Gather these before diagnosing:
4
-
5
- - recent commits: `git log --oneline -20`
6
- - uncommitted changes: `git status --short`, `git diff --stat`
7
- - active spec, if any:
8
- - read `.flow/.active-spec`
9
- - if set, read `.flow/specs/<active>/.progress.md`
10
-
11
- The point is to debug against observed repo state, not assumptions.
@@ -1,25 +0,0 @@
1
- # Debug Failure Guard — Stop After Three Real Attempts
2
-
3
- If Phase 4 has tried three genuinely different approaches and all failed, stop.
4
- Do not try a fourth.
5
-
6
- ## Required Failure Report
7
-
8
- ```text
9
- ⚠ Systematic debug halted after 3 attempts
10
-
11
- Attempts:
12
- 1. <approach 1>: <why it failed>
13
- 2. <approach 2>: <why it failed>
14
- 3. <approach 3>: <why it failed>
15
-
16
- Root-issue hypothesis: architecture | dependency | data | unknown
17
- Recommended next step: <user action>
18
- ```
19
-
20
- ## Forbidden
21
-
22
- - prayer-driven retries
23
- - "maybe it's..." as a Phase 1 conclusion
24
- - green fix commits without a corresponding red test commit
25
- - fix claims without BEFORE/AFTER reality evidence
@@ -1,12 +0,0 @@
1
- # Debug Intake — Require a Concrete Bug Target
2
-
3
- The debug target is `$ARGUMENTS`.
4
-
5
- If `$ARGUMENTS` is empty, print:
6
-
7
- ```text
8
- Usage: /curdx-flow:debug "<bug description>"
9
- ```
10
-
11
- Do not begin diagnosis until the failing behavior, test, or regression target is
12
- concrete enough to reproduce.
@@ -1,34 +0,0 @@
1
- # Debug Phases — Root Cause, Pattern, Hypothesis, Fix
2
-
3
- ## Phase 1 — Root-Cause Investigation
4
-
5
- - read the error carefully
6
- - build a minimal reproduction
7
- - append `Reality Check (BEFORE)` to `.progress.md` when a spec is active
8
- - trace recent changes and data flow
9
- - exit only when the root cause fits in one sentence
10
-
11
- ## Phase 2 — Pattern Analysis
12
-
13
- - find a working counter-example nearby
14
- - identify the difference from the failing case
15
- - classify the issue as `isolated` or `systemic`
16
-
17
- If systemic, Phase 4 must sweep sibling cases.
18
-
19
- ## Phase 3 — Hypothesis and Test
20
-
21
- - state one hypothesis
22
- - write the smallest distinguishing test
23
- - run it before committing
24
- - if disproved, return to Phase 1 with the new signal
25
-
26
- ## Phase 4 — Implement the Fix
27
-
28
- 1. write a failing test and confirm it fails
29
- 2. fix the root cause and confirm the test now passes
30
- 3. run the full regression suite
31
- 4. re-run the original reproduction command and append `Reality Check (AFTER)`
32
- 5. if systemic, sweep sibling occurrences in the same stage
33
-
34
- Do not mask the issue with defensive noise that leaves the root cause intact.
@@ -1,20 +0,0 @@
1
- # Debug Reporting — Compact Root-Cause Closeout
2
-
3
- End with:
4
-
5
- ```text
6
- ✓ Debug complete
7
-
8
- Root cause: <Phase 1 — one sentence>
9
- Pattern: <Phase 2 — isolated or systemic>
10
-
11
- Fix commits:
12
- - <sha>: test(<scope>): red - failing test
13
- - <sha>: fix(<scope>): green - root-cause fix
14
- - <sha>: fix(<scope>): sweep - N sibling cases (if systemic)
15
-
16
- Verification: failing test now PASS ✓; full suite green ✓
17
- ```
18
-
19
- Keep the closeout evidence-first. The root cause and verification outcome
20
- matter more than narrative.
@@ -1,39 +0,0 @@
1
- ---
2
- name: epic
3
- description: Use when the user needs to decompose a large feature into smaller vertical-slice specs with dependencies.
4
- when_to_use: Triggers on "epic", "big feature", "too big", "decompose", "break down", "break into", "split into", "multi-spec", "multiple features", "sub-features", "vertical slice", "parent feature", "large scope", "won't fit in one sprint", "needs splitting".
5
- argument-hint: "\"<epic goal>\""
6
- context: fork
7
- agent: flow-triage-analyst
8
- ---
9
-
10
- # Epic Decomposition
11
-
12
- This is a specialty orchestration skill for multi-spec planning. Keep the
13
- entrypoint focused on when to use epic decomposition and what artifacts it must
14
- leave behind. Detailed rules live in:
15
-
16
- - `references/epic-intake.md`
17
- - `references/epic-artifacts.md`
18
- - `references/slice-handoff.md`
19
-
20
- ## Preconditions
21
-
22
- - a `.flow/` project exists
23
- - the feature scope is too large for a single spec
24
-
25
- ## Intake
26
-
27
- Use `references/epic-intake.md` to confirm the epic boundary before dispatching
28
- `flow-triage-analyst`.
29
-
30
- ## Artifact Contract
31
-
32
- Use `references/epic-artifacts.md` for the required outputs:
33
-
34
- - `.flow/_epics/<epic-name>/epic.md`
35
- - one `.flow/specs/<epic-name>-<slice-id>/` skeleton per slice
36
-
37
- ## Handoff
38
-
39
- User-facing next-step routing lives in `references/slice-handoff.md`.
@@ -1,20 +0,0 @@
1
- # Epic Artifacts — What Must Be Written
2
-
3
- `flow-triage-analyst` must return:
4
-
5
- - a vertical-slice decomposition
6
- - a dependency graph between slices
7
- - shared interfaces that should freeze before parallel work
8
- - suggested ordering: MVP -> iteration -> polish
9
-
10
- ## Required Files
11
-
12
- - `.flow/_epics/<epic-name>/epic.md`
13
- - `.flow/specs/<epic-name>-<slice-id>/` skeletons with minimal `.state.json`
14
-
15
- `epic.md` should include:
16
-
17
- - goal
18
- - slice table
19
- - frozen interfaces
20
- - out-of-scope list
@@ -1,9 +0,0 @@
1
- # Epic Intake — Confirm the Scope Boundary
2
-
3
- Before decomposing, confirm:
4
-
5
- - epic name (short kebab-case identifier)
6
- - one-sentence goal
7
- - hard out-of-scope boundary
8
-
9
- This skill is for vertical-slice decomposition, not horizontal layer splitting.