@dzhechkov/skills-feature-adr 1.3.3 → 1.3.5
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 +129 -15
- package/bin/cli.js +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
# @dzhechkov/skills-feature-adr
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Spec-Driven Development pipeline for AI coding agents (Claude Code, Codex, …)**
|
|
4
4
|
|
|
5
|
-
11-step pipeline
|
|
5
|
+
An 11-step, complexity-routed pipeline that makes an AI coding agent build a feature the way a
|
|
6
|
+
disciplined engineering team does: **spec first, code last.** Every phase emits a durable,
|
|
7
|
+
versioned, human-approved **specification artifact** (`00_…`–`08_…`), and code is *generated from
|
|
8
|
+
the frozen spec* — not reverse-documented after the fact. Scales from a 3-file config change to a
|
|
9
|
+
cross-cutting 30+ file refactor via a Complexity Router (S/M/L/XL). Integrates 15 skills from
|
|
10
|
+
[agentic-qe](https://github.com/proffesor-for-testing/agentic-qe) for quality engineering. Part of
|
|
11
|
+
the [Keysarium](https://www.npmjs.com/package/@dzhechkov/keysarium) ecosystem.
|
|
12
|
+
|
|
13
|
+
> **For your team:** the `features/<slug>/` folder this produces *is* the spec — reviewable in a PR,
|
|
14
|
+
> onboarding doc for free, every decision captured as an ADR, and machine-checked back against the
|
|
15
|
+
> code by the QE phase. See **[Spec-Driven Development](#spec-driven-development-sdd)** below.
|
|
6
16
|
|
|
7
17
|
---
|
|
8
18
|
|
|
@@ -96,6 +106,90 @@ ARCHITECTURE → IMPLEMENTATION → CODE → QE
|
|
|
96
106
|
|
|
97
107
|
---
|
|
98
108
|
|
|
109
|
+
## Spec-Driven Development (SDD)
|
|
110
|
+
|
|
111
|
+
Feature ADR is a **spec-driven** pipeline. The point is not to write documentation — it's to make
|
|
112
|
+
the **specification the executable contract** that drives the code, and to keep the agent from ever
|
|
113
|
+
skipping ahead to implementation before the spec is agreed. Three ideas make that real.
|
|
114
|
+
|
|
115
|
+
### 1. The artifacts *are* the spec — one layered document, built top-down
|
|
116
|
+
|
|
117
|
+
Each phase emits a spec artifact at a different altitude. Together they form a single, traceable
|
|
118
|
+
specification chain from intent to verified code:
|
|
119
|
+
|
|
120
|
+
| Artifact | Spec layer | Answers |
|
|
121
|
+
|----------|-----------|---------|
|
|
122
|
+
| `00_complexity_assessment.md` | **Scope spec** | How big is this? Which phases are even needed? |
|
|
123
|
+
| `01_requirements.md` | **Behavioral spec** | What must be true when we're done? (SMART, testable) |
|
|
124
|
+
| `02_research.md` | **Prior-art spec** | What patterns/analogues constrain the design? |
|
|
125
|
+
| `03_adr/00N-*.md` | **Decision spec** | Which option, and *why* — with ≥2 alternatives + trade-offs |
|
|
126
|
+
| `03.5_ideation_report.md` | **Quality-risk spec** | HTSM/SFDIPOT risks + a GO / CONDITIONAL / NO-GO verdict |
|
|
127
|
+
| `04_domain_model.md` | **Domain spec** | Entities, aggregates, invariants (DDD) |
|
|
128
|
+
| `05_architecture.md` + `diagrams/` | **Structural spec** | C4 + sequence diagrams; components & contracts |
|
|
129
|
+
| `06_implementation_plan.md` | **Task spec** | SPARC-GOAP milestones — the plan the code must follow |
|
|
130
|
+
| `07_code_changes/` | **The implementation** | Code in the repo + a `change_manifest.md` |
|
|
131
|
+
| `08_qe_report.md` / `09_fleet_qe_assessment.md` | **Conformance spec** | Does the code satisfy the spec? Traceability + gaps |
|
|
132
|
+
|
|
133
|
+
The spec is **version-controlled** (numbered files under `features/<slug>/`) and reviewable in a
|
|
134
|
+
pull request exactly like code. Code is **Step 7** — the second-to-last thing that happens.
|
|
135
|
+
|
|
136
|
+
### 2. The spec is a typed contract carried forward — not prose that gets ignored
|
|
137
|
+
|
|
138
|
+
Each phase's output becomes a **cross-phase variable** that downstream phases *consume as input*, so
|
|
139
|
+
a later phase can't silently contradict an earlier decision — it's building on a fixed upstream spec:
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
{REQUIREMENTS} → {RESEARCH_FINDINGS} → {ADR_DECISIONS} → {IDEATION_VERDICT}/{QUALITY_RISKS}
|
|
143
|
+
→ {DOMAIN_MODEL} → {ARCHITECTURE} → {IMPL_PLAN} → {CODE_CHANGES} → {QE_RESULTS}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
e.g. Step 5 (Architecture) *requires* `{ADR_DECISIONS}` as input — "architecture without an ADR"
|
|
147
|
+
is a blocked anti-pattern. Step 7 (Code) consumes `{IMPL_PLAN}`; "code without a plan" is blocked.
|
|
148
|
+
|
|
149
|
+
### 3. Every spec layer is *gated* — machine-checkable + human-approved
|
|
150
|
+
|
|
151
|
+
Two gates guard the boundary between phases, so the spec is enforced, not aspirational:
|
|
152
|
+
|
|
153
|
+
- **Promise tags** — each phase must emit a completion token before the next may start:
|
|
154
|
+
`FEATURE_ADR_ROUTED → …_REQUIREMENTS_GATHERED → …_DESIGNED → …_QUALITY_ASSESSED → …_ARCHITECTED
|
|
155
|
+
→ …_PLANNED → …_IMPLEMENTED → …_VERIFIED → …_FLEET_VERIFIED`. A missing/`_INCOMPLETE` promise
|
|
156
|
+
halts the pipeline.
|
|
157
|
+
- **Checkpoints** — after each phase the agent stops and shows you the artifact for approval
|
|
158
|
+
(`"ок"` → next, `"углуби X"` → elaborate, free text → adjust). **You co-author and freeze the
|
|
159
|
+
spec** one layer at a time; the agent never runs a 30-file feature unattended.
|
|
160
|
+
|
|
161
|
+
### 4. The loop closes — code is verified *against* the spec
|
|
162
|
+
|
|
163
|
+
This is what separates SDD from "write a design doc, then wing it." The QE phases trace the
|
|
164
|
+
implementation **back to the specification**:
|
|
165
|
+
|
|
166
|
+
- **`qe-requirements-validation`** builds a traceability matrix (`01_requirements.md` ⇄ code ⇄ tests).
|
|
167
|
+
- **Gap-detection loop** in Step 8 must close with **zero remaining gaps** — every requirement is
|
|
168
|
+
covered or the pipeline blocks.
|
|
169
|
+
- For L/XL, **Step 9 Fleet QE** adds risk-based, regression, integration and coverage checks and
|
|
170
|
+
emits `COMPLETE` or `NEEDS_REMEDIATION`.
|
|
171
|
+
|
|
172
|
+
So a requirement that never got implemented, or code that satisfies no requirement, is caught by a
|
|
173
|
+
gate — not discovered in production.
|
|
174
|
+
|
|
175
|
+
### SDD principle → how Feature ADR implements it
|
|
176
|
+
|
|
177
|
+
| SDD principle | In this pipeline |
|
|
178
|
+
|---------------|------------------|
|
|
179
|
+
| Spec before code | Steps 0–6 produce specs; code is Step 7 |
|
|
180
|
+
| Executable / enforced spec | Cross-phase variables + promise-tag gates + zero-gap QE loop |
|
|
181
|
+
| Decisions are first-class | ADRs with ≥2 alternatives + trade-offs (`03_adr/`) |
|
|
182
|
+
| Human stays in control | A checkpoint after every phase; NO-GO verdict blocks |
|
|
183
|
+
| Spec ⇄ code traceability | Requirements-validation matrix + gap loop (Steps 8–9) |
|
|
184
|
+
| Right-sized ceremony | Complexity Router: S-tier skips ADR/DDD/architecture entirely |
|
|
185
|
+
| Spec is a durable asset | Numbered, versioned artifacts in `features/<slug>/`, PR-reviewable |
|
|
186
|
+
|
|
187
|
+
> **Tip for teams:** treat `features/<slug>/` as the deliverable of the *design* PR, merged and
|
|
188
|
+
> reviewed **before** the implementation PR. The ADRs and architecture diagrams become your living
|
|
189
|
+
> documentation; the QE report is your acceptance evidence.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
99
193
|
## Complexity Tiers
|
|
100
194
|
|
|
101
195
|
| Tier | Scope | Active Steps | Time Budget |
|
|
@@ -120,22 +214,42 @@ ARCHITECTURE → IMPLEMENTATION → CODE → QE
|
|
|
120
214
|
|
|
121
215
|
## Pipeline Steps
|
|
122
216
|
|
|
123
|
-
| Step | Name | Tiers | Model | Agentic QE Skill | Output |
|
|
124
|
-
|
|
125
|
-
| 0 | Complexity Router | All | haiku | — | `00_complexity_assessment.md` |
|
|
126
|
-
| 1 | Requirements | All | sonnet | — | `01_requirements.md` |
|
|
127
|
-
| 2 | Research | L/XL | sonnet | — | `02_research.md` |
|
|
128
|
-
| 3 | ADR + Shift-Left | M+ | opus | shift-left-testing | `03_adr/001-*.md` |
|
|
129
|
-
| 3.5 | QCSD Ideation Swarm | M+ | sonnet | qcsd-ideation-swarm | `03.5_ideation_report.md` |
|
|
130
|
-
| 4 | DDD | L/XL | opus | — | `04_domain_model.md` |
|
|
131
|
-
| 5 | Architecture | M+ | opus | — | `05_architecture.md` + diagrams |
|
|
132
|
-
| 6 | SPARC-GOAP Plan | All | sonnet | code-goal-planner | `06_implementation_plan.md` |
|
|
133
|
-
| 7 | Code | All | opus | tdd-london-chicago* | `07_code_changes/` |
|
|
134
|
-
| 8 | QE + Brutal Honesty | All | sonnet | brutal-honesty-review | `08_qe_report.md` |
|
|
135
|
-
| 9 | Fleet QE | L/XL | sonnet | 5 skills (4 agents) | `09_fleet_qe_assessment.md` |
|
|
217
|
+
| Step | Name | Tiers | Model | Fable? | Agentic QE Skill | Output |
|
|
218
|
+
|------|------|-------|-------|:------:|------------------|--------|
|
|
219
|
+
| 0 | Complexity Router | All | haiku | ✅ | — | `00_complexity_assessment.md` |
|
|
220
|
+
| 1 | Requirements | All | sonnet | ✅ | — | `01_requirements.md` |
|
|
221
|
+
| 2 | Research | L/XL | sonnet | ✅ | — | `02_research.md` |
|
|
222
|
+
| 3 | ADR + Shift-Left | M+ | opus | ⚠️ | shift-left-testing | `03_adr/001-*.md` |
|
|
223
|
+
| 3.5 | QCSD Ideation Swarm | M+ | sonnet | ✅ | qcsd-ideation-swarm | `03.5_ideation_report.md` |
|
|
224
|
+
| 4 | DDD | L/XL | opus | ⚠️ | — | `04_domain_model.md` |
|
|
225
|
+
| 5 | Architecture | M+ | opus | ⚠️ | — | `05_architecture.md` + diagrams |
|
|
226
|
+
| 6 | SPARC-GOAP Plan | All | sonnet | ✅ | code-goal-planner | `06_implementation_plan.md` |
|
|
227
|
+
| 7 | Code | All | opus | ⚠️ | tdd-london-chicago* | `07_code_changes/` |
|
|
228
|
+
| 8 | QE + Brutal Honesty | All | sonnet | ✅ | brutal-honesty-review | `08_qe_report.md` |
|
|
229
|
+
| 9 | Fleet QE | L/XL | sonnet | ⚠️ | 5 skills (4 agents) | `09_fleet_qe_assessment.md` |
|
|
136
230
|
|
|
137
231
|
*\* Extended skills (marked with \*) are only available with `--full-qe-extended`*
|
|
138
232
|
|
|
233
|
+
### The `Model` / `Fable?` columns — read this before swapping models
|
|
234
|
+
|
|
235
|
+
The `Model` column is the **default recommendation, fully overridable** — the routing rule is
|
|
236
|
+
"phase difficulty → model tier": a fast tier for classification, a mid tier (`sonnet`) for
|
|
237
|
+
structured drafting / QE synthesis, a top tier (`opus`) for load-bearing judgment.
|
|
238
|
+
|
|
239
|
+
The **`Fable?`** column flags where switching to **Fable** is low-risk to try:
|
|
240
|
+
|
|
241
|
+
- **✅ Fable-friendly** — drafting / classification / synthesis phases that are **gated by a
|
|
242
|
+
checkpoint and cheap to redo** (0 Router, 1 Requirements, 2 Research, 3.5 Ideation, 6 Plan,
|
|
243
|
+
8 QE draft). If Fable holds quality here, you gain speed/cost with a human gate right after.
|
|
244
|
+
- **⚠️ Validate first** — **load-bearing reasoning** phases where a wrong call cascades downstream
|
|
245
|
+
(3 ADR decisions, 4 DDD, 5 Architecture, 7 Code, 9 Fleet QE). Keep the `opus`/`sonnet` default
|
|
246
|
+
unless you've A/B-validated Fable on your codebase.
|
|
247
|
+
|
|
248
|
+
> **How to decide with data, not vibes:** install with `--with-learning` and run 2–3 features with
|
|
249
|
+
> Fable on the ✅ steps; compare the reward patterns / rework counts against your `sonnet` baseline.
|
|
250
|
+
> The pipeline's own reward tracker tells you where Fable is safe. This table is a **starting
|
|
251
|
+
> heuristic**, not a benchmark — tune per project.
|
|
252
|
+
|
|
139
253
|
---
|
|
140
254
|
|
|
141
255
|
## Output Structure
|
package/bin/cli.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dzhechkov/skills-feature-adr",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.5",
|
|
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": {
|
|
@@ -57,4 +57,4 @@
|
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
59
59
|
}
|
|
60
|
-
}
|
|
60
|
+
}
|