@curdx/flow 3.0.0 → 3.2.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 (219) hide show
  1. package/CHANGELOG.md +33 -82
  2. package/LICENSE +1 -1
  3. package/README.md +28 -129
  4. package/dist/index.mjs +1165 -0
  5. package/package.json +33 -44
  6. package/.claude-plugin/marketplace.json +0 -48
  7. package/.claude-plugin/plugin.json +0 -52
  8. package/agent-preamble/preamble.md +0 -314
  9. package/agents/flow-adversary.md +0 -203
  10. package/agents/flow-architect.md +0 -198
  11. package/agents/flow-brownfield-analyst.md +0 -143
  12. package/agents/flow-debugger.md +0 -321
  13. package/agents/flow-edge-hunter.md +0 -289
  14. package/agents/flow-executor.md +0 -269
  15. package/agents/flow-orchestrator.md +0 -145
  16. package/agents/flow-planner.md +0 -247
  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 -166
  20. package/agents/flow-reviewer.md +0 -304
  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 -230
  24. package/agents/flow-ux-designer.md +0 -221
  25. package/agents/flow-verifier.md +0 -350
  26. package/bin/curdx-flow +0 -5
  27. package/bin/curdx-flow-state +0 -104
  28. package/bin/curdx-flow.js +0 -54
  29. package/cli/README.md +0 -104
  30. package/cli/doctor-workflow.js +0 -483
  31. package/cli/doctor.js +0 -73
  32. package/cli/help.js +0 -59
  33. package/cli/install-bundled-mcps.js +0 -37
  34. package/cli/install-companions.js +0 -19
  35. package/cli/install-context7-config.js +0 -80
  36. package/cli/install-curdx-plugin.js +0 -96
  37. package/cli/install-language.js +0 -35
  38. package/cli/install-next-steps.js +0 -29
  39. package/cli/install-options.js +0 -9
  40. package/cli/install-paths.js +0 -52
  41. package/cli/install-recommended-plugins.js +0 -104
  42. package/cli/install-required-plugins.js +0 -57
  43. package/cli/install-self-update.js +0 -62
  44. package/cli/install-workflow.js +0 -209
  45. package/cli/install.js +0 -101
  46. package/cli/lib/claude-commands.js +0 -41
  47. package/cli/lib/claude-ops.js +0 -47
  48. package/cli/lib/claude.js +0 -183
  49. package/cli/lib/config.js +0 -24
  50. package/cli/lib/doctor-claude-settings.js +0 -1186
  51. package/cli/lib/doctor-report.js +0 -978
  52. package/cli/lib/doctor-runtime-environment.js +0 -196
  53. package/cli/lib/frontmatter.js +0 -44
  54. package/cli/lib/json-schema.js +0 -57
  55. package/cli/lib/logging.js +0 -25
  56. package/cli/lib/process.js +0 -60
  57. package/cli/lib/prompts.js +0 -135
  58. package/cli/lib/runtime.js +0 -107
  59. package/cli/lib/semver.js +0 -109
  60. package/cli/lib/version.js +0 -12
  61. package/cli/protocols-body.md +0 -22
  62. package/cli/protocols.js +0 -162
  63. package/cli/registry.js +0 -123
  64. package/cli/router.js +0 -49
  65. package/cli/uninstall-actions.js +0 -360
  66. package/cli/uninstall-workflow.js +0 -146
  67. package/cli/uninstall.js +0 -42
  68. package/cli/upgrade-workflow.js +0 -80
  69. package/cli/upgrade.js +0 -91
  70. package/cli/utils.js +0 -40
  71. package/gates/adversarial-review-gate.md +0 -219
  72. package/gates/coverage-audit-gate.md +0 -182
  73. package/gates/devex-gate.md +0 -254
  74. package/gates/edge-case-gate.md +0 -194
  75. package/gates/karpathy-gate.md +0 -130
  76. package/gates/security-gate.md +0 -218
  77. package/gates/tdd-gate.md +0 -182
  78. package/gates/test-quality-gate.md +0 -59
  79. package/gates/verification-gate.md +0 -179
  80. package/hooks/hooks.json +0 -130
  81. package/hooks/scripts/common.sh +0 -237
  82. package/hooks/scripts/config-change-guard.sh +0 -94
  83. package/hooks/scripts/flow-context-watch.sh +0 -94
  84. package/hooks/scripts/inject-karpathy.sh +0 -53
  85. package/hooks/scripts/quick-mode-guard.sh +0 -69
  86. package/hooks/scripts/session-start.sh +0 -94
  87. package/hooks/scripts/session-title.sh +0 -87
  88. package/hooks/scripts/stop-watcher.sh +0 -231
  89. package/hooks/scripts/subagent-artifact-guard.sh +0 -92
  90. package/hooks/scripts/subagent-statusline.sh +0 -111
  91. package/hooks/scripts/task-lifecycle-guard.sh +0 -106
  92. package/hooks/scripts/teammate-idle-guard.sh +0 -83
  93. package/knowledge/artifact-output-discipline.md +0 -24
  94. package/knowledge/artifact-summary-contracts.md +0 -50
  95. package/knowledge/atomic-commits.md +0 -262
  96. package/knowledge/claude-code-runtime-contracts.md +0 -240
  97. package/knowledge/epic-decomposition.md +0 -307
  98. package/knowledge/execution-strategies.md +0 -303
  99. package/knowledge/karpathy-guidelines.md +0 -219
  100. package/knowledge/planning-reviews.md +0 -211
  101. package/knowledge/poc-first-workflow.md +0 -223
  102. package/knowledge/review-feedback-intake.md +0 -57
  103. package/knowledge/spec-driven-development.md +0 -180
  104. package/knowledge/systematic-debugging.md +0 -378
  105. package/knowledge/two-stage-review.md +0 -249
  106. package/knowledge/wave-execution.md +0 -403
  107. package/monitors/monitors.json +0 -8
  108. package/monitors/scripts/flow-state-monitor.sh +0 -102
  109. package/output-styles/curdx-evidence-first.md +0 -34
  110. package/output-styles/curdx-fast-mode.md +0 -42
  111. package/output-styles/curdx-spec-mode.md +0 -46
  112. package/schemas/agent-frontmatter.schema.json +0 -66
  113. package/schemas/config.schema.json +0 -134
  114. package/schemas/gate-frontmatter.schema.json +0 -30
  115. package/schemas/hooks.schema.json +0 -115
  116. package/schemas/output-style-frontmatter.schema.json +0 -22
  117. package/schemas/plugin-manifest.schema.json +0 -436
  118. package/schemas/plugin-settings.schema.json +0 -29
  119. package/schemas/skill-frontmatter.schema.json +0 -177
  120. package/schemas/spec-frontmatter.schema.json +0 -42
  121. package/schemas/spec-state.schema.json +0 -165
  122. package/settings.json +0 -8
  123. package/skills/brownfield-index/SKILL.md +0 -53
  124. package/skills/brownfield-index/references/applicability.md +0 -12
  125. package/skills/brownfield-index/references/handoff.md +0 -8
  126. package/skills/brownfield-index/references/index-contract.md +0 -10
  127. package/skills/browser-qa/SKILL.md +0 -39
  128. package/skills/browser-qa/references/handoff.md +0 -6
  129. package/skills/browser-qa/references/prerequisites.md +0 -10
  130. package/skills/browser-qa/references/qa-contract.md +0 -20
  131. package/skills/cancel/SKILL.md +0 -41
  132. package/skills/cancel/references/destructive-mode.md +0 -17
  133. package/skills/cancel/references/reporting.md +0 -18
  134. package/skills/cancel/references/state-recovery.md +0 -30
  135. package/skills/cancel/references/target-resolution.md +0 -7
  136. package/skills/debug/SKILL.md +0 -45
  137. package/skills/debug/references/context-gathering.md +0 -11
  138. package/skills/debug/references/failure-guard.md +0 -25
  139. package/skills/debug/references/intake.md +0 -12
  140. package/skills/debug/references/phase-workflow.md +0 -34
  141. package/skills/debug/references/reporting.md +0 -20
  142. package/skills/epic/SKILL.md +0 -39
  143. package/skills/epic/references/epic-artifacts.md +0 -20
  144. package/skills/epic/references/epic-intake.md +0 -9
  145. package/skills/epic/references/slice-handoff.md +0 -16
  146. package/skills/fast/SKILL.md +0 -62
  147. package/skills/fast/references/applicability.md +0 -25
  148. package/skills/fast/references/clarification.md +0 -20
  149. package/skills/fast/references/execution-contract.md +0 -56
  150. package/skills/help/SKILL.md +0 -55
  151. package/skills/help/references/dispatch.md +0 -20
  152. package/skills/help/references/overview.md +0 -39
  153. package/skills/help/references/troubleshoot.md +0 -47
  154. package/skills/help/references/workflow.md +0 -37
  155. package/skills/implement/SKILL.md +0 -104
  156. package/skills/implement/references/error-recovery.md +0 -36
  157. package/skills/implement/references/linear-execution.md +0 -43
  158. package/skills/implement/references/native-task-sync.md +0 -107
  159. package/skills/implement/references/preflight.md +0 -43
  160. package/skills/implement/references/progress-contract.md +0 -36
  161. package/skills/implement/references/state-init.md +0 -36
  162. package/skills/implement/references/stop-hook-execution.md +0 -50
  163. package/skills/implement/references/strategy-router.md +0 -38
  164. package/skills/implement/references/subagent-execution.md +0 -57
  165. package/skills/implement/references/wave-execution.md +0 -180
  166. package/skills/init/SKILL.md +0 -49
  167. package/skills/init/references/gitignore-and-health.md +0 -26
  168. package/skills/init/references/next-steps.md +0 -22
  169. package/skills/init/references/preflight.md +0 -15
  170. package/skills/init/references/scaffold-contract.md +0 -27
  171. package/skills/review/SKILL.md +0 -82
  172. package/skills/review/references/optional-passes.md +0 -48
  173. package/skills/review/references/preflight.md +0 -38
  174. package/skills/review/references/report-contract.md +0 -49
  175. package/skills/review/references/reporting.md +0 -20
  176. package/skills/review/references/stage-execution.md +0 -32
  177. package/skills/security-audit/SKILL.md +0 -47
  178. package/skills/security-audit/references/audit-contract.md +0 -21
  179. package/skills/security-audit/references/gate-handoff.md +0 -8
  180. package/skills/security-audit/references/scope-and-depth.md +0 -9
  181. package/skills/spec/SKILL.md +0 -100
  182. package/skills/spec/references/artifact-landing.md +0 -31
  183. package/skills/spec/references/phase-execution.md +0 -50
  184. package/skills/spec/references/planning-review.md +0 -31
  185. package/skills/spec/references/preflight-and-routing.md +0 -46
  186. package/skills/spec/references/reporting.md +0 -21
  187. package/skills/start/SKILL.md +0 -84
  188. package/skills/start/references/branch-routing.md +0 -51
  189. package/skills/start/references/mode-semantics.md +0 -12
  190. package/skills/start/references/preflight.md +0 -13
  191. package/skills/start/references/reporting.md +0 -20
  192. package/skills/start/references/state-seeding.md +0 -44
  193. package/skills/start/references/workflow-handoff.md +0 -26
  194. package/skills/status/SKILL.md +0 -41
  195. package/skills/status/references/gather-contract.md +0 -30
  196. package/skills/status/references/health-rules.md +0 -27
  197. package/skills/status/references/output-contract.md +0 -25
  198. package/skills/status/references/preflight.md +0 -10
  199. package/skills/status/references/recovery-hints.md +0 -18
  200. package/skills/ui-sketch/SKILL.md +0 -39
  201. package/skills/ui-sketch/references/brief-intake.md +0 -10
  202. package/skills/ui-sketch/references/iteration-handoff.md +0 -5
  203. package/skills/ui-sketch/references/variant-contract.md +0 -15
  204. package/skills/verify/SKILL.md +0 -56
  205. package/skills/verify/references/evidence-workflow.md +0 -39
  206. package/skills/verify/references/output-contract.md +0 -23
  207. package/skills/verify/references/preflight.md +0 -11
  208. package/skills/verify/references/report-handoff.md +0 -35
  209. package/skills/verify/references/strict-mode.md +0 -12
  210. package/templates/CONTEXT.md.tmpl +0 -53
  211. package/templates/PROJECT.md.tmpl +0 -59
  212. package/templates/ROADMAP.md.tmpl +0 -50
  213. package/templates/STATE.md.tmpl +0 -49
  214. package/templates/config.json.tmpl +0 -51
  215. package/templates/design.md.tmpl +0 -83
  216. package/templates/progress.md.tmpl +0 -77
  217. package/templates/requirements.md.tmpl +0 -76
  218. package/templates/research.md.tmpl +0 -83
  219. package/templates/tasks.md.tmpl +0 -107
