@jakkrichm/create-nexus-devflow 2.5.0 β 2.6.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.
- package/README.md +58 -45
- package/dist/lib/core-skill-inventory.d.ts +16 -0
- package/dist/lib/core-skill-inventory.js +96 -0
- package/dist/lib/core-skill-inventory.js.map +1 -0
- package/dist/lib/doctor.js +13 -10
- package/dist/lib/doctor.js.map +1 -1
- package/dist/lib/update.js +5 -8
- package/dist/lib/update.js.map +1 -1
- package/dist/scripts/prepare-template.js +19 -16
- package/dist/scripts/prepare-template.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/check/SKILL.md +78 -75
- package/template/.agents/skills/debug/SKILL.md +76 -94
- package/template/.agents/skills/discovery/SKILL.md +7 -9
- package/template/.claude/skills/check/SKILL.md +78 -75
- package/template/.claude/skills/debug/SKILL.md +76 -94
- package/template/.claude/skills/discovery/SKILL.md +7 -9
- package/template/AGENTS.md +1 -1
- package/template/devflow/context/ai-interaction.md +5 -6
- package/template/devflow/context/coding-standards.md +31 -6
- package/template/devflow/context/current-stage.md +10 -7
- package/template/devflow/history/HISTORY.md +1 -1
- package/template/devflow/project-plan.md +2 -2
|
@@ -1,108 +1,111 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: check
|
|
3
|
-
description: "[devflow][F] Prove the current work actually does what its spec says
|
|
3
|
+
description: "[devflow][F] Prove the current work actually does what its spec says and adheres to architectural standards through a Dual-Axis Independent Review (Spec Fidelity + Standards & Architecture). Drives the app (browser, CLI, or server), captures empirical evidence (screenshots, output, console/network errors), checks against 12 Fowler smells and deep-module standards, and reports pass/fail. Does not edit source or commit - it observes; fixing stays /implement's job. Use when the user runs /check, asks to confirm a step or feature works, wants proof before /complete, or wants to check a change in the running app rather than just the build."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# check -
|
|
6
|
+
# check - Dual-Axis Independent Verification Engine
|
|
7
7
|
|
|
8
8
|
Where this sits in the workflow:
|
|
9
9
|
|
|
10
10
|
/implement -> [check] -> /complete
|
|
11
|
-
(built a (
|
|
12
|
-
step or
|
|
13
|
-
the feature)
|
|
11
|
+
(built a (dual-axis (only once both
|
|
12
|
+
step or review with axes pass with
|
|
13
|
+
the feature) empirical proof) evidence)
|
|
14
14
|
|
|
15
|
-
`/implement` builds and does a quick build-plus-screenshot check inline. `/check`
|
|
16
|
-
is the deeper, repeatable gate for when a "done when" needs the *real running app*,
|
|
17
|
-
not just a green build: a click that triggers a download, a route that returns a
|
|
18
|
-
file, a flow across screens. Run it on a single step whose done-when is
|
|
19
|
-
behavioral, or on the whole feature as the acceptance check before `/complete`.
|
|
15
|
+
`/implement` builds and does a quick build-plus-screenshot check inline. `/check` is the rigorous, repeatable gate for when a feature or step needs **empirical proof** on the running app and **two-axis code review** before merging.
|
|
20
16
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
It changes no source and commits nothing β it executes, inspects, and reports observed facts.
|
|
18
|
+
|
|
19
|
+
---
|
|
24
20
|
|
|
25
21
|
## Input
|
|
26
22
|
|
|
27
|
-
Optional: a specific
|
|
28
|
-
verify the whole current feature against every "done when" in
|
|
29
|
-
`devflow/context/current-feature.md`.
|
|
23
|
+
Optional: a specific target to check (a step, a flow, a URL). With no argument, verify the whole current feature against `devflow/context/current-feature.md` and `devflow/context/coding-standards.md`.
|
|
30
24
|
|
|
31
|
-
|
|
25
|
+
---
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
criteria from the build steps (and any acceptance notes in the Testing section).
|
|
35
|
-
Turn them into a concrete checklist of claims to prove - each one a specific,
|
|
36
|
-
observable behavior, not "it works". If the user named one thing, scope to that.
|
|
27
|
+
## Step 1 - Build the Dual-Axis Review Matrix
|
|
37
28
|
|
|
38
|
-
|
|
29
|
+
Read `devflow/context/current-feature.md` and `devflow/context/coding-standards.md`. Prepare the inspection criteria across two independent axes:
|
|
39
30
|
|
|
40
|
-
|
|
31
|
+
1. **Axis 1 (Standards & Architecture Criteria)**:
|
|
32
|
+
- Coding conventions in `coding-standards.md`
|
|
33
|
+
- Deep Modules discipline (Small interface, deep implementation, clean seams, no leaky abstractions)
|
|
34
|
+
- Baseline 12 Fowler Code Smells (Primitive obsession, Feature envy, Shotgun surgery, Speculative generality, etc.)
|
|
35
|
+
- Multi-lane technical gates (Typecheck, test suites, zero secrets, zero P0/P1 findings)
|
|
36
|
+
2. **Axis 2 (Spec Fidelity & Behavioral Observables)**:
|
|
37
|
+
- Line-by-line Acceptance Criteria (ACs) and "Done When" observables from `current-feature.md`
|
|
38
|
+
- Scope Creep detection (Unrequested behavior in the diff)
|
|
39
|
+
- Missing Requirements detection (Unimplemented edge cases)
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
type:
|
|
41
|
+
---
|
|
44
42
|
|
|
45
|
-
|
|
46
|
-
to the relevant routes. Prefer reusing an already-running server over starting a
|
|
47
|
-
duplicate. If Playwright is already installed or declared in `AGENTS.md`, prefer
|
|
48
|
-
it for browser driving, screenshots, console errors, and failed request checks.
|
|
49
|
-
If it is not installed, do not add it from `/check`; use another real-browser
|
|
50
|
-
evidence path and report what you used.
|
|
51
|
-
- **CLI** - run the actual command(s) with representative inputs.
|
|
52
|
-
- **Server/API** - start it and hit the endpoints.
|
|
53
|
-
- **Library** - exercise the public API through an example or the test command.
|
|
43
|
+
## Step 2 - Get the App Running & Exercise Live Proof
|
|
54
44
|
|
|
55
|
-
|
|
56
|
-
`/check` is broader than unit tests: it checks real behavior, which is exactly the
|
|
57
|
-
evidence UI and integration steps ride on instead of unit tests.
|
|
45
|
+
Use the project's real commands (from `AGENTS.md`):
|
|
58
46
|
|
|
59
|
-
|
|
47
|
+
- **Web app**: Start (or reuse) the local dev server. Drive a real browser to relevant routes. Prefer Playwright when installed for screenshots, network errors, and console assertions.
|
|
48
|
+
- **CLI**: Execute commands with representative input fixtures, asserting exit codes and output snapshots.
|
|
49
|
+
- **Server / API**: Hit endpoints with real payloads and assert on HTTP response status and bodies.
|
|
50
|
+
- **Library**: Exercise public interfaces through integration tests or sample scripts.
|
|
60
51
|
|
|
61
|
-
|
|
52
|
+
> [!IMPORTANT]
|
|
53
|
+
> **Evidence or it didn't happen**: Every verdict must be backed by empirical evidence (screenshot, command output, status code, response time). Never assume a pass from reading source code alone.
|
|
62
54
|
|
|
63
|
-
|
|
64
|
-
from the code what the running app would do.
|
|
65
|
-
- Capture **screenshots** for visual/UI claims, **output** for CLI/API claims.
|
|
66
|
-
- Watch for **console errors and failed network requests**; a clean-looking screen
|
|
67
|
-
with errors in the console is not a pass.
|
|
55
|
+
---
|
|
68
56
|
|
|
69
|
-
## Step
|
|
57
|
+
## Step 3 - Dual-Axis Independent Report
|
|
70
58
|
|
|
71
|
-
Format the
|
|
59
|
+
Format the report into two distinct, un-merged review axes:
|
|
72
60
|
|
|
73
|
-
|
|
74
|
-
|
|
61
|
+
```markdown
|
|
62
|
+
# π Verification Report: [Feature Name]
|
|
75
63
|
|
|
76
|
-
|
|
77
|
-
[pass] AC-2: Both buttons show a loading state - screenshot: loading-state.png
|
|
78
|
-
[fail] AC-3: PDF border missing - printBackground not set; screenshot: pdf-no-border.png
|
|
79
|
-
[skip] AC-4: Vercel deploy smoke test - can't verify locally (pending staging)
|
|
64
|
+
## βοΈ Axis 1: Standards, Architecture & Quality Gate
|
|
80
65
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
- **
|
|
66
|
+
- **Technical Lanes**:
|
|
67
|
+
- [pass] Type Safety: `tsc --noEmit` (0 errors)
|
|
68
|
+
- [pass] Automated Tests: `npm test` (All tests green)
|
|
69
|
+
- [pass] Security & Hygiene: Zero secrets, sanitized inputs
|
|
70
|
+
- [pass] Findings Ledger: 0 blocking P0/P1 in `devflow/context/findings.md`
|
|
71
|
+
- **Deep Modules & Architecture**:
|
|
72
|
+
- [pass] Seam Integrity: Public interfaces remain small, implementation details hidden.
|
|
73
|
+
- [pass] The Deletion Test: Complexity is concentrated inside the module, not scattered across callers.
|
|
74
|
+
- **Code Smells Assessment**:
|
|
75
|
+
- [clean] 12 Fowler Code Smells evaluated across git diff: No critical smells detected.
|
|
87
76
|
|
|
88
|
-
|
|
89
|
-
- **All Passed**: State that the feature is verified and ready for `/complete`.
|
|
90
|
-
- **Any Failure**: Hand back to `/implement` with exact failure evidence and reproduction steps. Never fix issues inside `/check`.
|
|
91
|
-
- **Unverifiable**: Clearly state reasons and residual risk. Never fabricate a pass.
|
|
77
|
+
## π― Axis 2: Spec Fidelity & Behavioral Acceptance Gate
|
|
92
78
|
|
|
93
|
-
|
|
79
|
+
Line-by-line verification against `current-feature.md`:
|
|
80
|
+
- [pass] **AC-1 (<title>)**: <Observed empirical evidence / screenshot path>
|
|
81
|
+
- [pass] **AC-2 (<title>)**: <Observed empirical evidence / terminal output>
|
|
82
|
+
- [fail] **AC-3 (<title>)**: <Exact observed failure with reproduction command>
|
|
83
|
+
- [clean] **Scope Creep Check**: No unrequested features or unnecessary abstractions introduced.
|
|
84
|
+
- [clean] **Completeness Check**: 100% of spec requirements addressed.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## π¦ Final Routing & Verdict
|
|
94
89
|
|
|
95
|
-
- **
|
|
96
|
-
|
|
97
|
-
- **
|
|
98
|
-
|
|
99
|
-
- **Honest over green.** "Couldn't verify" and "failed" are valid, useful results.
|
|
100
|
-
Faking a pass defeats the entire gate.
|
|
101
|
-
- **Check the spec, not vibes.** Verify against the done-whens in
|
|
102
|
-
`current-feature.md`, so "works" means what the spec said it would do.
|
|
90
|
+
- **ALL PASSED**: Both axes green. Ready for `/complete`.
|
|
91
|
+
- **ANY FAILURE**: Hand back to `/implement` with exact failure evidence and reproduction steps.
|
|
92
|
+
- **UNVERIFIABLE**: Clearly document the gap and residual risk. Never fabricate a pass.
|
|
93
|
+
```
|
|
103
94
|
|
|
104
|
-
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Why Two Independent Axes?
|
|
98
|
+
|
|
99
|
+
A code change can pass one axis and fail the other:
|
|
100
|
+
- **Standards Pass, Spec Fail**: Code is beautifully architected and tested, but implements the wrong business behavior.
|
|
101
|
+
- **Spec Pass, Standards Fail**: Feature works end-to-end, but violates encapsulation, introduces shallow modules, or leaks secrets.
|
|
102
|
+
|
|
103
|
+
Reporting both axes side-by-side stops elegance from masking functional bugs, and stops functional completeness from excusing architectural rot.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Rules
|
|
105
108
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
- **Observe, don't change**: `/check` runs the app and reports. It never edits source or commits. Fixing is `/implement`'s job.
|
|
110
|
+
- **Honest over green**: "Failed" and "Could not verify" are valid, valuable outputs. Faking a pass destroys the gate.
|
|
111
|
+
- **Check the spec, not vibes**: Verify against documented ACs, not subjective feelings.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: debug
|
|
3
|
-
description: "[devflow][B] Diagnose a failing test, broken build, crash, error, regression, or unexpected behavior without editing source or
|
|
3
|
+
description: "[devflow][B] Diagnose a failing test, broken build, crash, error, regression, or unexpected behavior without editing source or DevFlow state. Follows a strict 6-Phase Scientific Debugging Loop: builds a red-capable tight feedback loop, reproduces & minimises, tests 3-5 falsifiable hypotheses, localizes the failure to a root cause, and reports a repair handoff to /fix or /implement. Use when the user runs /debug, invokes $debug, asks why something is failing or broken, wants a root-cause investigation, or asks to diagnose before fixing."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# debug -
|
|
6
|
+
# debug - 6-Phase Scientific Debugging Protocol
|
|
7
7
|
|
|
8
8
|
Where this sits in the workflow:
|
|
9
9
|
|
|
@@ -12,130 +12,112 @@ Where this sits in the workflow:
|
|
|
12
12
|
crash, behavior) isolate, repair active work)
|
|
13
13
|
explain)
|
|
14
14
|
|
|
15
|
-
`/debug` separates diagnosis from repair. It gathers evidence, narrows the
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
`/debug` separates diagnosis from repair. It gathers empirical evidence, narrows the failure to a specific root cause using scientific method, and stops with an actionable repair handoff. It does not guess, assume, or perform ad-hoc "vibe debugging".
|
|
16
|
+
|
|
17
|
+
---
|
|
18
18
|
|
|
19
19
|
## Input
|
|
20
20
|
|
|
21
21
|
Accept a symptom, failing command, error message, or unexpected behavior. Examples:
|
|
22
22
|
|
|
23
|
-
/debug npm test fails in cart-total.test.
|
|
23
|
+
/debug npm test fails in cart-total.test.ts
|
|
24
24
|
/debug the upload route returns 500 for PNG files
|
|
25
|
-
/debug why does the
|
|
25
|
+
/debug why does the build fail on Windows?
|
|
26
26
|
|
|
27
|
-
With no useful symptom, ask for
|
|
28
|
-
smallest known reproduction. Do not guess which problem the user means.
|
|
27
|
+
With no useful symptom, ask for expected behavior, actual behavior, and smallest known reproduction. Do not guess.
|
|
29
28
|
|
|
30
|
-
|
|
29
|
+
---
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
## π¬ The 6-Phase Scientific Debugging Loop
|
|
33
32
|
|
|
34
|
-
-
|
|
35
|
-
- `devflow/context/project-overview.md`
|
|
36
|
-
- `devflow/context/coding-standards.md`
|
|
37
|
-
- `devflow/context/current-feature.md`
|
|
38
|
-
- the reported error, failing output, and affected files
|
|
39
|
-
- git status, diff, and recent log when a regression is possible
|
|
33
|
+
### Phase 1: Build a Red-Capable Feedback Loop (Golden Rule)
|
|
40
34
|
|
|
41
|
-
|
|
42
|
-
failure belongs to an active feature or is an unplanned bug.
|
|
35
|
+
**This is the core discipline.** If you have a **tight** pass/fail command that actively goes RED on this bug, you will find the root cause. If you do not have one, staring at code will not save you.
|
|
43
36
|
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
**Spend disproportionate effort here. Ways to construct one (in order):**
|
|
38
|
+
1. **Failing Unit / Integration Test** at the responsible module seam.
|
|
39
|
+
2. **Curl / HTTP script** against the running local dev server.
|
|
40
|
+
3. **CLI invocation** diffing stdout/stderr against expected output.
|
|
41
|
+
4. **Headless browser script** (Playwright) asserting on DOM/network/console.
|
|
42
|
+
5. **Replay captured trace**: Replay isolated payload/event log through the code path.
|
|
46
43
|
|
|
47
|
-
|
|
44
|
+
**Completion Criterion for Phase 1**:
|
|
45
|
+
You must name **one single command** (a test invocation, a script, or curl) that you have **already run at least once** and proven:
|
|
46
|
+
- [ ] **Red-capable**: It exercises the actual code path and catches the user's exact symptom (fails red now, will pass green once fixed).
|
|
47
|
+
- [ ] **Deterministic**: Returns the same verdict every run.
|
|
48
|
+
- [ ] **Fast & Agent-runnable**: Completes in seconds, executable without manual intervention.
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
> [!CAUTION]
|
|
51
|
+
> **No Red-Capable Command = No Phase 2.** If you catch yourself reading code to form theories before this command exists, **STOP**. Jumping straight to a hypothesis is the exact failure this protocol prevents.
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
- Capture the exact exit code, error, stack trace, output, response, console
|
|
53
|
-
error, or failed request.
|
|
54
|
-
- Reuse an already-running local app when available. If reproduction requires a
|
|
55
|
-
long-running server that is not running, ask the user to start it and provide
|
|
56
|
-
the documented command.
|
|
57
|
-
- Do not install dependencies, change configuration, run migrations, mutate
|
|
58
|
-
production data, contact external users, or use destructive commands to force
|
|
59
|
-
a reproduction.
|
|
60
|
-
- Do not edit code to add logs or probes. Use existing logs, debuggers,
|
|
61
|
-
read-only inspection, or one-off commands that do not change project files.
|
|
62
|
-
- Compare git status after diagnostic commands. If one changes tracked or
|
|
63
|
-
untracked project files, stop and report those paths. Do not clean, restore,
|
|
64
|
-
or hide the changes.
|
|
53
|
+
---
|
|
65
54
|
|
|
66
|
-
|
|
67
|
-
missing. Continue with static investigation only when it can produce a clearly
|
|
68
|
-
labeled hypothesis, not a claimed root cause.
|
|
55
|
+
### Phase 2: Reproduce & Minimise
|
|
69
56
|
|
|
70
|
-
|
|
57
|
+
Run the feedback loop and watch it go RED.
|
|
71
58
|
|
|
72
|
-
|
|
59
|
+
1. **Confirm Symptom**: Ensure the failure mode matches what the user reported (not a nearby unrelated error).
|
|
60
|
+
2. **Minimise the Repro**: Cut inputs, configs, dependencies, and steps **one at a time**, re-running the command after each cut. Keep only what is load-bearing for the failure.
|
|
61
|
+
3. **Done when**: Every remaining parameter is load-bearing (removing any one makes the loop go green).
|
|
73
62
|
|
|
74
|
-
|
|
63
|
+
---
|
|
75
64
|
|
|
76
|
-
|
|
77
|
-
- the smallest failing test and its inputs
|
|
78
|
-
- request and response data at the failing boundary
|
|
79
|
-
- console and network errors
|
|
80
|
-
- callers, imports, data flow, and configuration reads
|
|
81
|
-
- `git diff`, `git log`, and `git blame` for a suspected regression
|
|
82
|
-
- comparison with a nearby working path or input
|
|
65
|
+
### Phase 3: Form 3β5 Ranked Falsifiable Hypotheses
|
|
83
66
|
|
|
84
|
-
|
|
85
|
-
first. Do not stop at the first plausible line, blame a dependency without
|
|
86
|
-
evidence, or confuse the place an error surfaced with the place it originated.
|
|
67
|
+
Generate **3 to 5 ranked hypotheses** before testing or inspecting deeply. Never anchor on the first plausible idea.
|
|
87
68
|
|
|
88
|
-
|
|
69
|
+
Every hypothesis MUST be **falsifiable** using this exact format:
|
|
70
|
+
> *"If `<X>` is the cause, then `<changing Y>` will make the bug disappear / `<changing Z>` will make it worse."*
|
|
89
71
|
|
|
90
|
-
|
|
72
|
+
If you cannot state the prediction, it is a vibe: sharpen or discard it.
|
|
91
73
|
|
|
92
|
-
|
|
93
|
-
2. the responsible code, configuration, or contract
|
|
94
|
-
3. the observed failure
|
|
74
|
+
---
|
|
95
75
|
|
|
96
|
-
|
|
97
|
-
confirm the connection. Do not change implementation or tests to prove the fix.
|
|
76
|
+
### Phase 4: Targeted Instrumentation & Isolation
|
|
98
77
|
|
|
99
|
-
|
|
78
|
+
Test hypotheses by changing **one variable at a time**:
|
|
79
|
+
1. **Tool preference**: Read-only inspection > REPL/debugger > Targeted probe logs.
|
|
80
|
+
2. **Debug Tag Rule**: If temporary diagnostic logs are necessary, tag every log line with a unique prefix, e.g. `[DEBUG-a4f2]`. This guarantees a single `grep` can find and remove all probes.
|
|
81
|
+
3. **Redaction**: Redact all secrets, tokens, and credentials in terminal outputs (`<REDACTED>`).
|
|
100
82
|
|
|
101
|
-
|
|
102
|
-
- **Likely** - evidence narrows the cause, but one specific proof is unavailable.
|
|
103
|
-
- **Blocked** - the failure cannot be reproduced or required evidence is
|
|
104
|
-
inaccessible.
|
|
83
|
+
---
|
|
105
84
|
|
|
106
|
-
|
|
85
|
+
### Phase 5: Confirm Root Cause at Real Seam
|
|
107
86
|
|
|
108
|
-
|
|
87
|
+
A root cause is **Confirmed** only when empirical evidence connects all three:
|
|
88
|
+
1. The triggering input or state
|
|
89
|
+
2. The responsible code / configuration boundary
|
|
90
|
+
3. The observed failure
|
|
109
91
|
|
|
110
|
-
-
|
|
111
|
-
- verdict
|
|
112
|
-
- root cause or leading hypothesis
|
|
113
|
-
- evidence, including commands and relevant paths
|
|
114
|
-
- affected behavior and likely repair boundary
|
|
115
|
-
- what was not verified
|
|
116
|
-
- exact next action
|
|
92
|
+
**Seam Identification**: Identify the exact architectural seam (per `devflow/context/coding-standards.md` Deep Modules) where the regression test must live. If no clean seam exists, note that as an architectural finding.
|
|
117
93
|
|
|
118
|
-
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### Phase 6: Report & Hand-off
|
|
97
|
+
|
|
98
|
+
Give a structured, concise debug report:
|
|
119
99
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
-
|
|
100
|
+
```markdown
|
|
101
|
+
### π Debug Report: <Concise Title>
|
|
102
|
+
|
|
103
|
+
- **Symptom**: <Exact user symptom observed>
|
|
104
|
+
- **Reproduction Command**: `<Single red-capable command>`
|
|
105
|
+
- **Verdict**: Confirmed | Likely | Blocked
|
|
106
|
+
- **Root Cause**: <Precise technical explanation of why it failed>
|
|
107
|
+
- **Responsible Seam**: `<path/to/file.ts#line>`
|
|
108
|
+
- **Evidence**:
|
|
109
|
+
- Test/Curl output confirming the red signal
|
|
110
|
+
- Trace connecting triggering state to failure
|
|
111
|
+
- **Next Action**:
|
|
112
|
+
- For active feature -> Hand back to `/implement` with instructions to write failing test first.
|
|
113
|
+
- For standalone bug -> Recommend `/fix "<concise description>"` to create spec and implement regression test.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
124
117
|
|
|
125
118
|
## Rules
|
|
126
119
|
|
|
127
|
-
- Diagnose, do not repair
|
|
128
|
-
|
|
129
|
-
- Never
|
|
130
|
-
-
|
|
131
|
-
findings; `/debug` reports one investigated failure in chat.
|
|
132
|
-
- Evidence outranks confidence. Label uncertainty and failed reproduction
|
|
133
|
-
honestly.
|
|
134
|
-
- Preserve the user's working tree and running processes.
|
|
135
|
-
- Do not broaden one failure into a general audit or refactor.
|
|
136
|
-
|
|
137
|
-
## Formatting
|
|
138
|
-
|
|
139
|
-
Format the output to match the project's conventions in
|
|
140
|
-
`devflow/context/ai-interaction.md`: concise, scannable markdown with a short
|
|
141
|
-
evidence list and a clear next action.
|
|
120
|
+
- **Diagnose, do not repair**: Never edit production source, package lockfiles, or DevFlow state inside `/debug`.
|
|
121
|
+
- **Evidence outranks confidence**: Label uncertainty honestly (`Likely` vs `Confirmed`).
|
|
122
|
+
- **Preserve git state**: Never switch branches, commit, reset, or clean the working tree.
|
|
123
|
+
- **Clean up probes**: Ensure any temporary test scripts in scratch/ are cleanly referenced.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: discovery
|
|
3
|
-
description: "[devflow][D] Unified discovery and exploration stage in DevFlow 2.0 - conducts project-level roadmap discovery (project-plan.md/build-plan.md) or feature-level exploration
|
|
3
|
+
description: "[devflow][D] Unified discovery and exploration stage in DevFlow 2.5.0 - conducts project-level roadmap discovery (project-plan.md/build-plan.md) or feature-level pre-delivery exploration before the Single Living Spec lifecycle."
|
|
4
4
|
argument-hint: "[{title, request, IDEA-xxx, or discovery-id}]"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ $ARGUMENTS
|
|
|
10
10
|
|
|
11
11
|
`/discovery` is the central discovery entry point in Nexus-DevFlow. It operates in two adaptive modes based on input scope:
|
|
12
12
|
1. **πΊοΈ Macro Project Discovery**: Develops high-level product and build roadmap plans (`devflow/project-plan.md` & `devflow/build-plan.md`) through an adaptive conversation before `/overview`.
|
|
13
|
-
2. **π Micro Feature Exploration (
|
|
13
|
+
2. **π Micro Feature Exploration (Pre-Flight)**: Explores a specific feature, request, or idea before committing to delivery, routes through supporting lenses, and finishes with a visible `Proceed`, `Defer`, or `Reject` decision before `/feature` or `/fix`.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -21,7 +21,7 @@ $ARGUMENTS
|
|
|
21
21
|
/discovery
|
|
22
22
|
/discovery --project
|
|
23
23
|
|
|
24
|
-
# 2. Micro Feature Exploration Mode (
|
|
24
|
+
# 2. Micro Feature Exploration Mode (Pre-Flight)
|
|
25
25
|
/discovery {title or request}
|
|
26
26
|
/discovery IDEA-xxx
|
|
27
27
|
/discovery {discovery-id}
|
|
@@ -44,7 +44,7 @@ Use when:
|
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
|
-
## Mode 2: Micro Feature Exploration (
|
|
47
|
+
## Mode 2: Micro Feature Exploration (Pre-Flight)
|
|
48
48
|
|
|
49
49
|
Use when:
|
|
50
50
|
- Exploring a specific feature, complex architectural change, or pending idea (`/discovery IDEA-xxx`).
|
|
@@ -76,8 +76,7 @@ devflow/discoveries/{DISCOVERY_ID}-{slug}/discovery.md
|
|
|
76
76
|
### Decision & Approval Gate:
|
|
77
77
|
Set one visible decision:
|
|
78
78
|
- `Proceed`: Enough value and evidence exist to define delivery work:
|
|
79
|
-
-
|
|
80
|
-
- **ποΈ Deep-Track (For large architectural epics/migrations)**: Handoff to `10-define {discovery_id}` (writes `devflow/context/current-run/10-define.md`).
|
|
79
|
+
- Handoff to `/feature {discovery_id}` or `/fix {discovery_id}` to create the Single Living Spec in `devflow/context/current-feature.md`.
|
|
81
80
|
- `Defer`: The idea remains relevant but timing or evidence is not ready.
|
|
82
81
|
- `Reject`: The idea should not proceed under current framing.
|
|
83
82
|
|
|
@@ -86,6 +85,5 @@ Set one visible decision:
|
|
|
86
85
|
## Next Workflow Recommendations
|
|
87
86
|
|
|
88
87
|
- **From Macro Project Mode**: Run `/overview` to compile context into `devflow/context/project-overview.md`.
|
|
89
|
-
- **From Micro
|
|
90
|
-
- **From Micro
|
|
91
|
-
- **From Micro Stage 00 (Defer / Reject)**: No next command needed.
|
|
88
|
+
- **From Micro Pre-Flight (Approved Proceed)**: Run `/feature {discovery_id}` or `/fix {discovery_id}` to start the Single Living Spec lifecycle.
|
|
89
|
+
- **From Micro Pre-Flight (Defer / Reject)**: No next command needed.
|