@jakkrichm/create-nexus-devflow 2.0.25 → 2.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.
- package/README.md +30 -8
- package/dist/bin/create-nexus-devflow.d.ts +22 -1
- package/dist/bin/create-nexus-devflow.js +658 -11
- package/dist/bin/create-nexus-devflow.js.map +1 -1
- package/dist/lib/branch-context.d.ts +39 -0
- package/dist/lib/branch-context.js +196 -0
- package/dist/lib/branch-context.js.map +1 -0
- package/dist/lib/code-graph.d.ts +30 -0
- package/dist/lib/code-graph.js +209 -0
- package/dist/lib/code-graph.js.map +1 -0
- package/dist/lib/command-catalog.d.ts +11 -0
- package/dist/lib/command-catalog.js +63 -0
- package/dist/lib/command-catalog.js.map +1 -0
- package/dist/lib/context-slicer.d.ts +31 -0
- package/dist/lib/context-slicer.js +234 -0
- package/dist/lib/context-slicer.js.map +1 -0
- package/dist/lib/current-work.js +97 -49
- package/dist/lib/current-work.js.map +1 -1
- package/dist/lib/dashboard-page.d.ts +2 -0
- package/dist/lib/dashboard-page.js +285 -0
- package/dist/lib/dashboard-page.js.map +1 -0
- package/dist/lib/dashboard-snapshot.d.ts +62 -0
- package/dist/lib/dashboard-snapshot.js +114 -0
- package/dist/lib/dashboard-snapshot.js.map +1 -0
- package/dist/lib/dashboard.d.ts +2 -0
- package/dist/lib/dashboard.js +398 -8
- package/dist/lib/dashboard.js.map +1 -1
- package/dist/lib/discoveries.d.ts +19 -0
- package/dist/lib/discoveries.js +81 -0
- package/dist/lib/discoveries.js.map +1 -0
- package/dist/lib/doctor.d.ts +26 -0
- package/dist/lib/doctor.js +474 -0
- package/dist/lib/doctor.js.map +1 -0
- package/dist/lib/drift-reconciler.d.ts +38 -0
- package/dist/lib/drift-reconciler.js +155 -0
- package/dist/lib/drift-reconciler.js.map +1 -0
- package/dist/lib/findings.d.ts +26 -2
- package/dist/lib/findings.js +165 -1
- package/dist/lib/findings.js.map +1 -1
- package/dist/lib/gatekeeper.d.ts +20 -0
- package/dist/lib/gatekeeper.js +106 -0
- package/dist/lib/gatekeeper.js.map +1 -0
- package/dist/lib/git-hooks.d.ts +16 -0
- package/dist/lib/git-hooks.js +103 -0
- package/dist/lib/git-hooks.js.map +1 -0
- package/dist/lib/history.d.ts +6 -1
- package/dist/lib/history.js +98 -11
- package/dist/lib/history.js.map +1 -1
- package/dist/lib/ide-extension.d.ts +38 -0
- package/dist/lib/ide-extension.js +61 -0
- package/dist/lib/ide-extension.js.map +1 -0
- package/dist/lib/ideas.d.ts +26 -0
- package/dist/lib/ideas.js +179 -0
- package/dist/lib/ideas.js.map +1 -0
- package/dist/lib/mcp.d.ts +36 -0
- package/dist/lib/mcp.js +653 -0
- package/dist/lib/mcp.js.map +1 -0
- package/dist/lib/status.d.ts +3 -1
- package/dist/lib/status.js +60 -6
- package/dist/lib/status.js.map +1 -1
- package/dist/lib/swarm-orchestrator.d.ts +31 -0
- package/dist/lib/swarm-orchestrator.js +134 -0
- package/dist/lib/swarm-orchestrator.js.map +1 -0
- package/dist/lib/update.js +2 -2
- package/dist/lib/update.js.map +1 -1
- package/dist/lib/version-check.d.ts +22 -0
- package/dist/lib/version-check.js +59 -0
- package/dist/lib/version-check.js.map +1 -0
- package/dist/lib/webview-studio.d.ts +8 -0
- package/dist/lib/webview-studio.js +463 -0
- package/dist/lib/webview-studio.js.map +1 -0
- package/dist/lib/workflow-state.d.ts +23 -0
- package/dist/lib/workflow-state.js +128 -0
- package/dist/lib/workflow-state.js.map +1 -0
- package/dist/scripts/prepare-template.js +3 -3
- package/package.json +1 -1
- package/template/{.claude/skills/00-discover → .agents/skills/00-explore}/SKILL.md +10 -10
- package/template/.agents/skills/10-define/SKILL.md +4 -4
- package/template/.agents/skills/20-spec/SKILL.md +2 -3
- package/template/.agents/skills/30-plan/SKILL.md +2 -3
- package/template/.agents/skills/40-execute/SKILL.md +2 -2
- package/template/.agents/skills/50-verify/SKILL.md +2 -2
- package/template/.agents/skills/60-report/SKILL.md +3 -3
- package/template/{.claude/skills/70-release → .agents/skills/70-deliver}/SKILL.md +7 -13
- package/template/.agents/skills/adopt/SKILL.md +136 -73
- package/template/.agents/skills/audit/SKILL.md +275 -0
- package/template/.agents/skills/autopilot/SKILL.md +228 -147
- package/template/.agents/skills/brainstorm/SKILL.md +3 -3
- package/template/.agents/skills/brief/SKILL.md +74 -51
- package/template/.agents/skills/check/SKILL.md +96 -76
- package/template/.agents/skills/ci/SKILL.md +140 -61
- package/template/.agents/skills/complete/SKILL.md +156 -101
- package/template/.agents/skills/convert-any-to-md/SKILL.md +2 -2
- package/template/.agents/skills/debug/SKILL.md +124 -49
- package/template/.agents/skills/devflow/SKILL.md +16 -10
- package/template/.agents/skills/discovery/SKILL.md +166 -0
- package/template/.agents/skills/doctor/SKILL.md +188 -72
- package/template/.agents/skills/feature/SKILL.md +195 -102
- package/template/.agents/skills/fix/SKILL.md +41 -90
- package/template/.agents/skills/idea/SKILL.md +3 -3
- package/template/.agents/skills/implement/SKILL.md +189 -46
- package/template/.agents/skills/onboard/SKILL.md +215 -85
- package/template/.agents/skills/overview/SKILL.md +51 -85
- package/template/.agents/skills/prototype/SKILL.md +82 -27
- package/template/.agents/skills/release/SKILL.md +160 -0
- package/template/.agents/skills/report-html/SKILL.md +2 -2
- package/template/.agents/skills/rollback/SKILL.md +123 -77
- package/template/.agents/skills/status/SKILL.md +109 -0
- package/template/.agents/skills/test/SKILL.md +2 -2
- package/template/.agents/skills/tests/SKILL.md +126 -0
- package/template/.agents/skills/try/SKILL.md +77 -65
- package/template/{.agents/skills/00-discover → .claude/skills/00-explore}/SKILL.md +9 -9
- package/template/.claude/skills/10-define/SKILL.md +2 -2
- package/template/.claude/skills/20-spec/SKILL.md +1 -1
- package/template/.claude/skills/30-plan/SKILL.md +1 -1
- package/template/.claude/skills/60-report/SKILL.md +1 -1
- package/template/{.agents/skills/70-release → .claude/skills/70-deliver}/SKILL.md +6 -12
- package/template/.claude/skills/adopt/SKILL.md +2 -2
- package/template/.claude/skills/audit/SKILL.md +141 -0
- package/template/.claude/skills/autopilot/SKILL.md +74 -52
- package/template/.claude/skills/brief/SKILL.md +67 -45
- package/template/.claude/skills/ci/SKILL.md +1 -1
- package/template/.claude/skills/complete/SKILL.md +1 -1
- package/template/.claude/skills/debug/SKILL.md +1 -1
- package/template/.claude/skills/devflow/SKILL.md +7 -7
- package/template/.claude/skills/discovery/SKILL.md +145 -0
- package/template/.claude/skills/doctor/SKILL.md +1 -1
- package/template/.claude/skills/feature/SKILL.md +67 -18
- package/template/.claude/skills/fix/SKILL.md +1 -1
- package/template/.claude/skills/idea/SKILL.md +2 -2
- package/template/.claude/skills/onboard/SKILL.md +3 -3
- package/template/.claude/skills/overview/SKILL.md +39 -88
- package/template/.claude/skills/prototype/SKILL.md +1 -1
- package/template/.claude/skills/release/SKILL.md +171 -0
- package/template/.claude/skills/rollback/SKILL.md +2 -2
- package/template/AGENTS.md +5 -5
- package/template/devflow/build-plan.md +62 -0
- package/template/devflow/context/ai-interaction.md +4 -4
- package/template/devflow/context/coding-standards.md +3 -3
- package/template/devflow/context/current-stage.md +1 -1
- package/template/devflow/context/findings.md +1 -1
- package/template/devflow/history/HISTORY.md +2 -2
- package/template/devflow/project-plan.md +79 -0
- package/template/devflow/reference/mockup.html +476 -0
- package/template/devflow/reference/project-overview-template.md +39 -0
- package/template/devflow/reference/running-id-contract.md +24 -2
- package/template/devflow/reference/studio.html +504 -0
|
@@ -1,105 +1,160 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: complete
|
|
3
|
-
description: "[
|
|
4
|
-
argument-hint: "{running-id or workspace path}"
|
|
3
|
+
description: "[devflow][F] Wrap up a finished feature, fix, or rollback. Runs a final safety pass, archives its spec to devflow/history/features/, devflow/history/fixes/, or devflow/history/rollbacks/, updates the build plan for features and rollbacks, resets devflow/context/current-feature.md to its stub, makes one work-level commit, then squash-merges the branch to main and deletes it. Merges only with explicit approval, then asks separately before pushing main. Use when the user runs /complete, or asks to finish, wrap up, merge, or close out the current feature, fix, or rollback after it is built and reviewed."
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
6
|
+
# complete - log the finished work, make the work commit, and merge
|
|
7
|
+
|
|
8
|
+
Where this sits in the workflow:
|
|
9
|
+
|
|
10
|
+
/feature, /fix, or /rollback -> /implement -> [complete] -> next
|
|
11
|
+
(the spec) (build it) (commit + merge + log)
|
|
12
|
+
|
|
13
|
+
`/implement` built the feature, fix, or rollback on its branch, with optional per-step commit
|
|
14
|
+
checkpoints. This skill closes it out: it logs the work, makes the single
|
|
15
|
+
work-level commit, and squash-merges. Run it only when the work is done,
|
|
16
|
+
reviewed, and the documented `Verify` command, or the fallback build and tests,
|
|
17
|
+
passes.
|
|
18
|
+
|
|
19
|
+
## Before you start
|
|
20
|
+
|
|
21
|
+
Confirm the work is actually finished: `devflow/context/current-feature.md`
|
|
22
|
+
holds a real spec, its steps are built on a branch, and `Verify`, or the fallback
|
|
23
|
+
build and tests, passes. If any of the
|
|
24
|
+
spec's done-whens are behavioral, `/check` should have proven them against the
|
|
25
|
+
running app first - don't merge on an unverified claim. Uncommitted step work is
|
|
26
|
+
expected (per-step checkpoints are optional); this skill commits it. Don't require
|
|
27
|
+
the steps to be pre-committed.
|
|
28
|
+
|
|
29
|
+
## Step 0 - final safety pass
|
|
30
|
+
|
|
31
|
+
Before logging or committing, run a short safety pass and report blockers only:
|
|
32
|
+
|
|
33
|
+
- active spec exists and the work is not being completed from `main` or `master`
|
|
34
|
+
- changed files are tied to the active spec, with no unrelated dirty work mixed
|
|
35
|
+
in (a dirty `devflow/context/findings.md` is expected, since `/audit` writes it)
|
|
36
|
+
- the exact `Verify` command from `AGENTS.md` passed in this session, when one is
|
|
37
|
+
declared; otherwise the build passed, and tests passed when the project has a
|
|
38
|
+
declared test command and the change touched logic
|
|
39
|
+
- behavioral done-whens have `/check` evidence or equivalent proof, and there is
|
|
40
|
+
a clear manual try path
|
|
41
|
+
- if workflow files changed, `.agents` and `.claude` stayed in sync where both
|
|
42
|
+
adapters exist
|
|
43
|
+
- no P0 or P1 finding in `devflow/context/findings.md` is `open` or `fixed`.
|
|
44
|
+
`fixed` still blocks on purpose: the repair exists but no review has looked at
|
|
45
|
+
it - run `/audit` to close it. The only waivers are `accepted` (the user's
|
|
46
|
+
explicit decision in the current chat, reason recorded; never set it for
|
|
47
|
+
them) or `invalid` (an `/audit` re-examination verdict with recorded
|
|
48
|
+
evidence, or the user's explicit call). A missing ledger file means no
|
|
49
|
+
findings.
|
|
50
|
+
|
|
51
|
+
Do not claim "passed", "verified", or "working" without naming the command,
|
|
52
|
+
route, screenshot, or output that proves it. Stop before Step 1 if required
|
|
53
|
+
evidence is missing.
|
|
54
|
+
|
|
55
|
+
## Step 1 - log the work
|
|
56
|
+
|
|
57
|
+
Check whether the spec is a feature, fix, or rollback. A fix is marked
|
|
58
|
+
`Type: Fix` and has no build-plan number. A rollback is marked `Type: Rollback`
|
|
59
|
+
and records the exact target feature, archive, commit, and parent.
|
|
60
|
+
|
|
61
|
+
- **Feature** - archive `devflow/context/current-feature.md` to `devflow/history/features/NN-name.md`
|
|
62
|
+
(NN is the build-plan number), and check it off in `devflow/build-plan.md`
|
|
63
|
+
(and its parent item once all sub-items are checked).
|
|
64
|
+
- **Fix** - archive it to `devflow/history/fixes/name.md`. A fix isn't a build-plan item, so
|
|
65
|
+
there's nothing to check off.
|
|
66
|
+
- **Rollback** - archive it to
|
|
67
|
+
`devflow/history/rollbacks/YYYY-MM-DD-NN-name.md`, preserving the original
|
|
68
|
+
completed feature archive. Create `devflow/history/rollbacks/` first if an
|
|
69
|
+
older Blueprint installation does not have it yet. Uncheck the exact target item in
|
|
70
|
+
`devflow/build-plan.md` and its parent when applicable, then append a concise
|
|
71
|
+
note to the target line with the rollback date and archive path. Keep the
|
|
72
|
+
feature number stable. If the user later decides the feature is permanently
|
|
73
|
+
abandoned rather than pending rebuild, that roadmap decision is a separate
|
|
74
|
+
plan edit.
|
|
75
|
+
|
|
76
|
+
**Archive resolved findings.** If `devflow/context/findings.md` holds any
|
|
77
|
+
findings, append a `## Findings` section to the archive file just written with
|
|
78
|
+
every `closed`, `accepted`, or `invalid` entry at its final status (`accepted`
|
|
79
|
+
entries keep their recorded reason). Prefix each ID with the archive name for
|
|
80
|
+
global uniqueness: feature 12's `F-03` becomes `12/F-03`; fixes and rollbacks
|
|
81
|
+
use their archive filename as the prefix. An entry carried forward from earlier
|
|
82
|
+
work archives with the item that resolved it; its **Found** line preserves
|
|
83
|
+
where it came from. Then remove the archived entries from the ledger. Unresolved entries (`open` or `fixed` P2/P3, and `unverified`
|
|
84
|
+
leads) stay in the ledger with their IDs so they are never silently dropped.
|
|
85
|
+
When nothing remains, reset the ledger to exactly this stub, and create it the
|
|
86
|
+
same way if the file is missing (an older install):
|
|
87
|
+
|
|
88
|
+
# Findings
|
|
89
|
+
|
|
90
|
+
> **Generated file.** The findings ledger: review findings raised by `/audit`
|
|
91
|
+
> against the work in progress, each with a durable ID, severity (P0-P3), and
|
|
92
|
+
> status. `/implement` marks repaired findings `fixed`, a later `/audit` pass
|
|
93
|
+
> moves them to `closed`, and `/complete` refuses to merge while any P0 or P1
|
|
94
|
+
> finding is `open` or `fixed`, then archives resolved findings with the work
|
|
95
|
+
> and resets this file.
|
|
96
|
+
|
|
97
|
+
_No findings recorded. `/audit` appends findings here when it finds them._
|
|
98
|
+
|
|
99
|
+
Then reset `devflow/context/current-feature.md` to its current stub ("nothing
|
|
100
|
+
in progress"), including `/rollback` alongside `/feature` and `/fix`. Don't
|
|
101
|
+
commit yet; the next step makes one work commit covering the code and these doc
|
|
102
|
+
changes. The archive is the build history.
|
|
103
|
+
|
|
104
|
+
**Discard consumed prototypes.** If this feature built the look from `prototypes/`
|
|
105
|
+
- its Design reference pointed there and an early step ported `prototypes/theme.css`
|
|
106
|
+
into the app - delete the `prototypes/` folder now. The tokens live in the real
|
|
107
|
+
stylesheet and the HTML mockups were always throwaway; fold the deletion into this
|
|
108
|
+
feature's commit. Skip this if the feature didn't consume prototypes.
|
|
109
|
+
|
|
110
|
+
## Step 2 - make the work commit
|
|
111
|
+
|
|
112
|
+
Stage everything on the branch (any uncommitted step work plus the Step 1 logging
|
|
113
|
+
changes) and make one conventional work commit (for example `feat: <feature>`,
|
|
114
|
+
`fix: <name>`, or `revert: roll back <feature>`). `Verify`, or the fallback build
|
|
115
|
+
and tests, must pass first.
|
|
116
|
+
|
|
117
|
+
## Step 3 - merge
|
|
118
|
+
|
|
119
|
+
1. Squash-merge the branch into main, only with the user's explicit go-ahead, so
|
|
120
|
+
the feature lands as one clean commit regardless of how many checkpoints the
|
|
121
|
+
branch carried.
|
|
122
|
+
2. Delete the branch after a clean merge.
|
|
123
|
+
3. Stop and ask whether to push local `main` to its upstream. The merge approval
|
|
124
|
+
does not count as push approval.
|
|
125
|
+
4. Push main only after a separate explicit yes to push main in the current chat.
|
|
126
|
+
If the repo has no remote or upstream, say so instead of guessing.
|
|
127
|
+
|
|
128
|
+
Then point the user at `/feature`, `/fix`, or `/rollback` for the next thing.
|
|
129
|
+
|
|
130
|
+
Finish with a concise **How to try it** note for the completed work. For a
|
|
131
|
+
rollback, explain how to confirm the removed behavior is gone and name one
|
|
132
|
+
unaffected regression path. If the
|
|
133
|
+
manual path is more than a couple of steps, tell the user to run `/try latest`;
|
|
134
|
+
that command can read the archived feature after `current-feature.md` is reset.
|
|
135
|
+
|
|
136
|
+
## Rules
|
|
137
|
+
|
|
138
|
+
- The work item is the unit of history: one squashed feature, fix, or rollback
|
|
139
|
+
commit on main, even if the branch carried several checkpoint commits.
|
|
140
|
+
- A rollback preserves the original feature archive and adds a separate rollback
|
|
141
|
+
archive. Never rewrite history to make the feature look as if it never existed.
|
|
142
|
+
- Don't merge unfinished or failing work. The documented `Verify` command, or
|
|
143
|
+
the fallback build and tests, must pass first.
|
|
144
|
+
- Never merge while a P0 or P1 finding is `open` or `fixed` in the ledger. The
|
|
145
|
+
recorded ways past the gate without code are `accepted` (only by the user's
|
|
146
|
+
explicit decision, with their reason) or `invalid` (only from re-examination
|
|
147
|
+
evidence or the user's explicit call); both travel into the archive, never a
|
|
148
|
+
silent drop.
|
|
149
|
+
- Merging and pushing are the user's calls: get an explicit yes for the merge,
|
|
150
|
+
then ask whether to push main. Do not treat merge approval, `/complete`, or
|
|
151
|
+
"looks good" as permission to push.
|
|
152
|
+
- Push main only after a separate explicit yes to push main in the current chat.
|
|
153
|
+
- One item per completion. If a parent feature still has unchecked sub-features,
|
|
154
|
+
leave the parent unchecked.
|
|
155
|
+
|
|
156
|
+
## Formatting
|
|
157
|
+
|
|
158
|
+
Format the output to match the project's conventions in
|
|
159
|
+
`devflow/context/ai-interaction.md`: concise, scannable markdown, with lists for
|
|
160
|
+
enumerations and tables for matrices rather than dense paragraphs.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: convert-any-to-md
|
|
3
|
-
description:
|
|
3
|
+
description: "[devflow][B] Converts any document (.xlsx, .pdf, .docx, .txt, .csv, .log, .json, .yaml, etc.) or mixed folders into clean Markdown in devflow/reference. Use whenever documents need to be analyzed, summarized, searched, or extracted from."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Convert Any Document to Markdown
|
|
@@ -77,4 +77,4 @@ python .agents/skills/convert-any-to-md/scripts/convert_any_to_md.py "C:\path\to
|
|
|
77
77
|
| `.txt`, `.csv`, `.json`, `.yaml`, `.log` | Plaintext Formatter | N/A | `<name>/<name>.md` |
|
|
78
78
|
|
|
79
79
|
> [!NOTE]
|
|
80
|
-
> Legacy binary formats (`.xls`, `.doc`) are not supported directly. Ask the user to re-save them as `.xlsx` / `.docx` first.
|
|
80
|
+
> Legacy binary formats (`.xls`, `.doc`) are not supported directly. Ask the user to re-save them as `.xlsx` / `.docx` first.
|
|
@@ -1,70 +1,145 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: debug
|
|
3
|
-
description: "[
|
|
3
|
+
description: "[devflow][B] Diagnose a failing test, broken build, crash, error, regression, or unexpected behavior without editing source or Blueprint state. Reproduces the symptom with the smallest safe command, localizes the failing path, tests competing hypotheses, identifies the root cause when evidence supports one, 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
|
-
#
|
|
6
|
+
# debug - find the cause before changing the code
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Where this sits in the workflow:
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
reported failure -> [debug] -> /fix or /implement
|
|
11
|
+
(test, build, (reproduce, (spec a new fix, or
|
|
12
|
+
crash, behavior) isolate, repair active work)
|
|
13
|
+
explain)
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```
|
|
15
|
+
`/debug` separates diagnosis from repair. It gathers evidence, narrows the
|
|
16
|
+
failure to a specific cause when possible, and stops with a useful handoff. It
|
|
17
|
+
does not make the code "temporarily work" while investigating.
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
## Input
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
Accept a symptom, failing command, error message, or unexpected behavior. Examples:
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- Rule: **Do not propose a code fix before the reproduction story is verified.**
|
|
23
|
+
/debug npm test fails in cart-total.test.js
|
|
24
|
+
/debug the upload route returns 500 for PNG files
|
|
25
|
+
/debug why does the production build fail?
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- Formulate specific criteria and evidence that would *falsify* each hypothesis.
|
|
27
|
+
With no useful symptom, ask for the expected behavior, actual behavior, and
|
|
28
|
+
smallest known reproduction. Do not guess which problem the user means.
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
- Trace code execution paths end-to-end (stack traces, logs, variable states, async boundaries).
|
|
32
|
-
- Inspect recent commits or configuration changes that touch the affected boundary.
|
|
33
|
-
- Test hypotheses methodically using tests and logging without altering business logic.
|
|
30
|
+
## Step 1 - establish the boundary
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
- State precisely *why* the bug occurred (underlying invariant violation).
|
|
37
|
-
- Define the minimal, robust architectural fix direction.
|
|
38
|
-
- Propose regression prevention measures (unit test, type guard, linter rule).
|
|
32
|
+
Read the project instructions and the context relevant to the failure:
|
|
39
33
|
|
|
40
|
-
|
|
34
|
+
- `AGENTS.md` and its real commands
|
|
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
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
State the symptom and what would count as reproducing it. Note whether the
|
|
42
|
+
failure belongs to an active feature or is an unplanned bug.
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
devflow/debug/rca-{slug}.md
|
|
47
|
-
```
|
|
44
|
+
Do not treat a dirty working tree as permission to discard or rewrite anything.
|
|
45
|
+
Use the diff as evidence and preserve it.
|
|
48
46
|
|
|
49
|
-
|
|
50
|
-
```markdown
|
|
51
|
-
## Debug Summary
|
|
47
|
+
## Step 2 - reproduce safely
|
|
52
48
|
|
|
53
|
-
|
|
54
|
-
2. **Evidence**: [Error logs, stack trace, file:line references]
|
|
55
|
-
3. **Investigation Path**: [Hypotheses tested and falsification proof]
|
|
56
|
-
4. **Root Cause**: [The exact mechanism causing the failure]
|
|
57
|
-
5. **Fix Direction**: [Recommended scoped change]
|
|
58
|
-
6. **Regression Guard**: [Reproduction test to add before fixing]
|
|
59
|
-
```
|
|
49
|
+
Run the smallest existing command or interaction that can reproduce the symptom.
|
|
60
50
|
|
|
61
|
-
|
|
51
|
+
- Prefer one focused test, request, CLI command, or input over the entire suite.
|
|
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.
|
|
65
|
+
|
|
66
|
+
If the symptom cannot be reproduced, say what was attempted and what evidence is
|
|
67
|
+
missing. Continue with static investigation only when it can produce a clearly
|
|
68
|
+
labeled hypothesis, not a claimed root cause.
|
|
69
|
+
|
|
70
|
+
## Step 3 - localize the failure
|
|
71
|
+
|
|
72
|
+
Trace from the observed failure toward the smallest responsible area.
|
|
73
|
+
|
|
74
|
+
Use the evidence that fits the project:
|
|
75
|
+
|
|
76
|
+
- the first relevant application frame in a stack trace
|
|
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
|
|
83
|
+
|
|
84
|
+
Separate facts from hypotheses. Test the cheapest safe competing explanations
|
|
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.
|
|
87
|
+
|
|
88
|
+
## Step 4 - confirm or narrow
|
|
89
|
+
|
|
90
|
+
A root cause is confirmed only when the evidence connects all three:
|
|
91
|
+
|
|
92
|
+
1. the triggering input or state
|
|
93
|
+
2. the responsible code, configuration, or contract
|
|
94
|
+
3. the observed failure
|
|
95
|
+
|
|
96
|
+
When safe and read-only, vary one input or run a smaller focused command to
|
|
97
|
+
confirm the connection. Do not change implementation or tests to prove the fix.
|
|
98
|
+
|
|
99
|
+
Use one of these verdicts:
|
|
100
|
+
|
|
101
|
+
- **Confirmed** - evidence identifies the cause and explains the failure.
|
|
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.
|
|
105
|
+
|
|
106
|
+
## Step 5 - report and hand off
|
|
107
|
+
|
|
108
|
+
Give a concise debug report:
|
|
109
|
+
|
|
110
|
+
- symptom and reproduction
|
|
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
|
|
117
|
+
|
|
118
|
+
Choose the next action without writing files:
|
|
119
|
+
|
|
120
|
+
- Active feature or fix caused the failure -> return the diagnosis to
|
|
121
|
+
`/implement`.
|
|
122
|
+
- No active work item and the bug is confirmed -> recommend
|
|
123
|
+
`/fix "<concise bug and confirmed cause>"`.
|
|
124
|
+
- Cause is only likely or blocked -> recommend the next diagnostic evidence, not
|
|
125
|
+
a speculative repair.
|
|
126
|
+
- The issue is planned product work rather than a defect -> point to
|
|
127
|
+
`/feature`.
|
|
62
128
|
|
|
63
|
-
##
|
|
129
|
+
## Rules
|
|
130
|
+
|
|
131
|
+
- Diagnose, do not repair. Never edit source, tests, configuration, lockfiles, or
|
|
132
|
+
Blueprint files.
|
|
133
|
+
- Never create, switch, merge, or delete branches. Never commit or push.
|
|
134
|
+
- Do not update the findings ledger. `/audit` owns recorded code-quality
|
|
135
|
+
findings; `/debug` reports one investigated failure in chat.
|
|
136
|
+
- Evidence outranks confidence. Label uncertainty and failed reproduction
|
|
137
|
+
honestly.
|
|
138
|
+
- Preserve the user's working tree and running processes.
|
|
139
|
+
- Do not broaden one failure into a general audit or refactor.
|
|
64
140
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
- **Handoff**: `test` (write repro test), `40-execute` (execute fix), `50-verify` (re-check)
|
|
141
|
+
## Formatting
|
|
142
|
+
|
|
143
|
+
Format the output to match the project's conventions in
|
|
144
|
+
`devflow/context/ai-interaction.md`: concise, scannable markdown with a short
|
|
145
|
+
evidence list and a clear next action.
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devflow
|
|
3
|
-
description: "[
|
|
3
|
+
description: "[devflow][B] Flagship interactive guide, state inspector, and intent router for DevFlow workflows."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# devflow - Interactive Workflow Guide & Intent Router for Nexus-DevFlow
|
|
7
7
|
|
|
8
|
+
## Command Track Policy
|
|
9
|
+
- [F] Fast-Track only
|
|
10
|
+
- [D] Deep-Track only
|
|
11
|
+
- [B] Available in both tracks (Track-agnostic)
|
|
12
|
+
|
|
13
|
+
|
|
8
14
|
Use this skill to guide the user on what to do next, inspect current workspace state, map their natural language intent to the right Nexus-DevFlow track (Fast-Track or Deep-Track) or companion command, or display a sitemap of available DevFlow skills.
|
|
9
15
|
|
|
10
16
|
## Input
|
|
@@ -17,7 +23,7 @@ Use this skill to guide the user on what to do next, inspect current workspace s
|
|
|
17
23
|
Nexus-DevFlow supports two seamless workflow tracks:
|
|
18
24
|
1. **🏎️ Fast-Track (Blueprint Mode - 4 Steps)**: `/spec` ➔ `/implement` ➔ `/check` ➔ `/complete`
|
|
19
25
|
*Driven by a **Single Living Spec (`current-feature.md`)** for fast, high-velocity daily development and bugfixes (85% of tasks).*
|
|
20
|
-
2. **🏗️ Deep-Track (Architect Mode - 8 Steps)**: `00-
|
|
26
|
+
2. **🏗️ Deep-Track (Architect Mode - 8 Steps)**: `00-explore` ➔ `10-define` ➔ `20-spec` ➔ `30-plan` ➔ `40-execute` ➔ `50-verify` ➔ `60-report` ➔ `70-deliver`
|
|
21
27
|
*Driven by modular separate stage files for large, high-stakes architectural epics and multi-agent coordination.*
|
|
22
28
|
|
|
23
29
|
---
|
|
@@ -37,16 +43,16 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
37
43
|
- If at `20-spec.md` -> Recommend `30-plan {RUNNING_ID}`.
|
|
38
44
|
- If at `30-plan.md` -> Recommend `40-execute {RUNNING_ID}`.
|
|
39
45
|
- If at `40-execute.md` with all tasks done -> Recommend `50-verify {RUNNING_ID}`.
|
|
40
|
-
- If passed `50-verify.md` -> Recommend `60-report {RUNNING_ID}` then `70-
|
|
46
|
+
- If passed `50-verify.md` -> Recommend `60-report {RUNNING_ID}` then `70-deliver {RUNNING_ID}`.
|
|
41
47
|
3. **Active Discovery**: Check `devflow/discoveries/` for open discovery notes.
|
|
42
48
|
4. **Pending Ideas Inbox**: Check `devflow/ideas.md`. If items exist under `## 📌 Pending Ideas`, summarize them in a **💡 Pending Ideas (Inbox)** list with their IDs (`[IDEA-xxx]`), feasibility, and mention that they can be started with `/spec IDEA-xxx`.
|
|
43
49
|
5. **Audit Findings Ledger**: Check `devflow/context/findings.md` for open high-severity findings.
|
|
44
50
|
|
|
45
51
|
### Default State Recommendations
|
|
46
|
-
-
|
|
52
|
+
- if no run is active and user wants to start a feature -> Recommend `/feature <name>`.
|
|
47
53
|
- If no run is active and user wants to fix a bug -> Recommend `/fix <bug>`.
|
|
48
54
|
- If no run is active and user has pending ideas in `devflow/ideas.md` -> Highlight `/spec IDEA-xxx`.
|
|
49
|
-
- If no run is active and user wants deep architectural exploration -> Recommend `00-
|
|
55
|
+
- If no run is active and user wants deep architectural exploration -> Recommend `00-explore`.
|
|
50
56
|
- If user asks to check system health -> Recommend `doctor`.
|
|
51
57
|
|
|
52
58
|
---
|
|
@@ -65,13 +71,13 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
65
71
|
| "Setup DevFlow on fresh/new project" | `onboard` | `onboard` / `setup` | `onboard` -> `/spec` or `10-define` |
|
|
66
72
|
| "Adopt DevFlow on existing codebase" | `adopt` | `adopt` / `bootstrap` | `adopt` -> `/spec` or `10-define` |
|
|
67
73
|
| "Check setup health & diagnostics" | `doctor` | `doctor` / `health` | `doctor` |
|
|
68
|
-
| "Explore a new request / deep idea" | `00-
|
|
74
|
+
| "Explore a new request / deep idea" | `00-explore` | `discover` | **Deep-Track**: `00` -> `10` -> `20` -> ... |
|
|
69
75
|
| "Define delivery boundaries and ID" | `10-define` | `define` | **Deep-Track**: `10` -> `20` -> `30` |
|
|
70
76
|
| "Break down spec into plan (Deep)" | `30-plan` | `plan` | **Deep-Track**: `30` -> `40` -> `50` |
|
|
71
77
|
| "Deep code implementation" | `40-execute` | `implement` | **Deep-Track**: `40` -> `50` |
|
|
72
78
|
| "Deep QA verification" | `50-verify` | `verify` | **Deep-Track**: `50` -> `60` -> `70` |
|
|
73
79
|
| "Deep markdown digest report" | `60-report` | `report` | **Deep-Track**: `60` -> `70` |
|
|
74
|
-
| "Deep release packaging & merge" | `70-
|
|
80
|
+
| "Deep release packaging & merge" | `70-deliver` | `release` | **Deep-Track**: `70-deliver` |
|
|
75
81
|
| "Human manual QA walkthrough guide" | `try` | `try` | Companion (after implement or check) |
|
|
76
82
|
| "Safely plan feature or run reversal" | `rollback` | `rollback` | Companion |
|
|
77
83
|
| "Set up automatic GitHub Actions CI" | `ci` | `ci` | Companion |
|
|
@@ -91,14 +97,14 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
91
97
|
- `complete` (`/complete`, `$complete`) - Safety pass, release digest, git merge, close run
|
|
92
98
|
|
|
93
99
|
### 2. Deep-Track (Architect Mode - 8 Steps)
|
|
94
|
-
- `00-
|
|
100
|
+
- `00-explore` - Explore request and decide Proceed/Defer/Reject
|
|
95
101
|
- `10-define` - Lock delivery boundaries and allocate Running ID
|
|
96
102
|
- `20-spec` - Formalize markdown delivery contract
|
|
97
103
|
- `30-plan` - Breakdown spec into phased tasks with test decisions
|
|
98
104
|
- `40-execute` - Incremental task implementation
|
|
99
105
|
- `50-verify` - Senior QA review and multi-lane validation
|
|
100
106
|
- `60-report` - Generate standardized markdown digest report
|
|
101
|
-
- `70-
|
|
107
|
+
- `70-deliver` - Release packaging, release notes, and merge
|
|
102
108
|
|
|
103
109
|
### 3. Public Companion Commands
|
|
104
110
|
- `devflow` (`status`, `/devflow`) - Interactive guide, state inspector, and router
|
|
@@ -114,4 +120,4 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
114
120
|
- `autopilot` - Autonomous bounded delivery loop
|
|
115
121
|
- `brainstorm` - Ideate without allocating running IDs
|
|
116
122
|
- `debug` - Root cause investigation before or during implementation
|
|
117
|
-
- `overview` - Living context synchronization into project-overview.md
|
|
123
|
+
- `overview` - Living context synchronization into project-overview.md
|