@@ -1,165 +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
- "native_task_map": {
103
- "type": "object",
104
- "description": "Best-effort mapping from CurDX task ids (for example 1.2 or 4.VF) to Claude native task ids for interactive task-list sync.",
105
- "additionalProperties": {
106
- "type": "string"
107
- }
108
- },
109
- "native_sync_enabled": {
110
- "type": "boolean",
111
- "default": true,
112
- "description": "When false, execution skips Claude native task-list sync and relies only on tasks.md plus state.json."
113
- },
114
- "native_sync_failure_count": {
115
- "type": "integer",
116
- "minimum": 0,
117
- "default": 0,
118
- "description": "Consecutive best-effort native task sync failures during the current execute run."
119
- }
120
- }
121
- },
122
- "decisions": {
123
- "type": "array",
124
- "description": "Decisions locked in this spec (mirror of what's in STATE.md)",
125
- "items": {
126
- "type": "object",
127
- "required": ["id", "decision"],
128
- "properties": {
129
- "id": {
130
- "type": "string",
131
- "pattern": "^D-[0-9]{2,}$"
132
- },
133
- "decision": { "type": "string" },
134
- "rationale": { "type": "string" },
135
- "timestamp": {
136
- "type": "string",
137
- "format": "date-time"
138
- }
139
- }
140
- }
141
- },
142
- "gates_enabled": {
143
- "type": "array",
144
- "items": { "type": "string" }
145
- },
146
- "agents_active": {
147
- "type": "array",
148
- "items": { "type": "string" }
149
- },
150
- "created": {
151
- "type": "string",
152
- "format": "date"
153
- },
154
- "updated": {
155
- "type": "string",
156
- "format": "date-time"
157
- }
158
- },
159
- "definitions": {
160
- "phaseStatus": {
161
- "type": "string",
162
- "enum": ["not_started", "in_progress", "completed", "skipped", "failed"]
163
- }
164
- }
165
- }
package/settings.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "agent": "flow-orchestrator",
3
- "subagentStatusLine": {
4
- "type": "command",
5
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/subagent-statusline.sh",
6
- "refreshInterval": 5
7
- }
8
- }
@@ -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`.