akili-specs 2.5.1 → 2.7.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/.claude/commands/akili-archive.md +35 -4
- package/.claude/commands/akili-constitution.md +3 -1
- package/.claude/commands/akili-execute.md +3 -1
- package/.claude/commands/akili-propose.md +4 -0
- package/.claude/commands/akili-resume.md +6 -0
- package/.claude/commands/akili-specify.md +5 -3
- package/.claude/skills/cognitive-doc-design/SKILL.md +81 -0
- package/.claude/skills/kaizen/SKILL.md +155 -0
- package/.claude/skills/product-manager-toolkit/SKILL.md +20 -1
- package/.claude/skills/product-manager-toolkit/references/prd_templates.md +2 -0
- package/CHANGELOG.md +14 -0
- package/README.md +30 -4
- package/bin/akili.js +121 -54
- package/docs/README.md +3 -1
- package/docs/cli.md +7 -0
- package/docs/commands/README.md +1 -1
- package/docs/commands/akili-archive.md +13 -1
- package/docs/commands/akili-execute.md +1 -0
- package/docs/commands/akili-propose.md +2 -0
- package/docs/commands/akili-resume.md +1 -1
- package/docs/commands/akili-specify.md +1 -0
- package/docs/flow.md +22 -2
- package/docs/model-routing.md +1 -1
- package/docs/openspec-comparison.md +1 -0
- package/docs/skills/README.md +3 -1
- package/docs/skills/cognitive-doc-design.md +31 -0
- package/docs/skills/kaizen.md +30 -0
- package/docs/skills/product-manager-toolkit.md +7 -7
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Archive a completed spec task, sync agent guides and CodeGraph, and keep the TRD current.
|
|
2
|
+
description: Archive a completed spec task, run the Kaizen retrospective, sync agent guides and CodeGraph, and keep the TRD current.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Archive AKILI-SPECS Spec
|
|
@@ -8,7 +8,7 @@ Archive a completed AKILI-SPECS spec path after implementation, testing, and val
|
|
|
8
8
|
|
|
9
9
|
Archiving preserves the full decision trail. It keeps active `docs/specs/` easier to scan while retaining proposal, requirements, design, tasks, execution notes, test evidence, and validation evidence for future review.
|
|
10
10
|
|
|
11
|
-
> **Recommended model tier:** T5 Fast-Cheap. This is a format-following and file-moving job; a deep reasoning model is not required.
|
|
11
|
+
> **Recommended model tier:** T5 Fast-Cheap. This is a format-following and file-moving job; a deep reasoning model is not required. The Kaizen Learn sub-step (Step 4.2) is a judgment task — if convenient, run it on a T3 Auditor model; otherwise keep the whole command on T5 and keep lessons few.
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
@@ -71,6 +71,10 @@ docs/specs/archive/2026-05-16-bugfix--login-redirect/
|
|
|
71
71
|
- `execution.md` if present
|
|
72
72
|
- `test-report.md` if present
|
|
73
73
|
- `validation-report.md` if present
|
|
74
|
+
4. Read Kaizen inputs (each only if it exists):
|
|
75
|
+
- `docs/specs/kaizen-log.md`
|
|
76
|
+
- `docs/specs/drift-report.md`
|
|
77
|
+
- `docs/specs/quick/quick-log.md` (only if this spec escalated from `/akili-quick`)
|
|
74
78
|
|
|
75
79
|
### Step 1: Check Archive Readiness
|
|
76
80
|
|
|
@@ -88,6 +92,8 @@ If readiness is unclear, stop and ask the user whether to proceed, validate firs
|
|
|
88
92
|
|
|
89
93
|
### Step 2: Create Archive Summary
|
|
90
94
|
|
|
95
|
+
Write the summary (and later the Kaizen log entry) following `cognitive-doc-design`: lead with the outcome, keep sections small, and prefer tables and checklists over prose.
|
|
96
|
+
|
|
91
97
|
Before moving the folder, create or update:
|
|
92
98
|
|
|
93
99
|
```text
|
|
@@ -119,13 +125,35 @@ Before moving the folder, sync the project constitution with what the spec actua
|
|
|
119
125
|
- Follow the inheritance convention from `/akili-constitution` Step 7 — if the project has no `## Module Guides` index yet, add it rather than inventing a parallel structure.
|
|
120
126
|
3. **CodeGraph Refresh Hook:** Check if `.codegraph/` exists in the repository root. If it does, recommend that the user or environment runs a fresh CodeGraph indexing/update (e.g. running `codegraph index` or equivalent) so the graph reflects the new or reshaped modules.
|
|
121
127
|
|
|
122
|
-
### Step 4:
|
|
128
|
+
### Step 4: Kaizen Retrospective
|
|
129
|
+
|
|
130
|
+
Before moving the folder, **load the `kaizen` skill and follow its loop contract**: one bounded continuous-improvement pass over the completed spec — **Measure → Learn → Standardize → Record**. The pass reads only files already loaded in Step 0, produces at most 3 lessons and one log entry, and must never block the archive.
|
|
131
|
+
|
|
132
|
+
#### 4.1 — Measure
|
|
133
|
+
|
|
134
|
+
Extract the improvement signals listed in the skill's Measure table from the spec's own evidence: Reviewer FAIL rework attempts, HALTs and FATAL_FAILs, `## Pivot Record` blocks, PRODUCT_BUG findings, severe judgment-day findings, validation FAIL/WARN counts, `/akili-quick` escalations, and drift attributable to this spec.
|
|
135
|
+
|
|
136
|
+
If every signal is clean, record a one-line **clean run** entry in Step 4.4 and skip 4.2–4.3.
|
|
137
|
+
|
|
138
|
+
#### 4.2 — Learn
|
|
139
|
+
|
|
140
|
+
Distill **0 to 3** lessons following the skill's hard rules: every lesson names a root cause and cites its evidence (file + section); generic lessons are banned; prefer zero lessons over filler; a repeated root cause increments recurrence and raises severity instead of duplicating. Classify each lesson's target as **Product** (this project) or **Methodology** (the root cause is AKILI itself).
|
|
141
|
+
|
|
142
|
+
#### 4.3 — Standardize (HITL)
|
|
143
|
+
|
|
144
|
+
For each lesson, propose exactly one minimal edit (1–3 lines) to the most durable home (constitution guides, `docs/specs/general-setup/` templates, `docs/ux-ui/design.md`, or `.agents/` personas — append-only). Methodology lessons get no local edit; record them for upstreaming to the AKILI methodology repository. Present the skill's approval menu (Apply all / Apply selected / Defer all / Type something); recommend "Apply all" when any High-severity lesson exists, otherwise "Defer all". **Every edit outside the kaizen log requires this approval.**
|
|
145
|
+
|
|
146
|
+
#### 4.4 — Record
|
|
147
|
+
|
|
148
|
+
Create or update `docs/specs/kaizen-log.md` using the skill's Kaizen Log Format: prepend the new entry under `## Entries`, refresh `## Active Lessons` (10 rows max, retire institutionalized lessons).
|
|
149
|
+
|
|
150
|
+
### Step 5: Move Folder
|
|
123
151
|
|
|
124
152
|
1. Ensure `docs/specs/archive/` exists.
|
|
125
153
|
2. Move `docs/specs/$ARGUMENTS/` to `docs/specs/archive/YYYY-MM-DD-$SAFE_NAME/`.
|
|
126
154
|
3. If the target archive folder already exists, do not overwrite it. Add a numeric suffix such as `-2` and report the final path.
|
|
127
155
|
|
|
128
|
-
### Step
|
|
156
|
+
### Step 6: Report To User
|
|
129
157
|
|
|
130
158
|
Present:
|
|
131
159
|
|
|
@@ -135,6 +163,7 @@ Present:
|
|
|
135
163
|
4. unresolved follow-ups, if any
|
|
136
164
|
5. whether the active spec directory is now clean
|
|
137
165
|
6. constitution sync summary: guides created or updated, parent index entries touched, and whether a CodeGraph re-index is recommended
|
|
166
|
+
7. Kaizen summary: metrics captured, lessons recorded (IDs), standardization actions applied or deferred, and any Methodology lessons suggested for upstreaming to the AKILI repo
|
|
138
167
|
|
|
139
168
|
## Error Handling
|
|
140
169
|
|
|
@@ -143,3 +172,5 @@ Present:
|
|
|
143
172
|
- If validation has unresolved FAIL findings, recommend fixing or explicitly accepting risk before archive.
|
|
144
173
|
- If moving the folder fails, leave the original folder in place and report the reason.
|
|
145
174
|
- Do not delete spec folders as part of archiving; only move them into `docs/specs/archive/`.
|
|
175
|
+
- The Kaizen retrospective must never block the archive. If retrospective inputs are missing or the user declines, append a metrics-only (or clean-run) entry to `docs/specs/kaizen-log.md` and continue to Step 5.
|
|
176
|
+
- Never edit files outside `docs/specs/kaizen-log.md` without explicit user approval in Step 4.3.
|
|
@@ -119,6 +119,8 @@ Focus especially on:
|
|
|
119
119
|
- Infrastructure expectations (e.g., AWS, deployment platforms, architectural rules, specific cloud components required)
|
|
120
120
|
- Preferred `docs/specs/` taxonomy when the repo does not already imply one
|
|
121
121
|
|
|
122
|
+
Use the `product-manager-toolkit` skill's **Customer Interview Guide** and **Hypothesis Template** as the question script. If the user has interview transcripts or raw customer feedback available, offer its `customer_interview_analyzer.py` helper to extract pain points, jobs-to-be-done, and themes before drafting.
|
|
123
|
+
|
|
122
124
|
Ask only what is needed to avoid unstable assumptions.
|
|
123
125
|
|
|
124
126
|
---
|
|
@@ -127,7 +129,7 @@ Ask only what is needed to avoid unstable assumptions.
|
|
|
127
129
|
|
|
128
130
|
Create or enhance `docs/prd.md` as a concise living document.
|
|
129
131
|
|
|
130
|
-
**Primary skill:** `product-manager-toolkit`
|
|
132
|
+
**Primary skill:** `product-manager-toolkit` — follow its **AKILI-SPECS Integration** section: the Required PRD structure below is canonical (never substitute the toolkit's own PRD templates); use its North Star Metric framework for "Goals & Success Metrics", jobs-to-be-done for "Target Personas", and its Hypothesis Template for "Assumptions". Write the document following `cognitive-doc-design`: lead with the answer, progressive disclosure, tables and checklists over prose.
|
|
131
133
|
|
|
132
134
|
**PRD rules:**
|
|
133
135
|
|
|
@@ -75,6 +75,7 @@ The Leader does not write production code itself unless the rework loop is exhau
|
|
|
75
75
|
- `docs/specs/$ARGUMENTS/design.md`
|
|
76
76
|
- `docs/specs/$ARGUMENTS/tasks.md`
|
|
77
77
|
3. Read `docs/specs/$ARGUMENTS/execution.md` if it exists.
|
|
78
|
+
- Also read `docs/specs/kaizen-log.md` if it exists — ONLY the `## Active Lessons` table (skip `## Entries`).
|
|
78
79
|
4. Read the agent personas:
|
|
79
80
|
- `.agents/leader.md`
|
|
80
81
|
- `.agents/implementer.md`
|
|
@@ -133,6 +134,7 @@ Delegate to the Implementer with:
|
|
|
133
134
|
- the project constitution references (`CLAUDE.md`, `AGENTS.md`, `docs/ux-ui/design.md`)
|
|
134
135
|
- the recommended skill list from the task (e.g. `ui-ux-pro-max`, `react-doctor`, `nestjs-expert`)
|
|
135
136
|
- any prior Reviewer feedback when this is a rework attempt
|
|
137
|
+
- any Active Lessons from `docs/specs/kaizen-log.md` relevant to the task's domain (pass only the matching rows, never the full log)
|
|
136
138
|
- the verification command to run before reporting completion
|
|
137
139
|
|
|
138
140
|
The Implementer must keep changes minimal and within task scope, follow the design spec exactly unless the spec is clearly incomplete or contradictory, and run the verification before reporting completion.
|
|
@@ -171,7 +173,7 @@ Only after a Reviewer `PASS`:
|
|
|
171
173
|
|
|
172
174
|
1. Update `tasks.md` from `[ ]` (or `[~]`) to `[x]`.
|
|
173
175
|
2. Append a structured entry to `execution.md` (see log format below) covering every attempt in this task's loop.
|
|
174
|
-
3. **Git Commit Staging:** Always follow the **AKILI Spec Reference** commit standard. Prefix the commit message with `[SPEC:<spec-path>]` (e.g. `git commit -m "[SPEC:changes/add-remember-me] implement secure cookie storage"`).
|
|
176
|
+
3. **Git Commit Staging:** Always follow the **AKILI Spec Reference** commit standard. Prefix the commit message with `[SPEC:<spec-path>]` (e.g. `git commit -m "[SPEC:changes/add-remember-me] implement secure cookie storage"`). When writing a PR description for the spec's work, load `cognitive-doc-design` and follow its PR and Review Docs rules: state what to review first, what is intentionally out of scope, and link chained PRs.
|
|
175
177
|
4. **Code Traceability:** Add file-level or block-level comment spec references (`// @akili-spec <spec-path>`) in critical or complex codebase additions to assist future audits.
|
|
176
178
|
5. **Constitution Impact Check:** If the task created a new module/package, moved a module boundary, or changed a module's public surface, append a `## Constitution Impact: <Task ID>` block to `execution.md` recording:
|
|
177
179
|
- which module was created or reshaped
|
|
@@ -65,6 +65,7 @@ Do not create `requirements.md`, `design.md`, or `tasks.md` in this command unle
|
|
|
65
65
|
- `docs/specs/general-setup/`
|
|
66
66
|
- package-level `CLAUDE.md` files
|
|
67
67
|
4. Read nearby or related specs under `docs/specs/`.
|
|
68
|
+
- Also read `docs/specs/kaizen-log.md` if it exists — ONLY the `## Active Lessons` table (skip `## Entries`).
|
|
68
69
|
5. **CodeGraph over full reads:** If `.codegraph/` exists, use `codegraph_search` and `codegraph_context` to inspect relevant code paths instead of reading full source files or using generic `grep`/`glob`. This drastically reduces input tokens.
|
|
69
70
|
|
|
70
71
|
### Step 1: Classify Request Type & Route
|
|
@@ -120,6 +121,7 @@ Use `brainstorming` and, when helpful, `product-manager-toolkit` to clarify:
|
|
|
120
121
|
|
|
121
122
|
**Scope Chunking:** If the user provides a very large or multi-faceted instruction (e.g., an entire epic or multiple distinct features), analyze whether the request should be split into multiple bounded proposals.
|
|
122
123
|
- If it should be split, propose breaking it down to the user.
|
|
124
|
+
- When recommending the build order of the resulting chunks, score them with RICE or MoSCoW from the `product-manager-toolkit` skill (AKILI-SPECS Integration section) instead of guessing.
|
|
123
125
|
- Upon agreement, create the respective folders for each bounded change under `docs/specs/` and generate a `proposal.md` for each.
|
|
124
126
|
|
|
125
127
|
Ask focused questions only when the proposal would otherwise depend on unstable assumptions.
|
|
@@ -143,6 +145,8 @@ Create a concise proposal with this structure:
|
|
|
143
145
|
13. Success Criteria
|
|
144
146
|
14. Next Step
|
|
145
147
|
|
|
148
|
+
If an Active Lesson from `docs/specs/kaizen-log.md` applies to this change's domain, reflect it in Scope or Risks and cite its ID (e.g. `KZ-003`).
|
|
149
|
+
|
|
146
150
|
### Visual Reference
|
|
147
151
|
|
|
148
152
|
Capture whatever visual source backs this change so `/akili-specify` can convert it into requirements, design, and tasks. Use the state that applies:
|
|
@@ -78,6 +78,12 @@ If **multiple specs** are active, present a dashboard:
|
|
|
78
78
|
Which spec do you want to resume? (or "all" for full briefing)
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
If `docs/specs/kaizen-log.md` exists, append a Kaizen footer line to either format, reading ONLY the `## Active Lessons` table:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
Kaizen: 3 active lessons (latest: KZ-003 — empty-state tokens before list UI)
|
|
85
|
+
```
|
|
86
|
+
|
|
81
87
|
### Step 3: Provide Full Briefing (if requested)
|
|
82
88
|
|
|
83
89
|
If the user selects "all" or if there's only one spec, provide a detailed briefing for each:
|
|
@@ -74,6 +74,7 @@ When the spec is a **bug** — the proposal's Document Control says `Type: Bug`,
|
|
|
74
74
|
- A generated mockup under `docs/specs/$ARGUMENTS/mockup/`, `.stitch/designs`, or a `.stitch/DESIGN.md` reference → read those artifacts (screens, HTML, design tokens) and use `stitch-design` to interpret them.
|
|
75
75
|
- Any mockup produced during `/akili-propose` counts as visual design context for the `Design Impact` steps below, exactly like a Figma link.
|
|
76
76
|
4. Read nearby or dependent specs under `docs/specs/` that overlap with the requested path.
|
|
77
|
+
- Also read `docs/specs/kaizen-log.md` if it exists — ONLY the `## Active Lessons` table (skip `## Entries`).
|
|
77
78
|
5. Respect the repository's current package layout and naming conventions instead of assuming a fixed stack.
|
|
78
79
|
6. **CodeGraph over full reads:** If `.codegraph/` exists, use `codegraph_search` and `codegraph_context` to inspect relevant code paths instead of reading full source files or using generic `grep`/`glob`. This drastically reduces input tokens.
|
|
79
80
|
|
|
@@ -94,11 +95,12 @@ Use `brainstorming` and, when helpful, `product-manager-toolkit` to clarify:
|
|
|
94
95
|
|
|
95
96
|
**Scope Chunking:** If the user provides a very large instruction or epic, evaluate if it is too massive for a single spec.
|
|
96
97
|
- If it spans multiple distinct modules or features, propose splitting the spec into multiple separate specs.
|
|
98
|
+
- When recommending the build order of the split specs, score them with RICE or MoSCoW from the `product-manager-toolkit` skill (AKILI-SPECS Integration section) instead of guessing.
|
|
97
99
|
- If the user agrees, create the separate folders under `docs/specs/` and draft a `proposal.md` or jump straight to the split documents (`requirements.md`, `design.md`, `tasks.md`) for each chunk.
|
|
98
100
|
|
|
99
101
|
#### Step 1.2 — Write
|
|
100
102
|
|
|
101
|
-
Generate `requirements.md` using `docs/specs/general-setup/requirements.md` as the format source.
|
|
103
|
+
Generate `requirements.md` using `docs/specs/general-setup/requirements.md` as the format source. Write every spec document (`requirements.md`, `design.md`, `tasks.md`) following `cognitive-doc-design`: lead with the answer, progressive disclosure, and tables/checklists/scenarios over prose.
|
|
102
104
|
|
|
103
105
|
Minimum content:
|
|
104
106
|
|
|
@@ -189,7 +191,7 @@ Use additional technical skills as needed:
|
|
|
189
191
|
|
|
190
192
|
#### Step 2.2 — Write
|
|
191
193
|
|
|
192
|
-
Generate `design.md` using `docs/specs/general-setup/design.md` as the format source.
|
|
194
|
+
Generate `design.md` using `docs/specs/general-setup/design.md` as the format source. Apply relevant Active Lessons from `docs/specs/kaizen-log.md` and cite the lesson ID next to the design decision it shaped.
|
|
193
195
|
|
|
194
196
|
Minimum content:
|
|
195
197
|
|
|
@@ -287,7 +289,7 @@ Preferred UI/UX skill rule:
|
|
|
287
289
|
Present a clear summary of the generated tasks on the screen, including:
|
|
288
290
|
- A high-level list of the tasks to be implemented so the user understands the plan without reading the full document.
|
|
289
291
|
- An **Estimated Lines of Code (LOC)** output for the entire spec.
|
|
290
|
-
- A **PR Strategy Recommendation**: If the estimate exceeds ~400 LOC or the task graph is highly complex, recommend splitting the implementation into multiple Pull Requests and suggest logical boundaries (e.g., "PR 1: Backend/API, PR 2: Frontend UI").
|
|
292
|
+
- A **PR Strategy Recommendation**: If the estimate exceeds ~400 LOC or the task graph is highly complex, recommend splitting the implementation into multiple Pull Requests and suggest logical boundaries (e.g., "PR 1: Backend/API, PR 2: Frontend UI"). When PRs are chained, note that their descriptions should follow `cognitive-doc-design` review-empathy rules (what to review first, what is out of scope, link previous/next PR).
|
|
291
293
|
|
|
292
294
|
Then explicitly ask the user how to proceed, providing these options:
|
|
293
295
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cognitive-doc-design
|
|
3
|
+
description: "Design docs that reduce cognitive load. Trigger: writing guides, READMEs, RFCs, onboarding, architecture, or review-facing docs."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: gentleman-programming
|
|
7
|
+
version: "1.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
Load this skill when creating or editing documentation that people need to understand quickly, retain, or use during review.
|
|
13
|
+
|
|
14
|
+
Use it especially for:
|
|
15
|
+
|
|
16
|
+
- PR descriptions and review notes.
|
|
17
|
+
- Contributor or maintainer guides.
|
|
18
|
+
- Architecture, workflow, or onboarding docs.
|
|
19
|
+
- Any doc that currently feels long, dense, or hard to scan.
|
|
20
|
+
|
|
21
|
+
## Critical Patterns
|
|
22
|
+
|
|
23
|
+
| Pattern | Rule |
|
|
24
|
+
|---------|------|
|
|
25
|
+
| Lead with the answer | Put the decision, action, or outcome first. Context comes after. |
|
|
26
|
+
| Progressive disclosure | Start with the happy path, then add details, edge cases, and references. |
|
|
27
|
+
| Chunking | Group related information into small sections. Keep flat lists short. |
|
|
28
|
+
| Signposting | Use headings, labels, callouts, and summaries so readers know where they are. |
|
|
29
|
+
| Recognition over recall | Prefer tables, checklists, examples, and templates over prose that must be remembered. |
|
|
30
|
+
| Review empathy | Design docs so reviewers can verify intent without reconstructing the whole story. |
|
|
31
|
+
|
|
32
|
+
## Documentation Shape
|
|
33
|
+
|
|
34
|
+
Use this default structure unless the repo already provides a stronger template:
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
# <Outcome-oriented title>
|
|
38
|
+
|
|
39
|
+
<One paragraph: what changed, who it helps, and why it matters.>
|
|
40
|
+
|
|
41
|
+
## Quick path
|
|
42
|
+
|
|
43
|
+
1. <First action>
|
|
44
|
+
2. <Second action>
|
|
45
|
+
3. <Verification or expected result>
|
|
46
|
+
|
|
47
|
+
## Details
|
|
48
|
+
|
|
49
|
+
| Topic | Decision |
|
|
50
|
+
|-------|----------|
|
|
51
|
+
| <area> | <concise explanation> |
|
|
52
|
+
|
|
53
|
+
## Checklist
|
|
54
|
+
|
|
55
|
+
- [ ] <Reader can confirm this>
|
|
56
|
+
- [ ] <Reader can confirm that>
|
|
57
|
+
|
|
58
|
+
## Next step
|
|
59
|
+
|
|
60
|
+
<Link or action that continues the workflow.>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## PR and Review Docs
|
|
64
|
+
|
|
65
|
+
When documenting a PR, reduce reviewer burnout by making the review path explicit:
|
|
66
|
+
|
|
67
|
+
- State what to review first.
|
|
68
|
+
- State what is intentionally out of scope.
|
|
69
|
+
- Link the previous and next PR when work is chained.
|
|
70
|
+
- Keep each section focused on one decision or unit of work.
|
|
71
|
+
- Use checklists for acceptance criteria and verification.
|
|
72
|
+
|
|
73
|
+
## Commands
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Check markdown files changed in the current branch
|
|
77
|
+
git diff --name-only -- '*.md'
|
|
78
|
+
|
|
79
|
+
# Inspect PR changed-line count for cognitive load
|
|
80
|
+
gh pr view <PR_NUMBER> --json additions,deletions,changedFiles
|
|
81
|
+
```
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kaizen
|
|
3
|
+
description: "Trigger: kaizen, retrospective, continuous improvement, mejora continua, /akili-archive Kaizen step. Run the bounded Kaizen retrospective: Measure → Learn → Standardize → Record."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: Juan Carlos Cadavid — jcadavid.com
|
|
7
|
+
version: "1.0"
|
|
8
|
+
inspired-by: "Kaizen Institute glossary (kaizen.com), 'El Método Kaizen' (small-steps approach, Robert Maurer), 'Emprendiendo Kaizen' (INTI, 2019, ISBN 978-950-532-415-6)"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Kaizen — The AKILI Continuous-Improvement Skill
|
|
12
|
+
|
|
13
|
+
Kaizen (改善, *kai* = change, *zen* = better) is the Japanese philosophy of continuous improvement through small, disciplined, daily steps. This skill turns that philosophy into an executable retrospective for AI-assisted development: every archived spec must leave the project — and the methodology itself — slightly better than it found them.
|
|
14
|
+
|
|
15
|
+
> Other methodologies execute specs. AKILI learns from every spec.
|
|
16
|
+
|
|
17
|
+
## Activation Contract
|
|
18
|
+
|
|
19
|
+
Load this skill when:
|
|
20
|
+
|
|
21
|
+
- `/akili-archive` reaches its **Kaizen Retrospective** step (the primary, automatic trigger), or
|
|
22
|
+
- the user explicitly requests a kaizen retrospective / continuous-improvement pass over a spec or project.
|
|
23
|
+
|
|
24
|
+
The retrospective is **bounded**: one pass, at most 3 lessons, one log entry. It must never block the archive or any other command that invoked it.
|
|
25
|
+
|
|
26
|
+
## Philosophy → Engineering Mapping
|
|
27
|
+
|
|
28
|
+
Each Kaizen concept maps to a concrete AKILI mechanism. Use this vocabulary in reports so the improvement culture stays visible.
|
|
29
|
+
|
|
30
|
+
| Concept | Meaning | In AKILI |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| **Kai + Zen** | Small changes that make things better, every day, forever | Every `/akili-archive` is an improvement opportunity; the loop never "finishes" |
|
|
33
|
+
| **Small steps** (Maurer) | Improvements so small they cannot fail or trigger resistance | Standardization edits are 1–3 lines; never rewrite a document to institutionalize a lesson |
|
|
34
|
+
| **Small questions** (Maurer) | Gentle questions unlock root causes better than big alarming ones | Learn step asks: *"What is the smallest rule that would have prevented this rework?"* |
|
|
35
|
+
| **PDCA** (Deming) | Plan → Do → Check → Act | Plan = the spec; Do = execute/test; Check = validate + **Measure**; Act = **Standardize**. The retrospective closes the cycle the pipeline opened |
|
|
36
|
+
| **MUDA** | Waste: any activity that adds no value | Rework attempts (defects), pivots (planning waste), token waste (oversized context, re-reading), stale docs (drift = inventory waste), quick-escalations (misrouted work). **Measure = hunt MUDA** |
|
|
37
|
+
| **Jidoka** | Stop the line the moment a defect appears | AKILI already practices it: the Tester keeps a test red on `PRODUCT_BUG`; the harness HALTs on `FATAL_FAIL`. Name it in reports — the methodology owns this concept |
|
|
38
|
+
| **Gemba / 3 GEN** | Real place, real thing, real facts — never speculate | Every lesson must cite evidence from the actual artifacts (`execution.md`, `test-report.md`, `validation-report.md`); use **5W1H** to reach root cause |
|
|
39
|
+
| **LUP** (one-point lesson) | One lesson, one page, instantly teachable | The `## Active Lessons` digest row: one lesson, one line, one owner document |
|
|
40
|
+
| **Standardize & repeat** | A fix becomes a standard, then the next improvement begins | Applied lessons live in constitution guides/templates; the digest retires them once institutionalized |
|
|
41
|
+
|
|
42
|
+
## The Loop Contract
|
|
43
|
+
|
|
44
|
+
Run the four phases in order. Read only artifacts already loaded by the invoking command.
|
|
45
|
+
|
|
46
|
+
### 1. Measure
|
|
47
|
+
|
|
48
|
+
Extract improvement signals from the spec's own evidence:
|
|
49
|
+
|
|
50
|
+
| Signal | Source |
|
|
51
|
+
|---|---|
|
|
52
|
+
| Reviewer FAIL rework attempts, HALTs, FATAL_FAILs | `execution.md` task entries |
|
|
53
|
+
| Pivots | `execution.md` `## Pivot Record` blocks |
|
|
54
|
+
| PRODUCT_BUG findings | `test-report.md` |
|
|
55
|
+
| Severe judgment-day findings | `design.md` / specify review notes, if recorded |
|
|
56
|
+
| Validation FAIL / WARN counts | `validation-report.md` |
|
|
57
|
+
| Escalations from `/akili-quick` into this spec | `docs/specs/quick/quick-log.md`, if applicable |
|
|
58
|
+
| Drift attributable to this spec | `docs/specs/drift-report.md`, if present |
|
|
59
|
+
|
|
60
|
+
If every signal is clean (zero rework, no pivots, no product bugs, no severe findings), record a one-line **clean run** entry in phase 4 and skip phases 2–3. A clean spec teaches nothing new — say so.
|
|
61
|
+
|
|
62
|
+
### 2. Learn
|
|
63
|
+
|
|
64
|
+
Distill **0 to 3** lessons. Hard rules:
|
|
65
|
+
|
|
66
|
+
- Every lesson names a **root cause** (apply 5W1H) and cites its evidence — file + section, e.g. `execution.md — Task 4, attempts 1–2 (Violated Rule: design.md#tokens)`. Gemba: real facts only.
|
|
67
|
+
- Generic lessons are banned ("write better tests", "be more careful"). A lesson must change what a future command concretely does.
|
|
68
|
+
- Prefer **zero lessons** over filler.
|
|
69
|
+
- If the same root cause already exists in `## Active Lessons`, do not duplicate it — increment its recurrence note and raise its severity (a repeat is a strong standardization signal).
|
|
70
|
+
- Classify each lesson's **target**:
|
|
71
|
+
- **Product** (default): the root cause lives in this project — its guides, templates, design tokens, or personas.
|
|
72
|
+
- **Methodology**: the root cause is AKILI itself — an ambiguous command step, a template gap, a missing skill. These lessons make the methodology learn from every tool built with it.
|
|
73
|
+
|
|
74
|
+
### 3. Standardize (HITL)
|
|
75
|
+
|
|
76
|
+
For each lesson, propose **exactly one** minimal edit (1–3 lines) targeting the most durable home:
|
|
77
|
+
|
|
78
|
+
- root `CLAUDE.md` / `AGENTS.md` (or a child module guide) — behavioral rules
|
|
79
|
+
- `docs/specs/general-setup/` templates — spec-authoring rules
|
|
80
|
+
- `docs/ux-ui/design.md` — missing tokens or visual rules
|
|
81
|
+
- `.agents/` personas — harness-role rules (append-only, never rewrite)
|
|
82
|
+
- **Methodology lessons:** no local edit — record the proposal in the log and recommend upstreaming it to the AKILI methodology repository.
|
|
83
|
+
|
|
84
|
+
Assign a severity: **High** = caused a HALT, pivot, or PRODUCT_BUG; **Medium** = caused rework or a severe finding; **Low** = friction only. Then present the menu:
|
|
85
|
+
|
|
86
|
+
1. **Apply all** (make every proposed edit now)
|
|
87
|
+
2. **Apply selected** (user picks by lesson ID)
|
|
88
|
+
3. **Defer all** (record proposals in the log; apply in a later spec)
|
|
89
|
+
4. **Type something** (adjust a proposal before applying)
|
|
90
|
+
|
|
91
|
+
Recommend option 1 when any High-severity lesson exists, otherwise option 3. Appending to the kaizen log is automatic; **every edit outside the log requires this approval**.
|
|
92
|
+
|
|
93
|
+
### 4. Record
|
|
94
|
+
|
|
95
|
+
Create or update `docs/specs/kaizen-log.md` (it lives outside spec folders so it survives archiving):
|
|
96
|
+
|
|
97
|
+
1. If the file does not exist, create it with the header and both sections from the format below.
|
|
98
|
+
2. Prepend the new entry under `## Entries` (newest first).
|
|
99
|
+
3. Refresh `## Active Lessons`: add new lessons; keep the table at **10 rows or fewer**; retire lessons whose rule now lives in the constitution or templates (mark `Retired` — the guide carries the rule from now on).
|
|
100
|
+
|
|
101
|
+
## Kaizen Log Format
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
# Kaizen Log
|
|
105
|
+
|
|
106
|
+
Continuous-improvement record for this project, updated automatically by
|
|
107
|
+
`/akili-archive` (Kaizen Retrospective, powered by the `kaizen` skill).
|
|
108
|
+
Other AKILI commands read only the `## Active Lessons` table below —
|
|
109
|
+
keep it at 10 rows or fewer.
|
|
110
|
+
|
|
111
|
+
## Active Lessons
|
|
112
|
+
|
|
113
|
+
| ID | Lesson | Source Spec | Severity | Target | Standardized In | Status |
|
|
114
|
+
|---|---|---|---|---|---|---|
|
|
115
|
+
| KZ-003 | Define empty-state design tokens before any UI task that renders lists | changes/add-remember-me | Medium | Product | docs/specs/general-setup/design.md | Applied |
|
|
116
|
+
| KZ-002 | DTO boundary validations must be written as `AND IT MUST` constraints in requirements, never left implicit | bugfix/login-redirect | High | Product | docs/specs/general-setup/requirements.md | Applied |
|
|
117
|
+
|
|
118
|
+
## Entries
|
|
119
|
+
|
|
120
|
+
### 2026-07-20 — changes/add-remember-me
|
|
121
|
+
|
|
122
|
+
**Metrics**
|
|
123
|
+
|
|
124
|
+
| Signal | Value | Source |
|
|
125
|
+
|---|---|---|
|
|
126
|
+
| Tasks executed | 8 | tasks.md |
|
|
127
|
+
| Reviewer FAIL rework attempts | 3 (Task 4 x2, Task 7 x1) | execution.md |
|
|
128
|
+
| HALTs / FATAL_FAILs | 0 | execution.md |
|
|
129
|
+
| Pivots | 1 (Task 5 — storage approach) | execution.md — ## Pivot Record: Task 5 |
|
|
130
|
+
| PRODUCT_BUGs | 1 (resolved) | test-report.md |
|
|
131
|
+
| Judgment-day severe findings | 2 | design.md review notes |
|
|
132
|
+
| Validation FAIL / WARN | 0 / 2 | validation-report.md |
|
|
133
|
+
|
|
134
|
+
**Lessons**
|
|
135
|
+
|
|
136
|
+
- **KZ-003 — Empty-state tokens were missing from the design phase.** (Product, Medium)
|
|
137
|
+
- Root cause: `design.md` specified list components without empty-state tokens, so the
|
|
138
|
+
Implementer improvised styles and the Reviewer failed Task 4 twice on token compliance.
|
|
139
|
+
- Evidence: execution.md — Task 4, attempts 1–2 (Violated Rule: design.md#tokens).
|
|
140
|
+
- Standardization: add an empty-state token check to the Design Impact checklist in
|
|
141
|
+
`docs/specs/general-setup/design.md`. → **Applied 2026-07-20 (user-approved)**
|
|
142
|
+
|
|
143
|
+
### 2026-07-19 — bugfix/session-refresh — clean run
|
|
144
|
+
|
|
145
|
+
No rework, pivots, product bugs, or severe findings. No lessons recorded.
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Hard Rules
|
|
149
|
+
|
|
150
|
+
- **Never block the archive** (or any invoking command). Missing inputs or a declined menu → append a metrics-only or clean-run entry and continue.
|
|
151
|
+
- **Never edit files outside `docs/specs/kaizen-log.md` without explicit HITL approval** in phase 3.
|
|
152
|
+
- Digest capped at **10 Active Lessons**; retire institutionalized lessons instead of letting the table grow.
|
|
153
|
+
- At most **3 lessons per retrospective**; prefer zero over filler.
|
|
154
|
+
- Standardization edits are **1–3 lines**; never rewrite whole documents.
|
|
155
|
+
- Consumers (`/akili-propose`, `/akili-specify`, `/akili-execute`, `/akili-resume`) read **only** the `## Active Lessons` digest, never `## Entries`.
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: product-manager-toolkit
|
|
3
|
-
description: Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market strategies. Use for feature prioritization, user research synthesis, requirement documentation, and product strategy development.
|
|
3
|
+
description: Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market strategies. Use for feature prioritization, user research synthesis, requirement documentation, and product strategy development. In AKILI-SPECS projects, follow the AKILI-SPECS Integration section first.
|
|
4
|
+
metadata:
|
|
5
|
+
adapted-for: "AKILI-SPECS methodology by Juan Carlos Cadavid — jcadavid.com"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Product Manager Toolkit
|
|
7
9
|
|
|
8
10
|
Essential tools and frameworks for modern product management, from discovery to delivery.
|
|
9
11
|
|
|
12
|
+
## AKILI-SPECS Integration
|
|
13
|
+
|
|
14
|
+
When this skill is loaded inside the AKILI-SPECS methodology, this section takes precedence over the generic workflows below. Each tool has one precise moment in the flow:
|
|
15
|
+
|
|
16
|
+
| AKILI moment | Use from this toolkit |
|
|
17
|
+
|---|---|
|
|
18
|
+
| `/akili-constitution` Step 2 (Clarify Missing Business Context) | The **Customer Interview Guide** and **Hypothesis Template** as the question script. If the user has interview transcripts or raw customer feedback, offer `scripts/customer_interview_analyzer.py` to extract pain points, jobs-to-be-done, and themes — they feed the PRD's Problem Statement and Target Personas. |
|
|
19
|
+
| `/akili-constitution` Step 3 (PRD) | **The AKILI 9-section PRD structure is canonical** — never substitute this toolkit's PRD templates for it. Use the toolkit to fill those sections well: **North Star Metric** framework for "Goals & Success Metrics", **jobs-to-be-done** for "Target Personas", the **Hypothesis Template** for "Assumptions, Dependencies, & Constraints". |
|
|
20
|
+
| `/akili-propose` / `/akili-specify` Scope Chunking | When an epic splits into multiple specs, score the chunks with **RICE** (or **MoSCoW** for a quick pass) to recommend the build order. Treat each candidate spec as a row: `name,reach,impact,confidence,effort` → `scripts/rice_prioritizer.py`. |
|
|
21
|
+
| `/akili-propose` (Change track) | The **Feature Brief** mindset maps to `proposal.md`: problem → hypothesis → success criteria. Do not create a separate brief document. |
|
|
22
|
+
|
|
23
|
+
Rules inside AKILI-SPECS:
|
|
24
|
+
|
|
25
|
+
- The scripts are optional helpers (they need Python); never block a flow on them — the frameworks work as reasoning guides on their own.
|
|
26
|
+
- Skip the Go-to-Market and Stakeholder Management sections during constitution work; they are out of scope for `docs/prd.md`.
|
|
27
|
+
- Output always lands in AKILI artifacts (`docs/prd.md`, `proposal.md`, spec folders) — never in standalone PM documents.
|
|
28
|
+
|
|
10
29
|
## Quick Start
|
|
11
30
|
|
|
12
31
|
### For Feature Prioritization
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Product Requirements Document (PRD) Templates
|
|
2
2
|
|
|
3
|
+
> **AKILI-SPECS note:** In AKILI-SPECS projects, `docs/prd.md` MUST follow the 9-section structure defined in `/akili-constitution` Step 3 (Overview & Purpose → Problem Statement → Target Personas → Goals & Success Metrics → Scope In/Out → User Stories → Acceptance Criteria → Assumptions/Dependencies/Constraints → Open Questions). The templates below are reference material for filling those sections well — or for PM work outside the methodology — never a replacement structure.
|
|
4
|
+
|
|
3
5
|
## Standard PRD Template
|
|
4
6
|
|
|
5
7
|
### 1. Executive Summary
|
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,20 @@ The format is inspired by Keep a Changelog and the repository follows semantic v
|
|
|
10
10
|
|
|
11
11
|
- No unreleased changes yet.
|
|
12
12
|
|
|
13
|
+
## [2.7.0] - 2026-07-20
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- **New packaged `cognitive-doc-design` skill** (by gentleman-programming, Apache-2.0): six patterns for docs that reduce cognitive load (lead with the answer, progressive disclosure, chunking, signposting, recognition over recall, review empathy). Wired into the methodology: `/akili-constitution` (PRD writing), `/akili-specify` (all spec documents + chained-PR descriptions), `/akili-execute` (PR and review docs), and `/akili-archive` (archive summary and Kaizen log entries).
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **`product-manager-toolkit` adapted to AKILI-SPECS:** new **AKILI-SPECS Integration** section maps each tool to its exact moment in the flow — Customer Interview Guide + Hypothesis Template as the question script for `/akili-constitution` Step 2 (with the interview analyzer offered when transcripts exist), North Star Metric / jobs-to-be-done / Hypothesis Template to fill the canonical 9-section PRD in Step 3, and RICE/MoSCoW to order scope chunks when `/akili-propose` or `/akili-specify` split an epic into multiple specs. The PRD templates reference now marks the AKILI structure as canonical, and Go-to-Market content is explicitly out of scope for constitution work.
|
|
20
|
+
- **Clear end-of-run summaries in every CLI command:** `akili install` now closes with an **Install Summary** block (per-tool `installed | overwritten | skipped | legacy cleaned` counts with target paths, totals when installing for multiple tools, an explicit dry-run banner, and contextual next steps — `--force` hint, OpenCode restart, `akili doctor` verification). `akili doctor` closes with a **Doctor Summary** (per-tool `HEALTHY | REPAIRED | INCOMPLETE` status with `ok | missing | fixed` counts and repair suggestions). `akili update` closes with an **Update Summary** (version before → after, install type, and how to verify). `akili list` prints a totals line (commands | skills | resources + package version). Overwrites are now counted separately from fresh installs.
|
|
21
|
+
## [2.6.0] - 2026-07-20
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- **The Kaizen Loop in `/akili-archive`:** every archive now runs a bounded continuous-improvement retrospective — **Measure** (rework attempts, pivots, PRODUCT_BUGs, severe judgment-day findings, validation WARN/FAIL, drift) → **Learn** (0–3 root-cause lessons with cited evidence; generic lessons banned) → **Standardize** (minimal 1–3 line edits to constitution guides, general-setup templates, design tokens, or `.agents/` personas — always HITL-approved) → **Record** (append to the new accumulative `docs/specs/kaizen-log.md`, with a capped `## Active Lessons` digest). No new command: Kaizen is a step inside `/akili-archive` and never blocks archiving. Lessons target the **Product** or the **Methodology** itself (flagged for upstreaming to this repo).
|
|
25
|
+
- **New packaged `kaizen` skill** (`.claude/skills/kaizen/SKILL.md`), authored by Juan Carlos Cadavid — jcadavid.com, inspired by the Kaizen Institute glossary, Robert Maurer's small-steps method, and INTI's *Emprendiendo Kaizen* (2019). It encodes the philosophy-to-engineering mapping (PDCA, MUDA, Jidoka, Gemba/3 GEN, 5W1H, LUP), the loop contract, and the kaizen-log format.
|
|
26
|
+
- **Kaizen-aware commands:** `/akili-propose`, `/akili-specify`, and `/akili-execute` read the `## Active Lessons` digest so past mistakes shape new specs and task delegation; `/akili-resume` shows the active-lesson count in its dashboard.
|
|
13
27
|
## [2.5.1] - 2026-07-19
|
|
14
28
|
|
|
15
29
|
### Added
|
package/README.md
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
# AKILI
|
|
13
13
|
|
|
14
|
-
### Supercharge Claude Code, OpenCode, and Google Antigravity with constitution-first spec intelligence
|
|
14
|
+
### Supercharge Claude Code, OpenCode, and Google Antigravity with constitution-first, self-improving spec intelligence
|
|
15
15
|
|
|
16
|
-
**Durable product context · traceable requirements · governed releases · 100% local methodology files**
|
|
16
|
+
**Durable product context · traceable requirements · governed releases · a methodology that learns from every spec · 100% local methodology files**
|
|
17
17
|
|
|
18
18
|
<p>
|
|
19
19
|
<a href="https://www.npmjs.com/package/akili-specs"><img alt="npm version" src="https://img.shields.io/npm/v/akili-specs?style=for-the-badge&label=npm"></a>
|
|
@@ -79,6 +79,7 @@ AKILI-SPECS is a constitution-first, spec-driven methodology for AI-assisted dev
|
|
|
79
79
|
- `api-design-principles`
|
|
80
80
|
- `aws-serverless`
|
|
81
81
|
- `brainstorming`
|
|
82
|
+
- `cognitive-doc-design`
|
|
82
83
|
- `error-handling-patterns`
|
|
83
84
|
- `frontend-design`
|
|
84
85
|
- `gsap-core`
|
|
@@ -90,6 +91,7 @@ AKILI-SPECS is a constitution-first, spec-driven methodology for AI-assisted dev
|
|
|
90
91
|
- `gsap-timeline`
|
|
91
92
|
- `gsap-utils`
|
|
92
93
|
- `judgment-day`
|
|
94
|
+
- `kaizen`
|
|
93
95
|
- `nestjs-expert`
|
|
94
96
|
- `product-manager-toolkit`
|
|
95
97
|
- `react-doctor`
|
|
@@ -507,7 +509,7 @@ See the full [Command Reference](docs/commands/README.md) for detailed pages per
|
|
|
507
509
|
| `/akili-execute <spec-path>` | Implementing approved tasks via the Leader → Implementer → Reviewer harness | Code changes, updated `tasks.md`, `execution.md` with full PASS/FAIL audit trail |
|
|
508
510
|
| `/akili-test <spec-path>` | Adding or running test evidence | `test-report.md` with requirement-to-test traceability |
|
|
509
511
|
| `/akili-validate <spec-path>` | Checking implementation against the spec | `validation-report.md` with pass, warning, failure, and remediation items |
|
|
510
|
-
| `/akili-archive <spec-path>` | Closing completed work after validation | Archived spec folder under `docs/specs/archive/` with `archive-summary.md`, synced agent guides, CodeGraph re-index reminder |
|
|
512
|
+
| `/akili-archive <spec-path>` | Closing completed work after validation | Archived spec folder under `docs/specs/archive/` with `archive-summary.md`, Kaizen retrospective appended to `docs/specs/kaizen-log.md`, synced agent guides, CodeGraph re-index reminder |
|
|
511
513
|
| `/akili-audit` | Detecting drift between specs and codebase reality | `docs/specs/drift-report.md` with conformance score and discrepancy matrix |
|
|
512
514
|
| `/akili-resume` | Resuming work after a session break | Multi-spec dashboard with phase, progress, and next command recommendation |
|
|
513
515
|
| `/akili-seo <site-domain>` | Auditing deployed SEO and Search Console state | `seo-setup-report.md`, `seo-audit-report.md` |
|
|
@@ -539,6 +541,30 @@ Lite mode does not skip rigor. It keeps the documents short, but every requireme
|
|
|
539
541
|
| Task | A small executable unit linked to requirements and design sections |
|
|
540
542
|
| Report | Evidence that the implementation was tested and validated |
|
|
541
543
|
| Archive | Completed AKILI-SPECS history moved under `docs/specs/archive/` |
|
|
544
|
+
| Kaizen | The continuous-improvement loop that turns each spec's evidence into lessons and standards |
|
|
545
|
+
|
|
546
|
+
## The Kaizen Loop
|
|
547
|
+
|
|
548
|
+
Other methodologies execute specs. **AKILI learns from every spec.**
|
|
549
|
+
|
|
550
|
+
AKILI embeds the Japanese Kaizen philosophy of continuous improvement (改善 — *kai* change, *zen* better) as an executable step, powered by the packaged `kaizen` skill (authored by [Juan Carlos Cadavid](https://jcadavid.com), inspired by the Kaizen Institute glossary, Robert Maurer's small-steps method, and INTI's *Emprendiendo Kaizen*). Every `/akili-archive` automatically runs a bounded retrospective — no extra command, no extra ceremony:
|
|
551
|
+
|
|
552
|
+
```text
|
|
553
|
+
┌─────────┐ ┌─────────┐ ┌──────────────┐ ┌──────────┐
|
|
554
|
+
│ MEASURE │ ─▶ │ LEARN │ ─▶ │ STANDARDIZE │ ─▶ │ REPEAT │
|
|
555
|
+
│ rework, │ │ 0–3 root│ │ constitution │ │ next spec│
|
|
556
|
+
│ pivots, │ │ -cause │ │ templates, │ │ reads the│
|
|
557
|
+
│ bugs │ │ lessons │ │ guides (HITL)│ │ lessons │
|
|
558
|
+
└─────────┘ └─────────┘ └──────────────┘ └──────────┘
|
|
559
|
+
every /akili-archive · logged in docs/specs/kaizen-log.md
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
- **Measure:** hunt MUDA (waste) in the spec's own evidence — Reviewer rework attempts, pivots, PRODUCT_BUGs, severe judgment-day findings, validation warnings, drift.
|
|
563
|
+
- **Learn:** distill 0–3 lessons with a named root cause and cited evidence (Gemba: real facts, never speculation). Generic lessons are banned.
|
|
564
|
+
- **Standardize:** propose 1–3 line edits to constitution guides, spec templates, design tokens, or agent personas — always human-approved. Small steps, never rewrites.
|
|
565
|
+
- **Record:** append to the accumulative `docs/specs/kaizen-log.md`; a capped `## Active Lessons` digest is then read by `/akili-propose`, `/akili-specify`, and `/akili-execute` so past mistakes shape new work, and shown by `/akili-resume`.
|
|
566
|
+
|
|
567
|
+
The loop improves on two levels: **Product** lessons harden the project you are building, while **Methodology** lessons (root causes in AKILI itself) are flagged for upstreaming — so the methodology learns from every tool built with it. This is the meaning behind the name: *akili* is Swahili for intelligence, and intelligence that does not learn is not intelligence.
|
|
542
568
|
|
|
543
569
|
## Spec Folder Shape
|
|
544
570
|
|
|
@@ -729,7 +755,7 @@ Fallback rule:
|
|
|
729
755
|
- `/akili-execute` orchestrates a Leader → Implementer → Reviewer rework loop (max 3 retries) to implement tasks from an approved spec path.
|
|
730
756
|
- `/akili-test` runs a Leader → Tester(s) harness: the Leader partitions testing into suites and delegates each to a Tester subagent (inline for trivial/Lite work; one Tester per independent suite, in parallel, otherwise). It validates requirement-to-test traceability, explicitly checking for negative constraints and strict boundaries.
|
|
731
757
|
- `/akili-validate` audits implementation conformance against the spec (including rigorous boundary validations) and constitutional baseline.
|
|
732
|
-
- `/akili-archive` preserves completed specs under `docs/specs/archive/` after validation, syncs agent guides (child `CLAUDE.md`/`AGENTS.md` + the parent `## Module Guides` index) from the spec's `## Constitution Impact` notes, and recommends a CodeGraph re-index.
|
|
758
|
+
- `/akili-archive` preserves completed specs under `docs/specs/archive/` after validation, runs the Kaizen retrospective (measure → learn → standardize → record) appending to `docs/specs/kaizen-log.md`, syncs agent guides (child `CLAUDE.md`/`AGENTS.md` + the parent `## Module Guides` index) from the spec's `## Constitution Impact` notes, and recommends a CodeGraph re-index.
|
|
733
759
|
- `/akili-seo` operates outside the main spec lifecycle: it provisions Google Search Console ownership for a domain and produces a standalone SEO audit under `docs/specs/seo/<domain>/`. Run it any time after deployment; rerun after major content or schema changes.
|
|
734
760
|
|
|
735
761
|
## Multi-Agent Harness Engineering
|
package/bin/akili.js
CHANGED
|
@@ -227,19 +227,23 @@ function shouldInclude(type, args) {
|
|
|
227
227
|
function copySingleFile(sourcePath, targetPath, args) {
|
|
228
228
|
ensureDirectory(path.dirname(targetPath), args.dryRun);
|
|
229
229
|
|
|
230
|
-
|
|
230
|
+
const exists = fs.existsSync(targetPath);
|
|
231
|
+
|
|
232
|
+
if (exists && !args.force) {
|
|
231
233
|
console.log(` ${colors.yellow}skip existing${colors.reset} ${targetPath}`);
|
|
232
|
-
return { installed: 0, skipped: 1 };
|
|
234
|
+
return { installed: 0, overwritten: 0, skipped: 1 };
|
|
233
235
|
}
|
|
234
236
|
|
|
235
|
-
const action =
|
|
237
|
+
const action = exists ? "overwrite" : "install";
|
|
236
238
|
console.log(` ${colors.green}${args.dryRun ? "would " : ""}${action}${colors.reset} ${targetPath}`);
|
|
237
239
|
|
|
238
240
|
if (!args.dryRun) {
|
|
239
241
|
fs.copyFileSync(sourcePath, targetPath);
|
|
240
242
|
}
|
|
241
243
|
|
|
242
|
-
return
|
|
244
|
+
return exists
|
|
245
|
+
? { installed: 0, overwritten: 1, skipped: 0 }
|
|
246
|
+
: { installed: 1, overwritten: 0, skipped: 0 };
|
|
243
247
|
}
|
|
244
248
|
|
|
245
249
|
function copyDirectoryContents(sourceDir, targetDir, args) {
|
|
@@ -247,19 +251,21 @@ function copyDirectoryContents(sourceDir, targetDir, args) {
|
|
|
247
251
|
|
|
248
252
|
const entries = fs.readdirSync(sourceDir, { withFileTypes: true });
|
|
249
253
|
let installed = 0;
|
|
254
|
+
let overwritten = 0;
|
|
250
255
|
let skipped = 0;
|
|
251
256
|
|
|
252
257
|
for (const entry of entries) {
|
|
253
258
|
const sourcePath = path.join(sourceDir, entry.name);
|
|
254
259
|
const targetPath = path.join(targetDir, entry.name);
|
|
260
|
+
const exists = fs.existsSync(targetPath);
|
|
255
261
|
|
|
256
|
-
if (
|
|
262
|
+
if (exists && !args.force) {
|
|
257
263
|
console.log(` ${colors.yellow}skip existing${colors.reset} ${targetPath}`);
|
|
258
264
|
skipped += 1;
|
|
259
265
|
continue;
|
|
260
266
|
}
|
|
261
267
|
|
|
262
|
-
const action =
|
|
268
|
+
const action = exists ? "overwrite" : "install";
|
|
263
269
|
console.log(` ${colors.green}${args.dryRun ? "would " : ""}${action}${colors.reset} ${targetPath}`);
|
|
264
270
|
|
|
265
271
|
if (!args.dryRun) {
|
|
@@ -269,10 +275,11 @@ function copyDirectoryContents(sourceDir, targetDir, args) {
|
|
|
269
275
|
errorOnExist: false,
|
|
270
276
|
});
|
|
271
277
|
}
|
|
272
|
-
|
|
278
|
+
if (exists) overwritten += 1;
|
|
279
|
+
else installed += 1;
|
|
273
280
|
}
|
|
274
281
|
|
|
275
|
-
return { installed, skipped };
|
|
282
|
+
return { installed, overwritten, skipped };
|
|
276
283
|
}
|
|
277
284
|
|
|
278
285
|
function getToolRegistryInfo(tool, args) {
|
|
@@ -328,6 +335,7 @@ function installTool(tool, args) {
|
|
|
328
335
|
const { rootPath, paths } = getToolRegistryInfo(tool, args);
|
|
329
336
|
|
|
330
337
|
let installed = 0;
|
|
338
|
+
let overwritten = 0;
|
|
331
339
|
let skipped = 0;
|
|
332
340
|
|
|
333
341
|
console.log(`\n${colors.cyan}${tool.toUpperCase()} target: ${rootPath}${colors.reset}`);
|
|
@@ -337,51 +345,47 @@ function installTool(tool, args) {
|
|
|
337
345
|
console.log(` ${colors.green}Legacy cleanup complete.${colors.reset}`);
|
|
338
346
|
}
|
|
339
347
|
|
|
348
|
+
const add = (result) => {
|
|
349
|
+
installed += result.installed;
|
|
350
|
+
overwritten += result.overwritten;
|
|
351
|
+
skipped += result.skipped;
|
|
352
|
+
};
|
|
353
|
+
|
|
340
354
|
if (shouldInclude("commands", args)) {
|
|
341
355
|
for (const targetCommands of paths.commands) {
|
|
342
|
-
|
|
343
|
-
installed += result.installed;
|
|
344
|
-
skipped += result.skipped;
|
|
356
|
+
add(copyDirectoryContents(SOURCE_COMMANDS, targetCommands, args));
|
|
345
357
|
}
|
|
346
358
|
}
|
|
347
359
|
|
|
348
360
|
if (shouldInclude("skills", args)) {
|
|
349
|
-
|
|
350
|
-
installed += result.installed;
|
|
351
|
-
skipped += result.skipped;
|
|
361
|
+
add(copyDirectoryContents(SOURCE_SKILLS, paths.skills, args));
|
|
352
362
|
}
|
|
353
363
|
|
|
354
364
|
if (shouldInclude("resources", args)) {
|
|
355
365
|
for (const scriptName of RESOURCE_SCRIPTS) {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
366
|
+
add(
|
|
367
|
+
copySingleFile(
|
|
368
|
+
path.join(SOURCE_SCRIPTS, scriptName),
|
|
369
|
+
path.join(paths.resources, "scripts", scriptName),
|
|
370
|
+
args
|
|
371
|
+
)
|
|
360
372
|
);
|
|
361
|
-
installed += result.installed;
|
|
362
|
-
skipped += result.skipped;
|
|
363
373
|
}
|
|
364
374
|
|
|
365
375
|
for (const templateName of AGENT_TEMPLATES) {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
376
|
+
add(
|
|
377
|
+
copySingleFile(
|
|
378
|
+
path.join(SOURCE_TEMPLATES, templateName),
|
|
379
|
+
path.join(paths.resources, "templates", templateName),
|
|
380
|
+
args
|
|
381
|
+
)
|
|
370
382
|
);
|
|
371
|
-
installed += result.installed;
|
|
372
|
-
skipped += result.skipped;
|
|
373
383
|
}
|
|
374
384
|
|
|
375
|
-
|
|
376
|
-
SOURCE_MCP_EXAMPLE,
|
|
377
|
-
path.join(paths.resources, ".mcp.json.example"),
|
|
378
|
-
args
|
|
379
|
-
);
|
|
380
|
-
installed += mcpResult.installed;
|
|
381
|
-
skipped += mcpResult.skipped;
|
|
385
|
+
add(copySingleFile(SOURCE_MCP_EXAMPLE, path.join(paths.resources, ".mcp.json.example"), args));
|
|
382
386
|
}
|
|
383
387
|
|
|
384
|
-
return { installed, skipped };
|
|
388
|
+
return { rootPath, installed, overwritten, skipped, cleaned };
|
|
385
389
|
}
|
|
386
390
|
|
|
387
391
|
function detectInstallType() {
|
|
@@ -539,25 +543,63 @@ function runUpdate(args) {
|
|
|
539
543
|
const packageDir = resolveInstalledPackageDir(installType);
|
|
540
544
|
const versionAfter = packageDir ? readInstalledVersion(packageDir) : null;
|
|
541
545
|
printUpdateChangeSummary(packageDir, versionBefore, versionAfter);
|
|
546
|
+
|
|
547
|
+
console.log(`\n${colors.cyan}${"─".repeat(56)}${colors.reset}`);
|
|
548
|
+
console.log(`${colors.cyan}Update Summary${colors.reset}`);
|
|
549
|
+
if (versionAfter && versionAfter !== versionBefore) {
|
|
550
|
+
console.log(` Package: ${versionBefore} → ${colors.green}${versionAfter}${colors.reset} (${installType} install)`);
|
|
551
|
+
} else if (versionAfter) {
|
|
552
|
+
console.log(` Package: already up to date at ${colors.green}v${versionAfter}${colors.reset} (${installType} install)`);
|
|
553
|
+
} else {
|
|
554
|
+
console.log(` Package: updated from v${versionBefore} (${installType} install; new version could not be read)`);
|
|
555
|
+
}
|
|
556
|
+
console.log(` Files: reinstalled with --force for ${selectedTools(args).join(", ")} (see Install Summary above)`);
|
|
557
|
+
console.log(` Verify: ${colors.cyan}akili doctor --tool ${args.tool}${colors.reset}`);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
function summaryCounts(result) {
|
|
561
|
+
return `${colors.green}installed ${result.installed}${colors.reset} | overwritten ${result.overwritten} | ${colors.yellow}skipped ${result.skipped}${colors.reset}${result.cleaned ? ` | legacy cleaned ${result.cleaned}` : ""}`;
|
|
542
562
|
}
|
|
543
563
|
|
|
544
564
|
function runInstall(args) {
|
|
545
|
-
|
|
546
|
-
|
|
565
|
+
const tools = selectedTools(args);
|
|
566
|
+
const results = [];
|
|
547
567
|
|
|
548
|
-
for (const tool of
|
|
549
|
-
|
|
550
|
-
installed += result.installed;
|
|
551
|
-
skipped += result.skipped;
|
|
568
|
+
for (const tool of tools) {
|
|
569
|
+
results.push({ tool, ...installTool(tool, args) });
|
|
552
570
|
}
|
|
553
571
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
572
|
+
const totals = results.reduce(
|
|
573
|
+
(acc, r) => ({
|
|
574
|
+
installed: acc.installed + r.installed,
|
|
575
|
+
overwritten: acc.overwritten + r.overwritten,
|
|
576
|
+
skipped: acc.skipped + r.skipped,
|
|
577
|
+
cleaned: acc.cleaned + r.cleaned,
|
|
578
|
+
}),
|
|
579
|
+
{ installed: 0, overwritten: 0, skipped: 0, cleaned: 0 }
|
|
580
|
+
);
|
|
581
|
+
|
|
582
|
+
console.log(`\n${colors.cyan}${"─".repeat(56)}${colors.reset}`);
|
|
583
|
+
console.log(`${colors.cyan}Install Summary${colors.reset} — akili-specs v${currentVersion}${args.dryRun ? ` ${colors.yellow}(dry-run: no files were written)${colors.reset}` : ""}`);
|
|
584
|
+
for (const r of results) {
|
|
585
|
+
console.log(` ${r.tool.toUpperCase().padEnd(12)} ${summaryCounts(r)}`);
|
|
586
|
+
console.log(` ${"".padEnd(12)} → ${r.rootPath}`);
|
|
587
|
+
}
|
|
588
|
+
if (results.length > 1) {
|
|
589
|
+
console.log(` ${"TOTAL".padEnd(12)} ${summaryCounts(totals)}`);
|
|
557
590
|
}
|
|
558
591
|
|
|
559
|
-
|
|
560
|
-
|
|
592
|
+
console.log(`\n${colors.cyan}Next steps:${colors.reset}`);
|
|
593
|
+
if (totals.skipped > 0 && !args.force) {
|
|
594
|
+
console.log(` - ${totals.skipped} existing file(s) were preserved. Re-run with ${colors.yellow}--force${colors.reset} to overwrite them.`);
|
|
595
|
+
}
|
|
596
|
+
if (tools.includes("opencode") && !args.dryRun) {
|
|
597
|
+
console.log(` - Restart ${colors.cyan}OpenCode${colors.reset} for installed commands and skills to be loaded.`);
|
|
598
|
+
}
|
|
599
|
+
if (args.dryRun) {
|
|
600
|
+
console.log(` - Re-run without ${colors.yellow}--dry-run${colors.reset} to apply the changes above.`);
|
|
601
|
+
} else {
|
|
602
|
+
console.log(` - Verify the installation with ${colors.cyan}akili doctor --tool ${args.tool}${colors.reset}.`);
|
|
561
603
|
}
|
|
562
604
|
}
|
|
563
605
|
|
|
@@ -574,6 +616,9 @@ function runList() {
|
|
|
574
616
|
RESOURCE_SCRIPTS.forEach((name) => console.log(` ${formatPath(path.join("scripts", name))}`));
|
|
575
617
|
AGENT_TEMPLATES.forEach((name) => console.log(` ${formatPath(path.join("templates", name))}`));
|
|
576
618
|
console.log(" .mcp.json.example");
|
|
619
|
+
|
|
620
|
+
const resourceCount = RESOURCE_SCRIPTS.length + AGENT_TEMPLATES.length + 1;
|
|
621
|
+
console.log(`\n${colors.cyan}Summary:${colors.reset} ${commands.length} commands | ${skills.length} skills | ${resourceCount} resources (akili-specs v${currentVersion})`);
|
|
577
622
|
}
|
|
578
623
|
|
|
579
624
|
function hasInstalledCommand(targetCommandsList, name) {
|
|
@@ -587,6 +632,7 @@ function hasInstalledCommand(targetCommandsList, name) {
|
|
|
587
632
|
|
|
588
633
|
function doctorTool(tool, args) {
|
|
589
634
|
const { rootPath, paths } = getToolRegistryInfo(tool, args);
|
|
635
|
+
let okCount = 0;
|
|
590
636
|
let missing = 0;
|
|
591
637
|
let fixed = 0;
|
|
592
638
|
|
|
@@ -597,6 +643,7 @@ function doctorTool(tool, args) {
|
|
|
597
643
|
for (const command of listCommands()) {
|
|
598
644
|
const ok = hasInstalledCommand(paths.commands, command);
|
|
599
645
|
if (ok) {
|
|
646
|
+
okCount += 1;
|
|
600
647
|
console.log(` ${colors.green}OK${colors.reset} ${command}`);
|
|
601
648
|
} else {
|
|
602
649
|
if (args.fix) {
|
|
@@ -617,6 +664,7 @@ function doctorTool(tool, args) {
|
|
|
617
664
|
for (const skill of listSkills()) {
|
|
618
665
|
const ok = fs.existsSync(path.join(paths.skills, skill, "SKILL.md"));
|
|
619
666
|
if (ok) {
|
|
667
|
+
okCount += 1;
|
|
620
668
|
console.log(` ${colors.green}OK${colors.reset} ${skill}`);
|
|
621
669
|
} else {
|
|
622
670
|
if (args.fix) {
|
|
@@ -646,6 +694,7 @@ function doctorTool(tool, args) {
|
|
|
646
694
|
for (const check of resourceChecks) {
|
|
647
695
|
const ok = fs.existsSync(check.dest);
|
|
648
696
|
if (ok) {
|
|
697
|
+
okCount += 1;
|
|
649
698
|
console.log(` ${colors.green}OK${colors.reset} ${check.dest}`);
|
|
650
699
|
} else {
|
|
651
700
|
if (args.fix) {
|
|
@@ -660,23 +709,41 @@ function doctorTool(tool, args) {
|
|
|
660
709
|
}
|
|
661
710
|
}
|
|
662
711
|
|
|
663
|
-
return { missing, fixed };
|
|
712
|
+
return { rootPath, ok: okCount, missing, fixed };
|
|
664
713
|
}
|
|
665
714
|
|
|
666
715
|
function runDoctor(args) {
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
716
|
+
const results = [];
|
|
717
|
+
|
|
670
718
|
for (const tool of selectedTools(args)) {
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
719
|
+
results.push({ tool, ...doctorTool(tool, args) });
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
const missingTotal = results.reduce((acc, r) => acc + r.missing, 0);
|
|
723
|
+
const fixedTotal = results.reduce((acc, r) => acc + r.fixed, 0);
|
|
724
|
+
|
|
725
|
+
console.log(`\n${colors.cyan}${"─".repeat(56)}${colors.reset}`);
|
|
726
|
+
console.log(`${colors.cyan}Doctor Summary${colors.reset} — akili-specs v${currentVersion}`);
|
|
727
|
+
for (const r of results) {
|
|
728
|
+
const status =
|
|
729
|
+
r.missing > 0
|
|
730
|
+
? `${colors.red}INCOMPLETE${colors.reset}`
|
|
731
|
+
: r.fixed > 0
|
|
732
|
+
? `${colors.cyan}REPAIRED${colors.reset}`
|
|
733
|
+
: `${colors.green}HEALTHY${colors.reset}`;
|
|
734
|
+
console.log(` ${r.tool.toUpperCase().padEnd(12)} ${status} ${colors.green}ok ${r.ok}${colors.reset} | ${colors.red}missing ${r.missing}${colors.reset} | fixed ${r.fixed}`);
|
|
735
|
+
console.log(` ${"".padEnd(12)} → ${r.rootPath}`);
|
|
674
736
|
}
|
|
675
737
|
|
|
676
|
-
console.log(`\nDone. Missing: ${missingTotal} | Fixed: ${fixedTotal}`);
|
|
677
738
|
if (missingTotal > 0) {
|
|
678
|
-
console.log(
|
|
739
|
+
console.log(`\n${colors.cyan}Next steps:${colors.reset}`);
|
|
740
|
+
console.log(` - Run ${colors.cyan}akili doctor --tool ${args.tool} --fix${colors.reset} to auto-repair the ${missingTotal} missing file(s).`);
|
|
741
|
+
console.log(` - Or run ${colors.cyan}akili update${colors.reset} to refresh the package and reinstall everything.`);
|
|
679
742
|
process.exitCode = 1;
|
|
743
|
+
} else if (fixedTotal > 0) {
|
|
744
|
+
console.log(`\nAll issues repaired: ${fixedTotal} file(s) restored.`);
|
|
745
|
+
} else {
|
|
746
|
+
console.log(`\nAll checks passed. Your installation is complete and healthy.`);
|
|
680
747
|
}
|
|
681
748
|
}
|
|
682
749
|
|
package/docs/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AKILI Documentation
|
|
2
2
|
|
|
3
|
-
AKILI is the documented form of the AKILI-SPECS methodology: a constitution-first, spec-driven workflow for Claude Code and OpenCode.
|
|
3
|
+
AKILI is the documented form of the AKILI-SPECS methodology: a constitution-first, self-improving spec-driven workflow for Claude Code and OpenCode.
|
|
4
4
|
|
|
5
5
|
Use this documentation when you want the human-facing reference. The installable source prompts and skills remain under `.claude/commands/` and `.claude/skills/`.
|
|
6
6
|
|
|
@@ -26,6 +26,8 @@ Use this documentation when you want the human-facing reference. The installable
|
|
|
26
26
|
/akili-archive <spec-path>
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
Every `/akili-archive` closes with the **Kaizen Loop** — a bounded retrospective (Measure → Learn → Standardize → Record, via the packaged `kaizen` skill) that appends lessons to `docs/specs/kaizen-log.md` so the next spec starts smarter. See [flow.md](flow.md#8-the-kaizen-loop).
|
|
30
|
+
|
|
29
31
|
Use `/akili-resume` at the start of any session to see a dashboard of all active specs and where each one stands.
|
|
30
32
|
|
|
31
33
|
Use `/akili-audit` independently to detect drift between specs and codebase reality at any time.
|
package/docs/cli.md
CHANGED
|
@@ -56,6 +56,13 @@ akili install --tool both --local
|
|
|
56
56
|
| `akili doctor` | Check whether expected files are installed |
|
|
57
57
|
| `akili help` | Show help |
|
|
58
58
|
|
|
59
|
+
Every command closes with a clear end-of-run summary:
|
|
60
|
+
|
|
61
|
+
- **`install`** — an **Install Summary** with per-tool `installed | overwritten | skipped` counts (plus legacy cleanup), target paths, totals for multi-tool installs, a dry-run banner when `--dry-run` is used, and contextual next steps (`--force` hint, OpenCode restart, `akili doctor` verification).
|
|
62
|
+
- **`doctor`** — a **Doctor Summary** with a per-tool `HEALTHY | REPAIRED | INCOMPLETE` status, `ok | missing | fixed` counts, and repair suggestions (`--fix` or `akili update`).
|
|
63
|
+
- **`update`** — an **Update Summary** with the version change (`before → after`), install type, and the verification command, after the changelog of what changed.
|
|
64
|
+
- **`list`** — a totals line: commands, skills, resources, and the package version.
|
|
65
|
+
|
|
59
66
|
## Options
|
|
60
67
|
|
|
61
68
|
| Option | Applies To | Purpose |
|
package/docs/commands/README.md
CHANGED
|
@@ -13,7 +13,7 @@ AKILI commands are installed as slash-command prompts for Claude Code and OpenCo
|
|
|
13
13
|
| [`/akili-execute <spec-path>`](akili-execute.md) | Implementing approved tasks via the Leader → Implementer → Reviewer harness | Code/docs changes, updated `tasks.md`, `execution.md` with full PASS/FAIL audit trail |
|
|
14
14
|
| [`/akili-test <spec-path>`](akili-test.md) | Proving behavior with test evidence via the Leader → Tester(s) harness | `test-report.md` |
|
|
15
15
|
| [`/akili-validate <spec-path>`](akili-validate.md) | Auditing conformance before completion | `validation-report.md` |
|
|
16
|
-
| [`/akili-archive <spec-path>`](akili-archive.md) | Closing completed work after validation | Archived spec folder with `archive-summary.md` |
|
|
16
|
+
| [`/akili-archive <spec-path>`](akili-archive.md) | Closing completed work after validation | Archived spec folder with `archive-summary.md` + Kaizen retrospective entry in `docs/specs/kaizen-log.md` |
|
|
17
17
|
| [`/akili-audit`](akili-audit.md) | Detecting drift between specs and codebase reality | `docs/specs/drift-report.md` with conformance score and discrepancy matrix |
|
|
18
18
|
| [`/akili-resume`](akili-resume.md) | Resuming work after a session break | Multi-spec dashboard with phase, progress, and next command recommendation |
|
|
19
19
|
| [`/akili-seo <site-domain>`](akili-seo.md) | Setting up GSC ownership and SEO audit evidence | `seo-setup-report.md`, `seo-audit-report.md` |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `/akili-archive`
|
|
2
2
|
|
|
3
|
-
Move a completed spec into historical archive after implementation, testing, and validation.
|
|
3
|
+
Move a completed spec into historical archive after implementation, testing, and validation, running the Kaizen retrospective along the way.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
@@ -58,8 +58,20 @@ Before moving the folder, the command consumes the `## Constitution Impact` note
|
|
|
58
58
|
- updates root-guide statements the change made stale
|
|
59
59
|
- recommends a CodeGraph re-index when `.codegraph/` exists
|
|
60
60
|
|
|
61
|
+
## Kaizen Retrospective
|
|
62
|
+
|
|
63
|
+
Before moving the folder, the command loads the packaged `kaizen` skill and runs one bounded continuous-improvement pass — **Measure → Learn → Standardize → Record**:
|
|
64
|
+
|
|
65
|
+
- **Measure:** extracts improvement signals from the spec's evidence (Reviewer rework attempts, pivots, PRODUCT_BUGs, severe judgment-day findings, validation WARN/FAIL, quick escalations, drift).
|
|
66
|
+
- **Learn:** distills 0–3 lessons, each with a named root cause and cited evidence; generic lessons are banned. Lessons target the **Product** or the **Methodology** (flagged for upstreaming to the AKILI repo).
|
|
67
|
+
- **Standardize:** proposes 1–3 line edits to constitution guides, `general-setup` templates, design tokens, or `.agents/` personas via an approval menu. Every edit outside the kaizen log requires approval.
|
|
68
|
+
- **Record:** appends the entry to the accumulative `docs/specs/kaizen-log.md` and refreshes its `## Active Lessons` digest (10 rows max), which `/akili-propose`, `/akili-specify`, `/akili-execute`, and `/akili-resume` read.
|
|
69
|
+
|
|
70
|
+
A clean spec records a one-line clean-run entry. The retrospective never blocks the archive.
|
|
71
|
+
|
|
61
72
|
## Guardrails
|
|
62
73
|
|
|
63
74
|
- Do not delete completed specs.
|
|
64
75
|
- Do not overwrite an existing archive folder.
|
|
65
76
|
- If archive readiness is unclear, ask whether to validate first, proceed with accepted risk, or keep the spec active.
|
|
77
|
+
- The Kaizen retrospective never blocks the archive and never edits files outside `docs/specs/kaizen-log.md` without approval.
|
|
@@ -23,6 +23,7 @@ Reads:
|
|
|
23
23
|
- `docs/specs/<spec-path>/design.md`
|
|
24
24
|
- `docs/specs/<spec-path>/tasks.md`
|
|
25
25
|
- `docs/specs/<spec-path>/execution.md` when present
|
|
26
|
+
- `docs/specs/kaizen-log.md` when present — only the `## Active Lessons` digest; the Leader passes matching rows to the Implementer per task
|
|
26
27
|
- Constitution docs (`docs/prd.md`, `docs/ux-ui/design.md`, `docs/trd/trd.md`)
|
|
27
28
|
- `CLAUDE.md` and `AGENTS.md`
|
|
28
29
|
- `.agents/leader.md`, `.agents/implementer.md`, `.agents/reviewer.md`
|
|
@@ -53,6 +53,8 @@ Creates or updates:
|
|
|
53
53
|
docs/specs/<spec-path>/proposal.md
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
If `docs/specs/kaizen-log.md` exists, the command reads its `## Active Lessons` digest and reflects applicable lessons in the proposal's Scope or Risks, citing their IDs (e.g. `KZ-003`).
|
|
57
|
+
|
|
56
58
|
## Proposal Sections
|
|
57
59
|
|
|
58
60
|
- Document Control (records `Type: Bug | Change | Trivial`)
|
|
@@ -23,7 +23,7 @@ The command performs a four-step scan:
|
|
|
23
23
|
|
|
24
24
|
1. **Scan Active Specs** — lists all directories under `docs/specs/` (excluding `archive/`)
|
|
25
25
|
2. **Determine Phase & Progress** — for each spec, identifies current phase (PROPOSE → SPECIFY → EXECUTE → TEST → VALIDATE → ARCHIVE), task progress, last action, and blockers
|
|
26
|
-
3. **Present Dashboard** — shows a visual dashboard with progress bars and status for each active spec
|
|
26
|
+
3. **Present Dashboard** — shows a visual dashboard with progress bars and status for each active spec; if `docs/specs/kaizen-log.md` exists, appends a Kaizen footer line with the active-lesson count and the latest lesson (read from the `## Active Lessons` digest only)
|
|
27
27
|
4. **Recommend Next Command** — suggests the next command based on current phase
|
|
28
28
|
|
|
29
29
|
## Output
|
|
@@ -32,6 +32,7 @@ Reads context from:
|
|
|
32
32
|
- `docs/ux-ui/design.md`
|
|
33
33
|
- `docs/trd/trd.md`
|
|
34
34
|
- related specs under `docs/specs/`
|
|
35
|
+
- `docs/specs/kaizen-log.md` when present — only the `## Active Lessons` digest; relevant lessons are applied and cited by ID in design decisions
|
|
35
36
|
- root and package-level agent guidance files
|
|
36
37
|
|
|
37
38
|
## Outputs
|
package/docs/flow.md
CHANGED
|
@@ -54,7 +54,7 @@ You: /akili-validate changes/add-remember-me
|
|
|
54
54
|
AI: Creates validation-report.md with PASS/WARN/FAIL/BLOCKED findings
|
|
55
55
|
|
|
56
56
|
You: /akili-archive changes/add-remember-me
|
|
57
|
-
AI:
|
|
57
|
+
AI: Runs the Kaizen retrospective (appends docs/specs/kaizen-log.md), moves completed work into docs/specs/archive/, and refreshes CodeGraph
|
|
58
58
|
|
|
59
59
|
Independent Auditing:
|
|
60
60
|
You: /akili-audit
|
|
@@ -128,6 +128,7 @@ For Legacy and Active-AKILI-SPECS modes, CodeGraph is preferred when `.codegraph
|
|
|
128
128
|
| `docs/specs/<spec-path>/test-report.md` | `/akili-test` | Requirement-to-test matrix and coverage gaps |
|
|
129
129
|
| `docs/specs/<spec-path>/validation-report.md` | `/akili-validate` | Final conformance audit |
|
|
130
130
|
| `docs/specs/drift-report.md` | `/akili-audit` | Conformance auditing of documentation vs. codebase reality |
|
|
131
|
+
| `docs/specs/kaizen-log.md` | `/akili-archive` | Accumulated metrics and root-cause lessons; the `## Active Lessons` digest is read by `/akili-propose`, `/akili-specify`, `/akili-execute`, and `/akili-resume` |
|
|
131
132
|
| `docs/specs/archive/.../archive-summary.md` | `/akili-archive` | Historical closure record |
|
|
132
133
|
|
|
133
134
|
## Review Gates
|
|
@@ -144,7 +145,7 @@ AKILI keeps humans in control at each important transition.
|
|
|
144
145
|
| Execution | Each completed task has verification evidence |
|
|
145
146
|
| Testing | Key requirements have automated or accepted manual evidence |
|
|
146
147
|
| Validation | No unresolved FAIL findings remain |
|
|
147
|
-
| Archive | Warnings and follow-ups are accepted |
|
|
148
|
+
| Archive | Warnings and follow-ups are accepted; Kaizen lessons are recorded and standardizations approved or deferred |
|
|
148
149
|
|
|
149
150
|
## Documentation Depth
|
|
150
151
|
|
|
@@ -307,3 +308,22 @@ OpenCode). `/akili-constitution` (Step 7C) scaffolds a `## Model Routing` copy o
|
|
|
307
308
|
the project's `AGENTS.md` / `CLAUDE.md`. It is **guidance only** — no `model:` frontmatter, no
|
|
308
309
|
installer changes — and it enforces **author ≠ auditor** (Reviewer model ≠ Implementer model). See
|
|
309
310
|
[model-routing.md](model-routing.md) for the tiers, principles, and the default registry.
|
|
311
|
+
|
|
312
|
+
### 8. The Kaizen Loop
|
|
313
|
+
|
|
314
|
+
AKILI embeds Kaizen — continuous improvement through small, disciplined steps — as an executable
|
|
315
|
+
retrospective inside `/akili-archive`, powered by the packaged `kaizen` skill (authored by
|
|
316
|
+
Juan Carlos Cadavid — jcadavid.com). Every archive runs one bounded pass:
|
|
317
|
+
|
|
318
|
+
* **Measure:** hunt waste (MUDA) in the spec's own evidence — Reviewer rework attempts, pivots,
|
|
319
|
+
PRODUCT_BUGs, severe judgment-day findings, validation WARN/FAIL, drift.
|
|
320
|
+
* **Learn:** distill 0–3 lessons, each with a named root cause and cited evidence. Generic lessons
|
|
321
|
+
are banned; a clean spec records a one-line clean-run entry instead.
|
|
322
|
+
* **Standardize:** propose 1–3 line edits to constitution guides, `general-setup` templates, design
|
|
323
|
+
tokens, or `.agents/` personas. **Every edit outside the kaizen log requires human approval.**
|
|
324
|
+
* **Record:** append to the accumulative `docs/specs/kaizen-log.md`. Its capped `## Active Lessons`
|
|
325
|
+
digest (10 rows max) is the only part other commands read.
|
|
326
|
+
|
|
327
|
+
Lessons target either the **Product** (this project) or the **Methodology** itself — Methodology
|
|
328
|
+
lessons are flagged for upstreaming to the AKILI repository, so the methodology learns from every
|
|
329
|
+
tool built with it. The retrospective never blocks the archive.
|
package/docs/model-routing.md
CHANGED
|
@@ -65,7 +65,7 @@ the suites, and a Tester ideally runs on a different model than the Implementer
|
|
|
65
65
|
| `/akili-test` → **Tester(s)** | T2 | Test authoring + verification per suite. Prefer a different model than the Implementer (author ≠ tester). |
|
|
66
66
|
| `/akili-validate` | T3 | Deep conformance audit. |
|
|
67
67
|
| `/akili-audit` | T4 + T3 | Drift detection over large context, judged critically. |
|
|
68
|
-
| `/akili-archive` | T5 | Cheap, fast summarization of closed work. |
|
|
68
|
+
| `/akili-archive` | T5 | Cheap, fast summarization of closed work. (Kaizen Learn sub-step: T3 optional.) |
|
|
69
69
|
| `/akili-seo` | T3 + T5 | Audit findings (T3) plus setup/formatting steps (T5). |
|
|
70
70
|
|
|
71
71
|
**author ≠ auditor enforcement.** In the registry, T2 (Coder) and T3 (Auditor) must resolve to
|
|
@@ -27,6 +27,7 @@ This repository borrows useful documentation and workflow ideas from OpenSpec wh
|
|
|
27
27
|
| Existing projects | Brownfield-friendly workflow | Explicit existing-project constitution mode with optional CodeGraph analysis |
|
|
28
28
|
| Validation | Workflow validation through commands | Dedicated `/akili-test` and `/akili-validate` reports before archive |
|
|
29
29
|
| SEO | Not a core workflow in OpenSpec | `/akili-seo` handles Google Search Console setup and audits |
|
|
30
|
+
| Continuous improvement | Not a core workflow in OpenSpec | The Kaizen Loop: `/akili-archive` runs a bounded retrospective and later commands read the accumulated `## Active Lessons` digest |
|
|
30
31
|
| Package target | `@fission-ai/openspec` | `akili-specs` |
|
|
31
32
|
|
|
32
33
|
## Practical Takeaway
|
package/docs/skills/README.md
CHANGED
|
@@ -12,6 +12,7 @@ The installable source files live in `.claude/skills/*/SKILL.md`. These pages ar
|
|
|
12
12
|
| [`api-design-principles`](api-design-principles.md) | REST and GraphQL API design and review | `/akili-constitution`, `/akili-specify`, `/akili-validate` |
|
|
13
13
|
| [`aws-serverless`](aws-serverless.md) | Lambda, API Gateway, DynamoDB, SQS/SNS, SAM/CDK | `/akili-constitution`, `/akili-specify`, `/akili-execute` |
|
|
14
14
|
| [`brainstorming`](brainstorming.md) | Clarifying ideas, scope, options, and trade-offs before implementation | `/akili-propose`, `/akili-specify` |
|
|
15
|
+
| [`cognitive-doc-design`](cognitive-doc-design.md) | Writing human-facing docs that reduce cognitive load (lead with the answer, progressive disclosure, tables over prose) | `/akili-constitution`, `/akili-specify`, `/akili-execute` (PR docs), `/akili-archive` |
|
|
15
16
|
| [`error-handling-patterns`](error-handling-patterns.md) | Exceptions, Result patterns, graceful degradation, reliability | `/akili-specify`, `/akili-execute`, `/akili-validate` |
|
|
16
17
|
| [`frontend-design`](frontend-design.md) | Distinctive frontend UI and UX implementation | `/akili-constitution`, `/akili-specify`, `/akili-execute`, `/akili-test` |
|
|
17
18
|
| [`gsap-core`](gsap-core.md) | Core GSAP tweens, easing, stagger, responsive and reduced-motion animation | `/akili-specify`, `/akili-execute` |
|
|
@@ -22,8 +23,9 @@ The installable source files live in `.claude/skills/*/SKILL.md`. These pages ar
|
|
|
22
23
|
| [`gsap-scrolltrigger`](gsap-scrolltrigger.md) | Scroll-driven animation, pinning, scrub, parallax | `/akili-specify`, `/akili-execute` |
|
|
23
24
|
| [`gsap-timeline`](gsap-timeline.md) | Sequenced animations and playback control | `/akili-specify`, `/akili-execute` |
|
|
24
25
|
| [`gsap-utils`](gsap-utils.md) | GSAP utilities such as clamp, mapRange, random, snap, wrap | `/akili-execute` |
|
|
26
|
+
| [`kaizen`](kaizen.md) | Bounded continuous-improvement retrospective (Measure → Learn → Standardize → Record); authored by Juan Carlos Cadavid — jcadavid.com | `/akili-archive` |
|
|
25
27
|
| [`nestjs-expert`](nestjs-expert.md) | NestJS modules, DI, guards, interceptors, testing, TypeORM/Mongoose | `/akili-specify`, `/akili-execute`, `/akili-test`, `/akili-validate` |
|
|
26
|
-
| [`product-manager-toolkit`](product-manager-toolkit.md) | Product discovery, PRDs, prioritization, customer interview analysis | `/akili-constitution`, `/akili-propose`, `/akili-specify` |
|
|
28
|
+
| [`product-manager-toolkit`](product-manager-toolkit.md) | Product discovery, PRDs, prioritization, customer interview analysis (AKILI-adapted: canonical PRD structure, RICE for scope-chunk ordering) | `/akili-constitution`, `/akili-propose`, `/akili-specify` |
|
|
27
29
|
| [`react-doctor`](react-doctor.md) | React diagnostics after changes | `/akili-test`, `/akili-validate` |
|
|
28
30
|
| [`seo-audit`](seo-audit.md) | Technical, on-page, and international SEO audits with a standard finding format | `/akili-seo`, `/akili-validate` |
|
|
29
31
|
| [`shadcn-ui`](shadcn-ui.md) | shadcn/ui components, forms, themes, Tailwind integration | `/akili-specify`, `/akili-execute`, `/akili-validate` |
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# `cognitive-doc-design`
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Designs documentation that reduces cognitive load, using six patterns: lead with the answer, progressive disclosure, chunking, signposting, recognition over recall, and review empathy. AKILI generates many human-facing documents (PRD, TRD, requirements, reports, summaries) — this skill defines how to write them so readers scan, understand, and verify quickly. Authored by gentleman-programming (Apache-2.0).
|
|
6
|
+
|
|
7
|
+
## Use When
|
|
8
|
+
|
|
9
|
+
- Writing or upgrading any human-facing AKILI document: PRD, UX/UI design, TRD, requirements, design, reports, archive summaries.
|
|
10
|
+
- Writing PR descriptions and review notes during `/akili-execute` (its review-empathy rules reduce reviewer burnout).
|
|
11
|
+
- Any doc that currently feels long, dense, or hard to scan.
|
|
12
|
+
|
|
13
|
+
## Core Rules
|
|
14
|
+
|
|
15
|
+
- Put the decision, action, or outcome first — context comes after.
|
|
16
|
+
- Start with the happy path, then details, edge cases, and references.
|
|
17
|
+
- Group related information into small sections; keep flat lists short.
|
|
18
|
+
- Use headings, labels, callouts, and summaries as signposts.
|
|
19
|
+
- Prefer tables, checklists, examples, and templates over prose that must be remembered.
|
|
20
|
+
- For PRs: state what to review first, what is out of scope, and link chained PRs.
|
|
21
|
+
|
|
22
|
+
## Best Paired Commands
|
|
23
|
+
|
|
24
|
+
- `/akili-constitution` — writing `docs/prd.md`, the UX/UI design doc, and the TRD.
|
|
25
|
+
- `/akili-specify` — writing `requirements.md`, `design.md`, and `tasks.md`.
|
|
26
|
+
- `/akili-execute` — writing PR descriptions and review notes.
|
|
27
|
+
- `/akili-archive` — writing `archive-summary.md` and Kaizen log entries (one-point lessons are recognition over recall).
|
|
28
|
+
|
|
29
|
+
## Source
|
|
30
|
+
|
|
31
|
+
- `../../.claude/skills/cognitive-doc-design/SKILL.md`
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# `kaizen`
|
|
2
|
+
|
|
3
|
+
**Author:** Juan Carlos Cadavid — [jcadavid.com](https://jcadavid.com)
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Turns the Japanese Kaizen philosophy of continuous improvement into an executable, bounded retrospective: **Measure → Learn → Standardize → Record**. Every archived spec leaves the project — and the methodology itself — slightly better than it found them. Inspired by the Kaizen Institute glossary (kaizen.com), Robert Maurer's small-steps method, and INTI's *Emprendiendo Kaizen* (2019).
|
|
8
|
+
|
|
9
|
+
## Use When
|
|
10
|
+
|
|
11
|
+
- `/akili-archive` reaches its **Kaizen Retrospective** step (the primary, automatic trigger).
|
|
12
|
+
- The user explicitly requests a kaizen retrospective or continuous-improvement pass over a spec or project.
|
|
13
|
+
|
|
14
|
+
## Core Rules
|
|
15
|
+
|
|
16
|
+
- **Measure** hunts MUDA (waste) in the spec's own evidence: Reviewer rework attempts, pivots, PRODUCT_BUGs, severe judgment-day findings, validation WARN/FAIL, quick escalations, drift.
|
|
17
|
+
- **Learn** distills 0–3 lessons; each names a root cause (5W1H) and cites evidence (Gemba: real facts, never speculation). Generic lessons are banned; prefer zero over filler. Lessons target the **Product** or the **Methodology** (flagged for upstreaming to the AKILI repo).
|
|
18
|
+
- **Standardize** proposes one minimal edit (1–3 lines) per lesson to the most durable home; every edit outside the kaizen log requires human approval via a numbered menu.
|
|
19
|
+
- **Record** appends to the accumulative `docs/specs/kaizen-log.md`; the `## Active Lessons` digest is capped at 10 rows and institutionalized lessons are retired.
|
|
20
|
+
- The retrospective **never blocks the archive** — missing inputs or a declined menu produce a metrics-only or clean-run entry.
|
|
21
|
+
|
|
22
|
+
## Best Paired Commands
|
|
23
|
+
|
|
24
|
+
- `/akili-archive` — runs the retrospective automatically as its Kaizen Retrospective step.
|
|
25
|
+
- `/akili-propose`, `/akili-specify`, `/akili-execute` — read the `## Active Lessons` digest so past mistakes shape new work.
|
|
26
|
+
- `/akili-resume` — shows the active-lesson count in the dashboard.
|
|
27
|
+
|
|
28
|
+
## Source
|
|
29
|
+
|
|
30
|
+
- `../../.claude/skills/kaizen/SKILL.md`
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
4
|
|
|
5
|
-
Supports product management work, including PRDs, customer interview analysis, RICE prioritization, discovery frameworks, requirements, and go-to-market thinking.
|
|
5
|
+
Supports product management work, including PRDs, customer interview analysis, RICE prioritization, discovery frameworks, requirements, and go-to-market thinking. Adapted for AKILI-SPECS: its **AKILI-SPECS Integration** section maps each tool to one precise moment in the flow, and the AKILI 9-section PRD structure is canonical over the toolkit's own templates.
|
|
6
6
|
|
|
7
7
|
## Use When
|
|
8
8
|
|
|
9
|
-
- Creating or improving `docs/prd.md
|
|
10
|
-
- Clarifying personas, goals, scope, success metrics, or non-goals.
|
|
11
|
-
-
|
|
9
|
+
- Creating or improving `docs/prd.md` (the AKILI structure wins; the toolkit fills its sections well — North Star Metric, jobs-to-be-done, Hypothesis Template).
|
|
10
|
+
- Clarifying personas, goals, scope, success metrics, or non-goals (`/akili-constitution` Step 2 uses its Customer Interview Guide as the question script; the interview analyzer extracts pain points from transcripts).
|
|
11
|
+
- Ordering scope chunks with RICE or MoSCoW when `/akili-propose` or `/akili-specify` split an epic into multiple specs.
|
|
12
12
|
- Turning discovery into requirements.
|
|
13
13
|
|
|
14
14
|
## Best Paired Commands
|
|
15
15
|
|
|
16
|
-
- `/akili-constitution` for project PRD baseline.
|
|
17
|
-
- `/akili-propose` for intent and
|
|
18
|
-
- `/akili-specify` for behavior requirements.
|
|
16
|
+
- `/akili-constitution` for business-context questions (Step 2) and the project PRD baseline (Step 3).
|
|
17
|
+
- `/akili-propose` for intent, scope, and chunk ordering.
|
|
18
|
+
- `/akili-specify` for behavior requirements and split-spec ordering.
|
|
19
19
|
|
|
20
20
|
## Source
|
|
21
21
|
|
package/package.json
CHANGED