@jakkrichm/create-nexus-devflow 2.15.1 → 2.15.2
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/package.json +1 -1
- package/template/.agents/skills/audit/SKILL.md +7 -0
- package/template/.agents/skills/audit/reference/independent-review.md +3 -1
- package/template/.agents/skills/complete/SKILL.md +9 -2
- package/template/.agents/skills/debug/SKILL.md +22 -0
- package/template/.agents/skills/status/SKILL.md +9 -0
- package/template/.claude/skills/audit/SKILL.md +7 -0
- package/template/.claude/skills/audit/reference/independent-review.md +3 -1
- package/template/.claude/skills/complete/SKILL.md +9 -2
- package/template/.claude/skills/debug/SKILL.md +22 -0
- package/template/.claude/skills/status/SKILL.md +9 -0
- package/template/devflow/build-plan.md +9 -0
- package/template/devflow/history/fixes/README.md +17 -1
package/package.json
CHANGED
|
@@ -67,6 +67,8 @@ Optional lens:
|
|
|
67
67
|
unbounded-work risks
|
|
68
68
|
- `tests`: missing coverage for important logic, weak assertions, skipped or
|
|
69
69
|
focused tests, poor isolation, brittle mocks, and likely flakiness
|
|
70
|
+
- `scrutiny`: outsider end-to-end review questioning intent, checking simpler
|
|
71
|
+
alternatives, tracing real call paths beyond diffs, and verifying edge-case claims
|
|
70
72
|
|
|
71
73
|
`full` is always the full-project scope, not a lens. `/audit full` therefore runs
|
|
72
74
|
all lenses across the full project. When only a lens is supplied, select scope
|
|
@@ -277,6 +279,11 @@ expectations. Apply only the selected lens or lenses:
|
|
|
277
279
|
state, time or order dependence, skipped or focused tests, placeholder tests,
|
|
278
280
|
swallowed failures, and missing browser or integration evidence where behavior
|
|
279
281
|
crosses a real boundary. Never invent a coverage percentage.
|
|
282
|
+
- **Scrutiny (Outsider Stance & Intent Challenge):**
|
|
283
|
+
- *Question Intent & Simpler Alternatives*: State what the change actually attempts in one sentence. Ask: is there a simpler, smaller, or more elegant way to achieve the same goal (reusing existing code, config vs code, solving at a different layer)?
|
|
284
|
+
- *Full Call-Path Tracing*: Follow the call graph through real code paths (entry point → call sites → branches taken → state mutated → exit/side effect), including unchanged code on either side of the diff where bugs hide.
|
|
285
|
+
- *Verify Claims & Edge Cases*: Does the traced path actually produce the claimed behavior? What inputs/states would break it (concurrency, retries, null/unicode/huge payloads, ordering)? What does it silently change?
|
|
286
|
+
- *No Rubber-Stamping*: "LGTM" is prohibited. State what was traced, what was verified, and what evidence supports the verdict.
|
|
280
287
|
|
|
281
288
|
Do not nitpick harmless style differences unless they signal drift from the local
|
|
282
289
|
patterns. Prefer a short list of real findings over a broad list of guesses.
|
|
@@ -55,7 +55,9 @@ execution` so both execution fields remain absent.
|
|
|
55
55
|
## Handoff
|
|
56
56
|
|
|
57
57
|
Review the active spec and the complete `<base>..<target>` delta in a fresh
|
|
58
|
-
session or isolated subagent without the builder conversation.
|
|
58
|
+
session or isolated subagent without the builder conversation. Apply the Outsider
|
|
59
|
+
Scrutiny stance: trace full call paths beyond the diff, challenge whether a simpler
|
|
60
|
+
alternative exists, and run all Audit lenses from scratch.
|
|
59
61
|
Run Check when required above. Do not edit product code, accept findings, or
|
|
60
62
|
reuse the existing findings as the review scope.
|
|
61
63
|
```
|
|
@@ -108,7 +108,7 @@ Check whether the spec is a feature, fix, or rollback. A fix is marked
|
|
|
108
108
|
and records the exact target feature, archive, commit, and parent.
|
|
109
109
|
|
|
110
110
|
- **Feature** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/features/{xxx-slug}.md`, check it off in `devflow/build-plan.md` (and its parent item once all sub-items are checked), recompute the overview fingerprint using `/overview`'s checkbox-normalized hash contract and update `devflow:source-hash` in `devflow/context/project-overview.md`, and record an entry into `devflow/history/HISTORY.md`.
|
|
111
|
-
- **Fix** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/fixes/{xxx-slug}.md
|
|
111
|
+
- **Fix** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/fixes/{xxx-slug}.md` preserving canonical post-mortem blocks (Summary, Symptom, Root Cause mechanism, Why it produced symptom, Fix, How found, Why slipped through, Validation, Action items), and record an entry into `devflow/history/HISTORY.md`.
|
|
112
112
|
- **Rollback** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/rollbacks/YYYY-MM-DD-{xxx-slug}.md`, preserving the original completed feature archive. Uncheck the target item in `devflow/build-plan.md` and record in `devflow/history/HISTORY.md`.
|
|
113
113
|
|
|
114
114
|
**Archive resolved findings & review receipts.**
|
|
@@ -162,4 +162,11 @@ Present the user with two clear delivery options:
|
|
|
162
162
|
## Step 4 - Finish & Try Path
|
|
163
163
|
|
|
164
164
|
Point the user at `/feature`, `/fix`, or `/rollback` for the next task.
|
|
165
|
-
Finish with a concise **How to try it** note for the completed work.
|
|
165
|
+
Finish with a concise **How to try it** note for the completed work.
|
|
166
|
+
|
|
167
|
+
### 📢 Leadership & Stakeholder Summary (Channel-Ready)
|
|
168
|
+
|
|
169
|
+
Optionally output a concise, leadership-flavored digest (ready for Slack, JIRA comment, or standup):
|
|
170
|
+
- **Translate**: Reframe engineering mechanism into customer/business impact in 1-2 plain sentences.
|
|
171
|
+
- **Keep**: Product/feature names, PR number, JIRA ticket keys, and owner.
|
|
172
|
+
- **Strip**: Function names, file paths, struct fields, and internal code minutiae.
|
|
@@ -133,6 +133,28 @@ Give a structured, concise debug report:
|
|
|
133
133
|
|
|
134
134
|
---
|
|
135
135
|
|
|
136
|
+
### Phase 7: Post-Mortem & Fix Handoff (Canonical Engineering Record)
|
|
137
|
+
|
|
138
|
+
Once a fix is identified and validated (or when prompted: "write the post-mortem", "document this fix", "RCA"), draft the canonical engineering record for other engineers:
|
|
139
|
+
|
|
140
|
+
- **Prerequisites (Refuse to draft without all 4)**:
|
|
141
|
+
1. Reliable repro exists (from Phase 1 & 2).
|
|
142
|
+
2. Root cause mechanism is confirmed (from Phase 5).
|
|
143
|
+
3. Fix is identified (commit / PR / branch).
|
|
144
|
+
4. Fix is validated (original red loop is now green).
|
|
145
|
+
- **Canonical Structure**:
|
|
146
|
+
1. *Summary*: One paragraph: what broke, what fixed it, JIRA/PR keys, owner.
|
|
147
|
+
2. *Symptom*: Actual observed error, test failure, or log lines with concrete identifiers.
|
|
148
|
+
3. *Root cause*: Actual bug mechanism with code identifiers (functions, files, fields, conditions).
|
|
149
|
+
4. *Why it produced the symptom*: Cause-and-effect chain linking mechanism to symptom.
|
|
150
|
+
5. *Fix*: What changed and why this addresses the cause rather than masking the symptom.
|
|
151
|
+
6. *How it was found*: Repro path, rejected hypotheses, decisive experiment.
|
|
152
|
+
7. *Why it slipped through*: CI gap, latent code, workload gap, or review miss (blameless).
|
|
153
|
+
8. *Validation*: Concrete proof (tests passing, benchmark delta, workload completion).
|
|
154
|
+
9. *Action items*: Concrete follow-ups with owners and ticket keys.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
136
158
|
## Rules
|
|
137
159
|
|
|
138
160
|
- **Diagnose, do not repair**: Never edit production source, package lockfiles, or DevFlow state inside `/debug`.
|
|
@@ -87,6 +87,15 @@ A short, scannable summary, not a wall of text. Aim for something like:
|
|
|
87
87
|
|
|
88
88
|
Next action: run /implement 061 for Task 2.
|
|
89
89
|
|
|
90
|
+
### 👔 Leadership / Executive Summary Mode (`/status --exec`)
|
|
91
|
+
|
|
92
|
+
When requested via `/status --exec`, `/status leadership`, or when writing an update for engineering leadership (VPs, Directors, PMs, release managers):
|
|
93
|
+
- **Tone**: Keep product names, JIRA keys, PR numbers, and business impact. Strip function names, file paths, struct fields, and internal code minutiae.
|
|
94
|
+
- **Channel Shapes**:
|
|
95
|
+
- *Slack*: 1 bolded TL;DR line + 2-3 short bullets (impact, owner + PR link, next step) under 80 words.
|
|
96
|
+
- *Async Standup*: 1-2 lines: `<state> <thing> (JIRA/PR). <owner>. <next>.`
|
|
97
|
+
- *Written Status*: Status (bolded TL;DR) -> Customer Impact -> Progress/Next steps -> Owner.
|
|
98
|
+
|
|
90
99
|
End with a single suggested next action, chosen in this order:
|
|
91
100
|
|
|
92
101
|
- The project configuration is invalid -> `/doctor`.
|
|
@@ -67,6 +67,8 @@ Optional lens:
|
|
|
67
67
|
unbounded-work risks
|
|
68
68
|
- `tests`: missing coverage for important logic, weak assertions, skipped or
|
|
69
69
|
focused tests, poor isolation, brittle mocks, and likely flakiness
|
|
70
|
+
- `scrutiny`: outsider end-to-end review questioning intent, checking simpler
|
|
71
|
+
alternatives, tracing real call paths beyond diffs, and verifying edge-case claims
|
|
70
72
|
|
|
71
73
|
`full` is always the full-project scope, not a lens. `/audit full` therefore runs
|
|
72
74
|
all lenses across the full project. When only a lens is supplied, select scope
|
|
@@ -277,6 +279,11 @@ expectations. Apply only the selected lens or lenses:
|
|
|
277
279
|
state, time or order dependence, skipped or focused tests, placeholder tests,
|
|
278
280
|
swallowed failures, and missing browser or integration evidence where behavior
|
|
279
281
|
crosses a real boundary. Never invent a coverage percentage.
|
|
282
|
+
- **Scrutiny (Outsider Stance & Intent Challenge):**
|
|
283
|
+
- *Question Intent & Simpler Alternatives*: State what the change actually attempts in one sentence. Ask: is there a simpler, smaller, or more elegant way to achieve the same goal (reusing existing code, config vs code, solving at a different layer)?
|
|
284
|
+
- *Full Call-Path Tracing*: Follow the call graph through real code paths (entry point → call sites → branches taken → state mutated → exit/side effect), including unchanged code on either side of the diff where bugs hide.
|
|
285
|
+
- *Verify Claims & Edge Cases*: Does the traced path actually produce the claimed behavior? What inputs/states would break it (concurrency, retries, null/unicode/huge payloads, ordering)? What does it silently change?
|
|
286
|
+
- *No Rubber-Stamping*: "LGTM" is prohibited. State what was traced, what was verified, and what evidence supports the verdict.
|
|
280
287
|
|
|
281
288
|
Do not nitpick harmless style differences unless they signal drift from the local
|
|
282
289
|
patterns. Prefer a short list of real findings over a broad list of guesses.
|
|
@@ -55,7 +55,9 @@ execution` so both execution fields remain absent.
|
|
|
55
55
|
## Handoff
|
|
56
56
|
|
|
57
57
|
Review the active spec and the complete `<base>..<target>` delta in a fresh
|
|
58
|
-
session or isolated subagent without the builder conversation.
|
|
58
|
+
session or isolated subagent without the builder conversation. Apply the Outsider
|
|
59
|
+
Scrutiny stance: trace full call paths beyond the diff, challenge whether a simpler
|
|
60
|
+
alternative exists, and run all Audit lenses from scratch.
|
|
59
61
|
Run Check when required above. Do not edit product code, accept findings, or
|
|
60
62
|
reuse the existing findings as the review scope.
|
|
61
63
|
```
|
|
@@ -108,7 +108,7 @@ Check whether the spec is a feature, fix, or rollback. A fix is marked
|
|
|
108
108
|
and records the exact target feature, archive, commit, and parent.
|
|
109
109
|
|
|
110
110
|
- **Feature** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/features/{xxx-slug}.md`, check it off in `devflow/build-plan.md` (and its parent item once all sub-items are checked), recompute the overview fingerprint using `/overview`'s checkbox-normalized hash contract and update `devflow:source-hash` in `devflow/context/project-overview.md`, and record an entry into `devflow/history/HISTORY.md`.
|
|
111
|
-
- **Fix** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/fixes/{xxx-slug}.md
|
|
111
|
+
- **Fix** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/fixes/{xxx-slug}.md` preserving canonical post-mortem blocks (Summary, Symptom, Root Cause mechanism, Why it produced symptom, Fix, How found, Why slipped through, Validation, Action items), and record an entry into `devflow/history/HISTORY.md`.
|
|
112
112
|
- **Rollback** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/rollbacks/YYYY-MM-DD-{xxx-slug}.md`, preserving the original completed feature archive. Uncheck the target item in `devflow/build-plan.md` and record in `devflow/history/HISTORY.md`.
|
|
113
113
|
|
|
114
114
|
**Archive resolved findings & review receipts.**
|
|
@@ -162,4 +162,11 @@ Present the user with two clear delivery options:
|
|
|
162
162
|
## Step 4 - Finish & Try Path
|
|
163
163
|
|
|
164
164
|
Point the user at `/feature`, `/fix`, or `/rollback` for the next task.
|
|
165
|
-
Finish with a concise **How to try it** note for the completed work.
|
|
165
|
+
Finish with a concise **How to try it** note for the completed work.
|
|
166
|
+
|
|
167
|
+
### 📢 Leadership & Stakeholder Summary (Channel-Ready)
|
|
168
|
+
|
|
169
|
+
Optionally output a concise, leadership-flavored digest (ready for Slack, JIRA comment, or standup):
|
|
170
|
+
- **Translate**: Reframe engineering mechanism into customer/business impact in 1-2 plain sentences.
|
|
171
|
+
- **Keep**: Product/feature names, PR number, JIRA ticket keys, and owner.
|
|
172
|
+
- **Strip**: Function names, file paths, struct fields, and internal code minutiae.
|
|
@@ -133,6 +133,28 @@ Give a structured, concise debug report:
|
|
|
133
133
|
|
|
134
134
|
---
|
|
135
135
|
|
|
136
|
+
### Phase 7: Post-Mortem & Fix Handoff (Canonical Engineering Record)
|
|
137
|
+
|
|
138
|
+
Once a fix is identified and validated (or when prompted: "write the post-mortem", "document this fix", "RCA"), draft the canonical engineering record for other engineers:
|
|
139
|
+
|
|
140
|
+
- **Prerequisites (Refuse to draft without all 4)**:
|
|
141
|
+
1. Reliable repro exists (from Phase 1 & 2).
|
|
142
|
+
2. Root cause mechanism is confirmed (from Phase 5).
|
|
143
|
+
3. Fix is identified (commit / PR / branch).
|
|
144
|
+
4. Fix is validated (original red loop is now green).
|
|
145
|
+
- **Canonical Structure**:
|
|
146
|
+
1. *Summary*: One paragraph: what broke, what fixed it, JIRA/PR keys, owner.
|
|
147
|
+
2. *Symptom*: Actual observed error, test failure, or log lines with concrete identifiers.
|
|
148
|
+
3. *Root cause*: Actual bug mechanism with code identifiers (functions, files, fields, conditions).
|
|
149
|
+
4. *Why it produced the symptom*: Cause-and-effect chain linking mechanism to symptom.
|
|
150
|
+
5. *Fix*: What changed and why this addresses the cause rather than masking the symptom.
|
|
151
|
+
6. *How it was found*: Repro path, rejected hypotheses, decisive experiment.
|
|
152
|
+
7. *Why it slipped through*: CI gap, latent code, workload gap, or review miss (blameless).
|
|
153
|
+
8. *Validation*: Concrete proof (tests passing, benchmark delta, workload completion).
|
|
154
|
+
9. *Action items*: Concrete follow-ups with owners and ticket keys.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
136
158
|
## Rules
|
|
137
159
|
|
|
138
160
|
- **Diagnose, do not repair**: Never edit production source, package lockfiles, or DevFlow state inside `/debug`.
|
|
@@ -87,6 +87,15 @@ A short, scannable summary, not a wall of text. Aim for something like:
|
|
|
87
87
|
|
|
88
88
|
Next action: run /implement 061 for Task 2.
|
|
89
89
|
|
|
90
|
+
### 👔 Leadership / Executive Summary Mode (`/status --exec`)
|
|
91
|
+
|
|
92
|
+
When requested via `/status --exec`, `/status leadership`, or when writing an update for engineering leadership (VPs, Directors, PMs, release managers):
|
|
93
|
+
- **Tone**: Keep product names, JIRA keys, PR numbers, and business impact. Strip function names, file paths, struct fields, and internal code minutiae.
|
|
94
|
+
- **Channel Shapes**:
|
|
95
|
+
- *Slack*: 1 bolded TL;DR line + 2-3 short bullets (impact, owner + PR link, next step) under 80 words.
|
|
96
|
+
- *Async Standup*: 1-2 lines: `<state> <thing> (JIRA/PR). <owner>. <next>.`
|
|
97
|
+
- *Written Status*: Status (bolded TL;DR) -> Customer Impact -> Progress/Next steps -> Owner.
|
|
98
|
+
|
|
90
99
|
End with a single suggested next action, chosen in this order:
|
|
91
100
|
|
|
92
101
|
- The project configuration is invalid -> `/doctor`.
|
|
@@ -243,3 +243,12 @@
|
|
|
243
243
|
- *Dependencies*: None
|
|
244
244
|
- *Scope*: ตัดโฟลเดอร์ vendor `devflow/.vendor/matt-pocock/`, ลบ skill wrapper ของ `matt-pocock` และ `debug-mantra`, รวมสาระสำคัญของ mantra 4 ข้อเข้าสู่ `/debug` (ทั้ง `.agents` และ `.claude`), ลบโฟลเดอร์ตกค้าง `.scratch/` และ `docs/agents/`, อัปเดต `AGENTS.md` และเอกสารเพื่อรองรับการนำเข้า external spec และ tickets จาก `devflow/context/{slug}/issues/` หรือ `tickets/` ได้ทันที
|
|
245
245
|
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 🧹 Phase 32: Consolidate 9arm Skills into DevFlow Core & Purge Extension
|
|
249
|
+
|
|
250
|
+
- [x] **32. Consolidate 9arm Skills into DevFlow Core & Purge Extension (`DISC-20260908-001`, `082-consolidate-9arm-skills-and-purge`)** `[Size: S]`
|
|
251
|
+
- *Dependencies*: None
|
|
252
|
+
- *Scope*: รวมสาระสำคัญของ `scrutinize` (Outsider Stance, Call-path tracing, Challenge intent) เข้าสู่ `/audit`, ผสาน `post-mortem` เข้าสู่ `/debug` (Phase 4 Handoff) และ `/complete` (Fix Archive Template), เพิ่ม Executive / Stakeholder Summary ใน `/status` และ `/complete`, ลบโฟลเดอร์ extension `post-mortem`, `scrutinize`, `management-talk` ทั้งใน `.agents/` และ `.claude/`, ลบ entries 9arm-skills ออกจาก `.nexus/nexus-devflow.json`, อัปเดตเอกสารและยืนยัน static contracts ผ่าน 100%
|
|
253
|
+
|
|
254
|
+
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
# Completed Fixes Archive
|
|
1
|
+
# Completed Fixes Archive (Canonical Post-Mortem Records)
|
|
2
2
|
|
|
3
3
|
Finished bug fixes, hotfixes, regressions, security patches, and performance optimizations are archived here as `{xxx-slug}.md`.
|
|
4
4
|
|
|
5
5
|
Together they form the project's permanent bug resolution history, recording root causes, TDD test decisions, and empirical proof.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 🏛️ The 8 Canonical Post-Mortem Blocks
|
|
10
|
+
|
|
11
|
+
Each completed fix in this directory preserves the following canonical engineering record:
|
|
12
|
+
|
|
13
|
+
1. **Summary**: One paragraph describing what broke in user/workload terms, what fixed it, JIRA/PR identifiers, and owner.
|
|
14
|
+
2. **Symptom**: Observed test failure, error message, stack trace, or log line with concrete identifiers.
|
|
15
|
+
3. **Root Cause**: The actual bug mechanism with code identifiers (functions, file paths, struct fields, branch conditions).
|
|
16
|
+
4. **Why it Produced the Symptom**: The cause-and-effect chain connecting the root cause to the observed symptom.
|
|
17
|
+
5. **Fix**: What changed and why it addresses the root cause rather than papering over the symptom.
|
|
18
|
+
6. **How it Was Found**: Debugging path, minimal repro command, hypotheses tested and rejected, and the decisive experiment.
|
|
19
|
+
7. **Why it Slipped Through**: The real gap (CI gap, latent code path, workload gap, incomplete prior fix, review miss).
|
|
20
|
+
8. **Validation**: Concrete proof that the fix works (failing test now green, benchmark, customer repro passes).
|
|
21
|
+
9. **Action Items**: Concrete follow-ups (regression test at seam, class-of-bug audit, CI matrix entry) with owners and tickets.
|