@dzhechkov/skills-feature-adr 1.3.7 β†’ 1.3.8

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 CHANGED
@@ -14,7 +14,7 @@ the [Keysarium](https://www.npmjs.com/package/@dzhechkov/keysarium) ecosystem.
14
14
  > onboarding doc for free, every decision captured as an ADR, and machine-checked back against the
15
15
  > code by the QE phase. See **[Spec-Driven Development](#spec-driven-development-sdd)** below.
16
16
  >
17
- > πŸ‘‰ **Onboarding a team? Start here:** [**Feature ADR β€” Team Onboarding**](https://github.com/djd1m/dz-harness-hub/blob/main/docs/feature-adr-team-onboarding.md) β€” a single read-top-to-bottom playbook (install β†’ first feature β†’ SDD mechanics β†’ model routing incl. Fable β†’ self-learning layers β†’ team PR workflow β†’ FAQ).
17
+ > πŸ‘‰ **Onboarding a team? Start here:** [**Feature ADR β€” Team Onboarding**](https://unpkg.com/@dzhechkov/skills-feature-adr/docs/team-onboarding.md) β€” a single read-top-to-bottom playbook (install β†’ first feature β†’ SDD mechanics β†’ model routing incl. Fable β†’ self-learning layers β†’ team PR workflow β†’ FAQ). It also ships **inside this package** at `node_modules/@dzhechkov/skills-feature-adr/docs/team-onboarding.md`, so every install has it locally.
18
18
 
19
19
  ---
20
20
 
@@ -461,7 +461,7 @@ npx @dzhechkov/skills-feature-adr init # Feature development
461
461
 
462
462
  ## Links
463
463
 
464
- - **Team Onboarding playbook:** [docs/feature-adr-team-onboarding.md](https://github.com/djd1m/dz-harness-hub/blob/main/docs/feature-adr-team-onboarding.md)
464
+ - **Team Onboarding playbook (public):** [unpkg.com/@dzhechkov/skills-feature-adr/docs/team-onboarding.md](https://unpkg.com/@dzhechkov/skills-feature-adr/docs/team-onboarding.md) β€” also shipped in the package at `docs/team-onboarding.md`
465
465
  - **GitHub:** [https://github.com/dzhechko/product-keysarium-2026](https://github.com/dzhechko/product-keysarium-2026)
466
466
  - **Issues:** [https://github.com/dzhechko/product-keysarium-2026/issues](https://github.com/dzhechko/product-keysarium-2026/issues)
467
467
  - **npm:** [https://www.npmjs.com/package/@dzhechkov/skills-feature-adr](https://www.npmjs.com/package/@dzhechkov/skills-feature-adr)
@@ -0,0 +1,248 @@
1
+ # Feature ADR β€” Team Onboarding
2
+
3
+ **A Spec-Driven Development pipeline for AI coding agents (Claude Code, Codex, …).**
4
+
5
+ This is the practical guide for a dev team adopting `@dzhechkov/skills-feature-adr`. It gets you
6
+ from zero to your first spec-driven feature, then explains the mechanics, the model routing, the
7
+ self-learning options, and the team conventions.
8
+
9
+ - πŸ“¦ npm: <https://www.npmjs.com/package/@dzhechkov/skills-feature-adr> (current: **1.3.6**)
10
+ - πŸ“„ Full reference README: same npm page (this doc is the *team playbook*, not a reference dump)
11
+ - 🧭 Deep design: `packages/@dzhechkov/skills-meta/feature-adr/SKILL.md` + its `references/`
12
+
13
+ ---
14
+
15
+ ## TL;DR β€” what & why
16
+
17
+ An AI agent, left alone, jumps straight to code. Feature ADR forces the opposite: **spec first,
18
+ code last.** Each phase emits a durable, human-approved specification artifact (`00_…`–`08_…`), and
19
+ code is *generated from the frozen spec* β€” then verified back against it.
20
+
21
+ **Why your team should care:**
22
+ - The `features/<slug>/` folder **is the spec** β€” reviewable in a PR like code.
23
+ - Every design decision is captured as an **ADR** (with alternatives + trade-offs).
24
+ - Architecture diagrams + requirements become **living documentation** for free.
25
+ - The QE phase traces code **back to the requirements** (nothing ships uncovered).
26
+ - It's **right-sized**: a 3-file change doesn't get the full ceremony (Complexity Router).
27
+
28
+ ---
29
+
30
+ ## 1. Install (5 minutes)
31
+
32
+ ```bash
33
+ # In your project root:
34
+ npx @dzhechkov/skills-feature-adr init --with-learning
35
+
36
+ # Then open Claude Code in the project and use /feature-adr
37
+ ```
38
+
39
+ - `--with-learning` turns on reward learning (learns from your checkpoint feedback; plain JSON,
40
+ **no database needed**). Skip it if you don't want learning, or if you already run
41
+ `@dzhechkov/keysarium` (which bundles it β€” the installer auto-detects and skips to avoid dupes).
42
+ - Optional deeper QE (`--full-qe` / `--full-qe-extended`) needs the external `agentic-qe`:
43
+ ```bash
44
+ npm install -g agentic-qe && cd your-project && aqe init --auto
45
+ ```
46
+
47
+ Verify: `npx @dzhechkov/skills-feature-adr doctor`.
48
+
49
+ ---
50
+
51
+ ## 2. Your first feature (a worked run)
52
+
53
+ In Claude Code:
54
+
55
+ ```
56
+ /feature-adr Add user authentication with OAuth2 and JWT
57
+ ```
58
+
59
+ What happens:
60
+
61
+ 1. **Step 0 β€” Complexity Router** classifies the feature **S / M / L / XL** and picks which phases
62
+ run. It stops at a checkpoint and shows you the tier + token/time estimate.
63
+ 2. You approve (`ΠΎΠΊ`) or steer (`ΡƒΠ³Π»ΡƒΠ±ΠΈ X`, or free-text feedback). The agent proceeds **one phase
64
+ at a time**, stopping after each for your approval.
65
+ 3. Each phase writes its spec artifact into `features/add-user-auth/` (see Β§4).
66
+ 4. Code lands in **Step 7** β€” after requirements, ADRs, architecture, and a plan are all approved.
67
+ 5. **Step 8 (QE)** traces the code back to the requirements and closes a **zero-gap** check.
68
+
69
+ You stay in control the whole way β€” the agent never runs a large feature unattended.
70
+
71
+ **Resuming:** the `features/<slug>/` folder is the source of truth. `/feature-adr ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ …`
72
+ picks up from the first unfinished phase.
73
+
74
+ ---
75
+
76
+ ## 3. How it works β€” Spec-Driven Development
77
+
78
+ Three ideas make this "spec-driven" and not "write a doc then wing it":
79
+
80
+ **a) The artifacts are one layered spec**, built top-down (intent β†’ verified code):
81
+
82
+ | Artifact | Spec layer |
83
+ |----------|-----------|
84
+ | `00_complexity_assessment.md` | Scope β€” how big, which phases run |
85
+ | `01_requirements.md` | Behavioral β€” what must be true when done (SMART, testable) |
86
+ | `02_research.md` | Prior-art β€” patterns/analogues that constrain design |
87
+ | `03_adr/00N-*.md` | Decision β€” which option & why (β‰₯2 alternatives + trade-offs) |
88
+ | `03.5_ideation_report.md` | Quality-risk β€” HTSM/SFDIPOT risks + GO / CONDITIONAL / NO-GO |
89
+ | `04_domain_model.md` | Domain β€” entities, aggregates, invariants (DDD) |
90
+ | `05_architecture.md` + `diagrams/` | Structural β€” C4 + sequence diagrams |
91
+ | `06_implementation_plan.md` | Task β€” SPARC-GOAP milestones the code must follow |
92
+ | `07_code_changes/` | The implementation (+ `change_manifest.md`) |
93
+ | `08_qe_report.md` / `09_fleet_qe_assessment.md` | Conformance β€” code vs spec, traceability, gaps |
94
+
95
+ **b) The spec is a typed contract carried forward.** Each phase's output is consumed by the next as
96
+ input, so a later phase can't contradict an earlier decision:
97
+ `{REQUIREMENTS} β†’ {ADR_DECISIONS} β†’ {ARCHITECTURE} β†’ {IMPL_PLAN} β†’ {CODE_CHANGES} β†’ {QE_RESULTS}`.
98
+ (e.g. "architecture without an ADR" and "code without a plan" are blocked anti-patterns.)
99
+
100
+ **c) Every layer is gated** β€” a machine-checkable **promise tag** must be emitted before the next
101
+ phase starts, and a **human checkpoint** lets you approve/steer. You co-author and freeze the spec
102
+ one layer at a time.
103
+
104
+ **The loop closes:** `qe-requirements-validation` builds a traceability matrix and a gap-detection
105
+ loop must close with **zero remaining gaps** β€” a requirement with no code, or code with no
106
+ requirement, is caught by a gate, not in production.
107
+
108
+ ---
109
+
110
+ ## 4. Output structure (the deliverable)
111
+
112
+ ```
113
+ features/<feature-slug>/
114
+ β”œβ”€β”€ 00_complexity_assessment.md ← Always
115
+ β”œβ”€β”€ 01_requirements.md ← Always
116
+ β”œβ”€β”€ 02_research.md ← L/XL only
117
+ β”œβ”€β”€ 03_adr/001-<decision>.md ← M+ only
118
+ β”œβ”€β”€ 03.5_ideation_report.md ← M+ only
119
+ β”œβ”€β”€ 04_domain_model.md ← L/XL only
120
+ β”œβ”€β”€ 05_architecture.md ← M+ only
121
+ β”œβ”€β”€ 06_implementation_plan.md ← Always
122
+ β”œβ”€β”€ 07_code_changes/change_manifest.md ← Always (actual code lands in the repo)
123
+ β”œβ”€β”€ 08_qe_report.md ← Always
124
+ β”œβ”€β”€ 09_fleet_qe_assessment.md ← L/XL only
125
+ β”œβ”€β”€ diagrams/*.mermaid ← M+ only
126
+ └── README.md ← Always (auto-generated summary)
127
+ ```
128
+
129
+ ---
130
+
131
+ ## 5. Complexity tiers (right-sized ceremony)
132
+
133
+ | Tier | Scope | Active steps | Budget |
134
+ |------|-------|--------------|--------|
135
+ | **S** | 1–3 files, 1 domain | 0β†’1β†’6β†’7β†’8 (no ADR/DDD/architecture) | ~15 min |
136
+ | **M** | 4–10 files | 0β†’1β†’3β†’5β†’6β†’7β†’8 | ~45 min |
137
+ | **L** | 11–30 files | Full pipeline with parallelism | ~2 h |
138
+ | **XL** | 30+ files, cross-cutting | Full DAG + multi-agent swarm | ~4 h+ |
139
+
140
+ The router scores 6 dimensions 1–4 (files, domain breadth, integration points, risk/reversibility,
141
+ novelty, stakeholders). You can override the tier at Checkpoint 0.
142
+
143
+ ---
144
+
145
+ ## 6. Pipeline steps + model routing (incl. Fable)
146
+
147
+ | Step | Name | Tiers | Default model | Fable? |
148
+ |------|------|-------|---------------|:------:|
149
+ | 0 | Complexity Router | All | haiku | βœ… |
150
+ | 1 | Requirements | All | sonnet | βœ… |
151
+ | 2 | Research | L/XL | sonnet | βœ… |
152
+ | 3 | ADR + Shift-Left | M+ | opus | ⚠️ |
153
+ | 3.5 | QCSD Ideation Swarm | M+ | sonnet | βœ… |
154
+ | 4 | DDD | L/XL | opus | ⚠️ |
155
+ | 5 | Architecture | M+ | opus | ⚠️ |
156
+ | 6 | SPARC-GOAP Plan | All | sonnet | βœ… |
157
+ | 7 | Code | All | opus | ⚠️ |
158
+ | 8 | QE + Brutal Honesty | All | sonnet | βœ… |
159
+ | 9 | Fleet QE | L/XL | sonnet | ⚠️ |
160
+
161
+ **Routing rule:** phase difficulty β†’ model tier (fast for classification, mid for drafting/QE, top
162
+ for load-bearing judgment). Models are **overridable defaults**.
163
+
164
+ - **βœ… Fable-friendly** β€” draft/classify/synthesis phases that are checkpoint-gated and cheap to
165
+ redo (0, 1, 2, 3.5, 6, 8). Low risk to try Fable here for speed/cost.
166
+ - **⚠️ Validate first** β€” load-bearing reasoning where a wrong call cascades (3 ADR, 4 DDD,
167
+ 5 Architecture, 7 Code, 9 Fleet QE). Keep the default unless you've A/B-validated Fable.
168
+
169
+ > **Decide with data, not vibes:** with `--with-learning` on, run 2–3 features with Fable on the βœ…
170
+ > steps and compare reward patterns / rework counts vs your `sonnet` baseline. This table is a
171
+ > starting heuristic, not a benchmark β€” tune per project.
172
+
173
+ ---
174
+
175
+ ## 7. QE modes cheat-sheet
176
+
177
+ | Mode | Flag | What you get | Requires |
178
+ |------|------|--------------|----------|
179
+ | Reference | *(none)* | 9 core QE skills, condensed | nothing (works out of the box) |
180
+ | Direct | `--full-qe` | full agentic-qe protocols for the 9 core | `agentic-qe` installed |
181
+ | Direct Extended | `--full-qe-extended` | + 6 skills (chaos, security, performance, mutation, TDD, prod-swarm) + up to 3 extra Fleet-QE agents | `agentic-qe` installed |
182
+
183
+ **When:** S/M β†’ Reference. L β†’ Reference or `--full-qe`. XL β†’ `--full-qe`. XL + security/regulatory
184
+ (banking, Π€Π—-152) β†’ `--full-qe-extended`.
185
+
186
+ ---
187
+
188
+ ## 8. Self-learning layers (and whether they conflict)
189
+
190
+ `--full-qe-extended` does **not** turn on learning β€” QE depth and learning are orthogonal. There are
191
+ **three independent learning systems**; they do **not conflict** (isolated by storage / signal /
192
+ consumer):
193
+
194
+ | Layer | Turn on with | Learns from | Storage | Needs a DB? |
195
+ |-------|--------------|-------------|---------|-------------|
196
+ | **A β€” feature-adr reward** | `--with-learning` (or via keysarium) | your checkpoint responses (ΠΎΠΊ=1.0 / minor=0.7 / rework=0.3 / restart=0.0) | `.keysarium/memory/*.json` | **No** β€” JSON files |
197
+ | **B β€” agentic-qe** | comes with `agentic-qe`, via `aqe init` | QE task experiences (ReasoningBank + dream scheduler) | `.agentic-qe/memory.db` + `patterns.rvf` | self-contained |
198
+ | **C β€” dz harness** | `dz setup` / `dz teach` / `dz consolidate` / `dz recall` | your dz sessions | `.dz/` (+ optional `.dz/agentdb.db`) | **Optional** (vector tier only) |
199
+
200
+ **No conflict, but one rule:**
201
+ - Different files, signals, readers β†’ no contention, no clobbering. All three at once is fine.
202
+ - Keysarium present β†’ installer skips `--with-learning` (auto-dedup).
203
+ - **⚠️ One DB file per writer.** Layer C writes SQLite natively (better-sqlite3/WAL); agentic-qe can
204
+ write via sql.js (whole-file overwrite). Pointing **both at the same `.db`** risks corruption.
205
+ Defaults use different files, so you're safe out of the box β€” never hand-repoint one system's
206
+ `AGENTDB_PATH` at the other's DB.
207
+
208
+ **Do you need agentdb?** For A and B β€” **no** (each has its own store). Only layer C's *vector* tier
209
+ uses agentdb, and even there it's optional (lexical recall works without it).
210
+
211
+ ---
212
+
213
+ ## 9. Team workflow conventions
214
+
215
+ - **Two PRs per non-trivial feature:**
216
+ 1. **Design PR** β€” merges `features/<slug>/` (requirements, ADRs, architecture, plan). Reviewed
217
+ and approved *before* any code. This is the spec-review gate.
218
+ 2. **Implementation PR** β€” the actual code (Step 7 output) + the QE report as acceptance evidence.
219
+ - **ADRs are the decision log.** Require β‰₯2 alternatives + trade-offs (the pipeline enforces this).
220
+ - **The QE report (`08_…`) is your acceptance evidence** β€” attach/link it in the impl PR.
221
+ - **Artifacts live in `features/<slug>/`** (kebab-case, Latin, ≀40 chars, no dates/ticket numbers in
222
+ the slug β€” put those inside the files).
223
+ - Treat the ADRs + architecture diagrams as **living docs** β€” they onboard the next engineer.
224
+
225
+ ---
226
+
227
+ ## 10. FAQ / troubleshooting
228
+
229
+ - **"It jumped to a wrong complexity tier."** Override at Checkpoint 0 (`это XL, Π½Π΅ M`). The tier is
230
+ fixed for the run β€” restart if scope changes drastically mid-pipeline.
231
+ - **"`--full-qe` did nothing extra."** `agentic-qe` isn't installed β†’ it silently falls back to
232
+ Reference mode with a warning. Install it (`npm i -g agentic-qe && aqe init --auto`).
233
+ - **"Do I have to use all 9 steps?"** No β€” the Complexity Router picks the active subset per tier.
234
+ - **"Where's the learning stored / how do I reset it?"** Layer A: delete `.keysarium/memory/`.
235
+ B: `.agentic-qe/`. C: `.dz/`. They're independent.
236
+ - **"Can I change which model a step uses?"** Yes β€” the `Model` column is a default. See Β§6.
237
+
238
+ ---
239
+
240
+ ## Links
241
+
242
+ - **npm:** <https://www.npmjs.com/package/@dzhechkov/skills-feature-adr>
243
+ - **SDD section:** <https://www.npmjs.com/package/@dzhechkov/skills-feature-adr#spec-driven-development-sdd>
244
+ - **Self-Learning Layers:** <https://www.npmjs.com/package/@dzhechkov/skills-feature-adr#self-learning-layers>
245
+ - **Keysarium ecosystem:** <https://www.npmjs.com/package/@dzhechkov/keysarium>
246
+
247
+ *Shipped inside `@dzhechkov/skills-feature-adr` (`docs/team-onboarding.md`); source of truth mirrored at `docs/feature-adr-team-onboarding.md` in the monorepo. Facts are faithful to the feature-adr
248
+ `SKILL.md` (variable/tag names verbatim); the model/Fable table is a heuristic, not a benchmark.*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzhechkov/skills-feature-adr",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "Adaptive Feature Development skill pack for Claude Code β€” 11-step pipeline with Complexity Router (S/M/L/XL), ADR-driven architecture, 15 agentic-qe skills, multi-agent fleet QE. Supports --full-qe, --full-qe-extended, --with-learning, and --knowledge-extractor modes.",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
@@ -10,7 +10,8 @@
10
10
  "bin/",
11
11
  "src/",
12
12
  "templates/",
13
- "LICENSE"
13
+ "LICENSE",
14
+ "docs/"
14
15
  ],
15
16
  "keywords": [
16
17
  "claude",