continuous-improvement 3.15.0 → 3.17.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.
Files changed (32) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +20 -0
  3. package/README.md +5 -4
  4. package/bin/check-skill-count-prose.mjs +168 -0
  5. package/bin/install.mjs +46 -1
  6. package/bin/lint-transcript.mjs +15 -3
  7. package/bin/mcp-server.mjs +1 -0
  8. package/commands/intent-driven-development.md +36 -0
  9. package/commands/roast.md +34 -0
  10. package/hooks/workflow-distill.mjs +145 -0
  11. package/lib/plugin-metadata.mjs +8 -3
  12. package/lib/version-check.mjs +115 -0
  13. package/llms.txt +1 -1
  14. package/package.json +4 -3
  15. package/plugins/beginner.json +1 -1
  16. package/plugins/continuous-improvement/.claude-plugin/marketplace.json +2 -2
  17. package/plugins/continuous-improvement/.claude-plugin/plugin.json +2 -2
  18. package/plugins/continuous-improvement/bin/mcp-server.mjs +1 -0
  19. package/plugins/continuous-improvement/commands/intent-driven-development.md +36 -0
  20. package/plugins/continuous-improvement/commands/roast.md +34 -0
  21. package/plugins/continuous-improvement/hooks/hooks.json +6 -1
  22. package/plugins/continuous-improvement/hooks/workflow-distill.mjs +145 -0
  23. package/plugins/continuous-improvement/lib/plugin-metadata.mjs +8 -3
  24. package/plugins/continuous-improvement/skills/README.md +2 -0
  25. package/plugins/continuous-improvement/skills/intent-driven-development/SKILL.md +161 -0
  26. package/plugins/continuous-improvement/skills/roast/SKILL.md +108 -0
  27. package/plugins/continuous-improvement/skills/strategic-compact/SKILL.md +12 -32
  28. package/plugins/expert.json +1 -1
  29. package/skills/README.md +1 -1
  30. package/skills/intent-driven-development.md +161 -0
  31. package/skills/roast.md +108 -0
  32. package/skills/strategic-compact.md +12 -32
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: intent-driven-development
3
+ tier: "2"
4
+ description: "Enforces Law 2 (Plan Is Sacred) of the 7 Laws of AI Agent Discipline. Turn an ambiguous or high-impact change into scoped, verifiable acceptance criteria (observable AC-NNN, explicit in/out scope, named verification methods, and a [revised] protocol that forbids silently dropping a criterion) before or alongside implementation, so the plan that gets built is the plan that was agreed, not an invented default. Use when clarifying a feature, defining acceptance criteria, de-risking a security/data/migration/integration change, or preparing implementation requirements for another agent. Do not trigger for trivial edits, straightforward fixes, active debugging, or code review."
5
+ origin: continuous-improvement
6
+ user-invocable: true
7
+ argument-hint: "[the change to scope into acceptance criteria]"
8
+ ---
9
+
10
+ # /intent-driven-development: scope the change before you build it
11
+
12
+ Law 2 says the plan is sacred: once a goal and its acceptance conditions are agreed, you do not silently drift from them. The cheapest way to honor that is to make the plan verifiable in the first place. A goal phrased as "make export work" cannot be held sacred because nobody can tell when it is met. This skill converts an ambiguous or high-impact request into observable acceptance criteria (`AC-001`, `AC-002`, ...) with named verification methods, so "done" is a fact two people would agree on, and a criterion can never be quietly dropped mid-build.
13
+
14
+ It produces useful criteria without turning specification into ceremony: inspect available context first, expose only genuine ambiguity, and choose verification that fits the work and its risk.
15
+
16
+ ## When to activate
17
+
18
+ - The user asks to clarify a feature, define acceptance criteria, or de-risk a change before implementation.
19
+ - The request touches security, authentication, persistent data, migrations, external APIs, or compliance.
20
+ - The user wants a handoff artifact another agent or team can implement without inventing requirements.
21
+ - The request is ambiguous enough that the expected outcome is not yet observable or testable.
22
+ - The user types `/intent-driven-development`, "define acceptance criteria", "scope this change", or "make this testable".
23
+
24
+ Do not activate for trivial edits, one-line fixes, active debugging, code review, or implementation requests whose acceptance conditions are already clear.
25
+
26
+ ## How it works
27
+
28
+ 1. **Inspect context first.** Read the repository, docs, schemas, and test infrastructure for technical facts before asking any question. Treat product and business constraints as something only the user or a product artifact can supply.
29
+ 2. **Choose depth.** Quick Capture (3-7 criteria, low or moderate risk) or Full Acceptance Brief (security, data, migration, cross-system, or handoff).
30
+ 3. **Ask minimally.** Only ask questions whose answers cannot be inferred and that materially change scope or behavior. Group related questions into one batch.
31
+ 4. Write observable criteria. Each AC-NNN names a scenario, a trigger, an expected observable result, a prohibited side effect when meaningful, a verification method, and a priority. Do not use "correctly" or "securely" without defined evidence.
32
+ 5. **Proceed or hand off.** For a clear request with no blocking risk, record the criteria and continue. For a risky change, present the blockers and wait for confirmation.
33
+ 6. **Hold the plan sacred.** If a criterion cannot be met due to a constraint found mid-build, do not silently drop or work around it. Mark it `[revised]`, state the constraint, adjust scope or verification, increment the revision number, and re-present only the changed criteria before continuing.
34
+
35
+ ## Operating rules
36
+
37
+ 1. Inspect available repository, docs, issue, design, and test context before asking for technical facts that can be discovered locally.
38
+ 2. Do not infer product or business constraints from code. Business rules, compliance obligations, contractual SLAs, pricing, data-retention policy, prioritization, and target users cannot be read from a repository. Record them as assumptions flagged for confirmation, never as discovered facts. The repository tells you how the system behaves today, not what the business requires it to do.
39
+ 3. Ask only questions whose answers are required and cannot be safely inferred.
40
+ 4. Do not block implementation by default. When the user has asked to implement a sufficiently clear change, record key assumptions and criteria briefly, then proceed or hand them to the implementation workflow.
41
+ 5. Require explicit confirmation before proceeding only when an unresolved decision could create material security exposure, data loss, irreversible migration, contractual or API breakage, meaningful cost, or destructive external action.
42
+ 6. Do not write an acceptance document into a repository, alter project files, create a branch, commit, or invoke another skill unless the user requests it or the active workflow requires it.
43
+ 7. Treat automated tests as evidence, not truth. Prefer automation when reliable and proportionate; allow manual UX, accessibility, security, legal, or operational verification where automation cannot establish the outcome.
44
+ 8. Never include real secrets, credentials, tokens, private keys, personal data, or production payloads in criteria, fixtures, examples, or saved artifacts. Use redacted or synthetic values.
45
+ 9. Do not run destructive tests, migrations, security probes, load tests, paid external calls, or operations against production data without explicit authorization and an identified safe environment.
46
+ 10. When a criterion cannot be satisfied due to a constraint discovered during implementation, update it (`[revised]`, state the constraint, adjust scope or verification), increment the revision, and re-present only the changed criteria. Require confirmation only if the revision changes a blocking decision or reduces a safety or correctness guarantee.
47
+
48
+ ## Choose the depth
49
+
50
+ Use the smallest useful output.
51
+
52
+ ### Quick Capture
53
+
54
+ For a clear but non-trivial change with low or moderate risk. Produce: Goal; In scope and out of scope; Assumptions; 3-7 acceptance criteria with verification methods; blocking questions if any. Do not delay implementation for approval unless a blocking risk exists or the user asked for a spec first.
55
+
56
+ ### Full Acceptance Brief
57
+
58
+ For ambiguous, cross-system, security-sensitive, data-changing, migration, compliance, or high-cost changes, or when the user wants a handoff artifact. Produce the full template below and request confirmation for unresolved blocking decisions before risky implementation.
59
+
60
+ ### Existing specification review
61
+
62
+ When the user already supplied a PRD, issue, plan, or criteria: review it instead of restarting discovery. Identify missing scope boundaries, unsafe assumptions, contradictions, and unverifiable requirements. Return corrected or supplemental criteria.
63
+
64
+ ## Write acceptance criteria
65
+
66
+ Use `AC-001`, `AC-002`, and so on. Criteria and tests need not map one-to-one. For each applicable criterion include: scenario or starting condition; action or trigger; expected observable behavior; prohibited side effect when meaningful; verification method (automated test, integration check, manual UX review, accessibility check, security review, operational check, or stakeholder acceptance); environment or safety constraint when verification could affect data, services, cost, or secrets; priority (Required, Important, or Optional).
67
+
68
+ Do not use "correctly", "securely", "fast", "intuitive", or "robust" without defining observable evidence or recording them as a human-review judgment.
69
+
70
+ Cover only the boundaries that apply:
71
+
72
+ | Category | Include when | Typical evidence |
73
+ | --- | --- | --- |
74
+ | Happy path | New or changed user-visible behavior | Successful workflow or state transition |
75
+ | Validation | The change accepts input | Malformed or boundary value rejected without mutation |
76
+ | Authorization/privacy | Data or actions have access boundaries | Denied access and no sensitive disclosure |
77
+ | Persistence/migration | Stored data or schemas change | Backward read, migration, rollback, or backup behavior |
78
+ | Compatibility | Public APIs, files, events, or clients may break | Existing contract or fixture stays valid |
79
+ | Failure recovery | Network, service, or async failure exists | No partial state, or clear retry and degraded behavior |
80
+ | Idempotency/concurrency | Repeats or simultaneous writes are plausible | No duplicate side effect or invalid final state |
81
+ | Performance | A user or service threshold matters | Defined measurement conditions and threshold |
82
+ | UX/accessibility | A person interacts with the result | Keyboard, feedback, error recovery, visual or manual review |
83
+
84
+ ## Output template (Full Acceptance Brief)
85
+
86
+ Omit irrelevant sections for Quick Capture.
87
+
88
+ ```markdown
89
+ # Acceptance Brief: <Change Name>
90
+
91
+ **Status:** Draft | Approved | Implemented | Verified
92
+ **Revision:** <number>
93
+ **Prepared for:** <user/team/agent, when known>
94
+
95
+ ## Goal
96
+ <One observable outcome sentence.>
97
+
98
+ ## Scope
99
+ **In scope:** <behavior included>
100
+ **Out of scope:** <adjacent work excluded>
101
+
102
+ ## Context
103
+ **Discovered facts** (technical, verified from repository or artifact)
104
+ **Product/business constraints** (supplied by user or artifact, never inferred from code, or "none supplied yet")
105
+ **Assumptions** (unverified claims to confirm)
106
+ **Dependencies and constraints**
107
+
108
+ ## Risk Review
109
+ | Risk area | Applies? | Required handling |
110
+ | --- | --- | --- |
111
+ | Security/privacy | Yes/No | <redaction, authorization, review> |
112
+ | Persistent data/migration | Yes/No | <compatibility, backup, rollback> |
113
+ | External effects/cost | Yes/No | <sandbox, test environment, authorization> |
114
+ | Compatibility/API | Yes/No | <contract to preserve or version> |
115
+ | UX/accessibility | Yes/No | <manual or automated evidence> |
116
+
117
+ ## Acceptance Criteria
118
+ ### AC-001: <observable behavior>
119
+ - **Scenario:** <starting condition>
120
+ - **Action:** <single trigger>
121
+ - **Expected:** <observable result>
122
+ - **Must not:** <prohibited side effect, if applicable>
123
+ - **Verification:** <method and intended evidence>
124
+ - **Environment/safety:** <constraints, if applicable>
125
+ - **Priority:** Required | Important | Optional
126
+
127
+ ## Blocking Decisions
128
+ - [ ] <only decisions that prevent safe or correct progress>
129
+
130
+ ## Verification Plan
131
+ | Criterion | Verification evidence | Status |
132
+ | --- | --- | --- |
133
+ | AC-001 | <test, check, or review command or evidence type> | Pending |
134
+ ```
135
+
136
+ ## Pass/fail rubric
137
+
138
+ A brief passes only if every answer is "yes". Any "no" means revise before returning it.
139
+
140
+ - [ ] Does every required criterion have a scenario, an observable expected result, and a named verification method?
141
+ - [ ] Are vague terms ("correctly", "secure", "fast", "robust") either replaced with observable evidence or marked as human judgment?
142
+ - [ ] Are product and business constraints listed as supplied or assumed, with none silently inferred from code?
143
+ - [ ] Is scope explicit, with out-of-scope items named?
144
+ - [ ] Are blocking decisions limited to choices that actually affect safety or correctness, not preferences?
145
+
146
+ A failing criterion: `AC-001: The export works correctly and is secure.` (no scenario, no observable result, no verification, "correctly" and "secure" undefined). A passing one names the scenario, the expected result, the prohibited side effect, and the verification method, so two people would agree it was met.
147
+
148
+ ## How it fits the 7 Laws
149
+
150
+ | Law | Role of this skill |
151
+ |---|---|
152
+ | Law 2 (Plan Is Sacred) | The acceptance brief **is** the sacred plan: observable criteria, explicit scope, and a `[revised]` protocol that forbids silently dropping or working around a criterion mid-build. |
153
+ | Law 1 (Research Before Executing) | Rule 1 inspects repo, docs, schemas, and tests for technical facts before asking, and refuses to infer business rules from code. |
154
+ | Law 4 (Verify Before Reporting) | Every criterion carries a named verification method and a pass/fail rubric, so "done" is falsifiable rather than asserted. |
155
+
156
+ ## Pairs with
157
+
158
+ - [`grill-me`](./grill-me.md): interviews a fuzzy request to a shippable spec. Reach for `grill-me` when the input is unclear, then this skill to turn the agreed intent into verifiable criteria.
159
+ - [`roast`](./roast.md): validates whether the idea should exist at all. Roast first, then scope the survivor into acceptance criteria.
160
+ - [`goal-monitor`](./goal-monitor.md): the runtime drift gate. The `## Goal` and criteria this skill produces are what goal-monitor scores a session against.
161
+ - [`verification-loop`](./verification-loop.md): runs the per-project verify ladder. The criteria's verification methods feed its evidence step.
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: roast
3
+ tier: "2"
4
+ description: Enforces Law 1 (Research Before Executing) of the 7 Laws of AI Agent Discipline. Convene a 5-persona adversarial council (Contrarian, Expansionist, Logician, Researcher, Buyer) that attacks an idea from every angle, then a Judge returns one GO / RESHAPE / KILL verdict plus the cheapest 48-hour test to de-risk it — so you pressure-test an idea before sinking time into building the wrong thing.
5
+ origin: continuous-improvement
6
+ user-invocable: true
7
+ argument-hint: "[the idea to roast]"
8
+ ---
9
+
10
+ # /roast — Convene the council before you build
11
+
12
+ Claude's default is to agree with you. `/roast` is the opposite. Law 1 says research before executing — and the cheapest, most-skipped research is an honest adversarial read of the idea *itself* before any plan or code exists. This skill convenes a council of five independent persona agents who tear an idea apart and build it up from every angle, then a Judge synthesizes everything into one decisive verdict.
13
+
14
+ The council is adversarial on purpose. No persona is allowed to hedge or be polite. The point is to surface what you can't see because you're too close to it — and to do it in an hour, not after a month of building.
15
+
16
+ Adapted from the community `/roast` idea-council pattern and reshaped as a continuous-improvement-native Law 1 skill.
17
+
18
+ ## When to activate
19
+
20
+ - Before you sink time or money into building something — a product, a feature, a business, a bet.
21
+ - When you catch yourself (or the agent) agreeing with a plan that has never been attacked.
22
+ - The user types `/roast`, "roast this idea", "convene the council", "pressure-test this", "stress-test this idea", "validate this business idea", or "give me a brutal second opinion".
23
+ - A `/proceed-with-the-recommendation` walk is about to start but the *premise* underneath the recommendation list was never challenged.
24
+
25
+ ## Step 1: Get the brief
26
+
27
+ If `$ARGUMENTS` contains the idea, start there. Then ask a tight set of clarifying questions so the council judges something real. Ask only what hasn't already been provided — 3-4 questions max, in **one batch**:
28
+
29
+ 1. **The idea** in one or two sentences (what it is, what it does).
30
+ 2. **Who it's for** and **how it makes money** (the buyer + the price/model).
31
+ 3. **Your edge** — relevant skills, audience, or assets you already have.
32
+ 4. **Constraints** — budget, timeline, how fast you need the first dollar.
33
+
34
+ If the user says "just run it" or has already given you enough, skip the questions and proceed. Don't over-interrogate — one round, then convene.
35
+
36
+ Write the brief into a single short paragraph you will paste verbatim into every council member's prompt, so all five judge the same thing.
37
+
38
+ ## Step 2: Convene the council (5 agents, in parallel)
39
+
40
+ Spin up **all five agents in parallel in a single message** — one subagent each (`general-purpose`). Paste the same brief into each, then give it its persona mandate below.
41
+
42
+ Each council member must return: a one-line stance, their 3-5 sharpest points, the single most important thing the user must hear, and a 1-10 score on their own dimension (1 = walk away, 10 = no-brainer).
43
+
44
+ **1. The Contrarian (Red Team)**
45
+ > You are the Contrarian on an idea council. Assume this idea fails. Find the fatal flaws, the fastest way it dies, and the load-bearing assumptions that are probably wrong. Be ruthless and specific. No hedging, no "but it could work." Attack the weakest points. THE BRIEF: [brief]
46
+
47
+ **2. The Expansionist (Bull)**
48
+ > You are the Expansionist on an idea council. Make the strongest possible case FOR this idea. Find the biggest upside, the 10x version, the adjacent opportunities and unlock points the founder isn't seeing. Fight for the potential. Be specific about where the real money and leverage could be. THE BRIEF: [brief]
49
+
50
+ **3. The Logician (First principles)**
51
+ > You are the Logician on an idea council. Use NO outside research and NO web. Reason purely from first principles: does the core mechanism make sense, do the incentives line up, is the underlying logic sound, does the math even work in theory? Strip it to fundamentals and tell us if it holds together. THE BRIEF: [brief]
52
+
53
+ **4. The Researcher (Evidence)**
54
+ > You are the Researcher on an idea council. Use web search. Bring real-world evidence: who the existing competitors are, market size or demand signals, what comparable products charge, whether this is validated by what's already out there or contradicted by it. Cite what you find. Is the real world saying yes or no? THE BRIEF: [brief]
55
+
56
+ **5. The Buyer (Voice of customer)**
57
+ > You are the Buyer on an idea council. Role-play the exact target customer described in the brief. React as them, in first person. Would you actually pay for this? What's your real objection? What would make you choose a competitor or just do nothing instead? What price feels right, and what would make you say yes today? Be the honest, slightly skeptical customer, not a cheerleader. THE BRIEF: [brief]
58
+
59
+ ## Step 3: The Judge delivers the verdict
60
+
61
+ Once all five return, YOU act as the Judge. Read every council member's findings, weigh them, and synthesize one decisive verdict. Do not average the scores. Name the real tension between the personas and resolve it.
62
+
63
+ Fold in the **economics lens** yourself: rough pricing, realistic time-to-first-dollar, and whether the user can actually ship this fast given the edge they described.
64
+
65
+ Output the verdict in this exact shape:
66
+
67
+ ```
68
+ ## THE VERDICT: GO / RESHAPE / KILL
69
+ Confidence: [low / medium / high]
70
+
71
+ **The call in one line:** [the decision, plainly]
72
+
73
+ **Why:** [2-3 sentences resolving the council's tension]
74
+
75
+ **Biggest risk:** [the single thing most likely to kill it]
76
+ **Biggest upside:** [the strongest reason to do it]
77
+
78
+ **Money read:** [rough price, time-to-first-dollar, can they ship fast]
79
+
80
+ **The cheapest 48-hour test:** [the smallest, fastest thing they can do
81
+ to validate the riskiest assumption BEFORE building anything]
82
+
83
+ **If RESHAPE:** [the specific pivot that fixes the fatal flaw while keeping the upside]
84
+ ```
85
+
86
+ Then list the five council scores in one line: `Contrarian X/10 · Expansionist X/10 · Logician X/10 · Researcher X/10 · Buyer X/10`.
87
+
88
+ ## Rules
89
+
90
+ - Every persona stays in character. None of them hedges or softens. The value is in the friction.
91
+ - The Judge must make an actual call. "It depends" is not a verdict. Pick GO, RESHAPE, or KILL and own it.
92
+ - The cheapest 48-hour test is the most important output. It's how the user finds out if they're right without building the whole thing.
93
+ - Keep the final verdict skimmable. The council does the depth; the Judge does the decision.
94
+
95
+ ## How it fits the 7 Laws
96
+
97
+ | Law | Role of this skill |
98
+ |---|---|
99
+ | Law 1 (Research Before Executing) | The council **is** the research — five independent investigations of an idea's viability before a single line of code is written. |
100
+ | Law 2 (Plan Is Sacred) | The verdict's RESHAPE pivot and cheapest-test become the plan's first checkpoint instead of an invented default. |
101
+ | Law 4 (Verify Before Reporting) | The Judge must commit to a falsifiable GO / RESHAPE / KILL call — the anti-pattern is the hedge, "it depends." |
102
+
103
+ ## Pairs with
104
+
105
+ - [`grill-me`](./grill-me.md) — once roast says GO or RESHAPE, `grill-me` hardens the **plan**; roast validates the **idea**. Roast first, then grill.
106
+ - [`proceed-with-the-recommendation`](./proceed-with-the-recommendation.md) — walk the verdict's next steps (the cheapest test, the RESHAPE pivot) top-to-bottom under the 7 Laws.
107
+ - [`wild-risa-balance`](./wild-risa-balance.md) — the verdict is a recommendation; run it through the R-I-S-A filter before acting.
108
+ - [`gateguard`](./gateguard.md) — the runtime gate (`hooks/gateguard.mjs`) that fires when the validated idea finally turns into Edit/Write/Bash.
@@ -32,37 +32,17 @@ Strategic compaction at logical boundaries:
32
32
 
33
33
  ## How It Works
34
34
 
35
- The `suggest-compact.js` script runs on PreToolUse (Edit/Write) and:
36
-
37
- 1. **Tracks tool calls** — Counts tool invocations in session
38
- 2. **Threshold detection** — Suggests at configurable threshold (default: 50 calls)
39
- 3. **Periodic reminders** — Reminds every 25 calls after threshold
40
-
41
- ## Hook Setup
42
-
43
- Add to your `~/.claude/settings.json`:
44
-
45
- ```json
46
- {
47
- "hooks": {
48
- "PreToolUse": [
49
- {
50
- "matcher": "Edit",
51
- "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
52
- },
53
- {
54
- "matcher": "Write",
55
- "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
56
- }
57
- ]
58
- }
59
- }
60
- ```
61
-
62
- ## Configuration
63
-
64
- Environment variables:
65
- - `COMPACT_THRESHOLD` — Tool calls before first suggestion (default: 50)
35
+ This skill is a manual phase-boundary checklist, not a bundled runtime hook. Use it when planning or reviewing a long session:
36
+
37
+ 1. **Name the current phase** — research, planning, implementation, testing, debugging, release, or handoff.
38
+ 2. **Check the next transition** — decide whether the next phase needs fresh context or the current context is still load-bearing.
39
+ 3. **Preserve state first** — write the plan, todo list, findings, or handoff note that must survive compaction.
40
+ 4. **Compact only at a boundary** — if compaction helps, run `/compact` with a specific summary for the next phase.
41
+ 5. **Resume from durable artifacts** — after compaction, re-read the plan/files instead of relying on lost conversation context.
42
+
43
+ ## Runtime Boundary
44
+
45
+ The current plugin does not ship `strategic-compact` PreToolUse automation or a threshold script. Treat compaction as an operator/agent decision: this skill gives the decision guide, while Claude Code's native `/compact` command performs the actual compaction.
66
46
 
67
47
  ## Compaction Decision Guide
68
48
 
@@ -94,7 +74,7 @@ Understanding what persists helps you compact with confidence:
94
74
  1. **Compact after planning** — Once plan is finalized in TodoWrite, compact to start fresh
95
75
  2. **Compact after debugging** — Clear error-resolution context before continuing
96
76
  3. **Don't compact mid-implementation** — Preserve context for related changes
97
- 4. **Read the suggestion** — The hook tells you *when*, you decide *if*
77
+ 4. **Use the checklist** — The phase table helps decide *when*; you still decide *if*
98
78
  5. **Write before compacting** — Save important context to files or memory before compacting
99
79
  6. **Use `/compact` with a summary** — Add a custom message: `/compact Focus on implementing auth middleware next`
100
80
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "continuous-improvement",
3
- "version": "3.15.0",
3
+ "version": "3.17.0",
4
4
  "mode": "expert",
5
5
  "description": "Expert mode: tune confidence, manage instincts, and persist plans on disk. Adds safety, token-budget, and strategic-compact skills plus the /learn-eval command so long sessions stay sharp and learnings survive context resets.",
6
6
  "tools": [
package/skills/README.md CHANGED
@@ -33,7 +33,7 @@ Tier-2 skills layer on top of tier-1 for users running `npx continuous-improveme
33
33
  |-------|--------------|------------------|
34
34
  | `safety-guard` | Three-mode runtime guard (careful/freeze/guard) that blocks destructive commands and locks edits to a directory | Autonomous loops, prod systems, `--dangerously-skip-permissions` sessions |
35
35
  | `token-budget-advisor` | Heuristic input/output token estimator that offers 25%/50%/75%/100% depth choices before answering | Long sessions where response size matters |
36
- | `strategic-compact` | PreToolUse hook that suggests `/compact` at logical phase boundaries (research→plan, plan→implement, debug→next) instead of arbitrary auto-compaction | Multi-phase tasks that approach context limits |
36
+ | `strategic-compact` | Manual phase-boundary checklist for deciding when to run `/compact` (research→plan, plan→implement, debug→next) instead of relying on arbitrary auto-compaction | Multi-phase tasks that approach context limits |
37
37
  | `wild-risa-balance` | Decision-framing lens that pairs WILD (Wild/Imaginative/Limitless/Disruptive) generation with RISA (Realistic/Important/Specific/Agreeable) execution, used to split recommendation lists into bold pilots above a safe baseline | Multi-item recommendation blocks where bold options keep losing to safe ones in a flat list |
38
38
 
39
39
  The `/learn-eval` slash command also ships as part of the expert install: extract a session pattern, run a checklist quality gate, and decide global-vs-project save location before writing any skill file.
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: intent-driven-development
3
+ tier: "2"
4
+ description: "Enforces Law 2 (Plan Is Sacred) of the 7 Laws of AI Agent Discipline. Turn an ambiguous or high-impact change into scoped, verifiable acceptance criteria (observable AC-NNN, explicit in/out scope, named verification methods, and a [revised] protocol that forbids silently dropping a criterion) before or alongside implementation, so the plan that gets built is the plan that was agreed, not an invented default. Use when clarifying a feature, defining acceptance criteria, de-risking a security/data/migration/integration change, or preparing implementation requirements for another agent. Do not trigger for trivial edits, straightforward fixes, active debugging, or code review."
5
+ origin: continuous-improvement
6
+ user-invocable: true
7
+ argument-hint: "[the change to scope into acceptance criteria]"
8
+ ---
9
+
10
+ # /intent-driven-development: scope the change before you build it
11
+
12
+ Law 2 says the plan is sacred: once a goal and its acceptance conditions are agreed, you do not silently drift from them. The cheapest way to honor that is to make the plan verifiable in the first place. A goal phrased as "make export work" cannot be held sacred because nobody can tell when it is met. This skill converts an ambiguous or high-impact request into observable acceptance criteria (`AC-001`, `AC-002`, ...) with named verification methods, so "done" is a fact two people would agree on, and a criterion can never be quietly dropped mid-build.
13
+
14
+ It produces useful criteria without turning specification into ceremony: inspect available context first, expose only genuine ambiguity, and choose verification that fits the work and its risk.
15
+
16
+ ## When to activate
17
+
18
+ - The user asks to clarify a feature, define acceptance criteria, or de-risk a change before implementation.
19
+ - The request touches security, authentication, persistent data, migrations, external APIs, or compliance.
20
+ - The user wants a handoff artifact another agent or team can implement without inventing requirements.
21
+ - The request is ambiguous enough that the expected outcome is not yet observable or testable.
22
+ - The user types `/intent-driven-development`, "define acceptance criteria", "scope this change", or "make this testable".
23
+
24
+ Do not activate for trivial edits, one-line fixes, active debugging, code review, or implementation requests whose acceptance conditions are already clear.
25
+
26
+ ## How it works
27
+
28
+ 1. **Inspect context first.** Read the repository, docs, schemas, and test infrastructure for technical facts before asking any question. Treat product and business constraints as something only the user or a product artifact can supply.
29
+ 2. **Choose depth.** Quick Capture (3-7 criteria, low or moderate risk) or Full Acceptance Brief (security, data, migration, cross-system, or handoff).
30
+ 3. **Ask minimally.** Only ask questions whose answers cannot be inferred and that materially change scope or behavior. Group related questions into one batch.
31
+ 4. Write observable criteria. Each AC-NNN names a scenario, a trigger, an expected observable result, a prohibited side effect when meaningful, a verification method, and a priority. Do not use "correctly" or "securely" without defined evidence.
32
+ 5. **Proceed or hand off.** For a clear request with no blocking risk, record the criteria and continue. For a risky change, present the blockers and wait for confirmation.
33
+ 6. **Hold the plan sacred.** If a criterion cannot be met due to a constraint found mid-build, do not silently drop or work around it. Mark it `[revised]`, state the constraint, adjust scope or verification, increment the revision number, and re-present only the changed criteria before continuing.
34
+
35
+ ## Operating rules
36
+
37
+ 1. Inspect available repository, docs, issue, design, and test context before asking for technical facts that can be discovered locally.
38
+ 2. Do not infer product or business constraints from code. Business rules, compliance obligations, contractual SLAs, pricing, data-retention policy, prioritization, and target users cannot be read from a repository. Record them as assumptions flagged for confirmation, never as discovered facts. The repository tells you how the system behaves today, not what the business requires it to do.
39
+ 3. Ask only questions whose answers are required and cannot be safely inferred.
40
+ 4. Do not block implementation by default. When the user has asked to implement a sufficiently clear change, record key assumptions and criteria briefly, then proceed or hand them to the implementation workflow.
41
+ 5. Require explicit confirmation before proceeding only when an unresolved decision could create material security exposure, data loss, irreversible migration, contractual or API breakage, meaningful cost, or destructive external action.
42
+ 6. Do not write an acceptance document into a repository, alter project files, create a branch, commit, or invoke another skill unless the user requests it or the active workflow requires it.
43
+ 7. Treat automated tests as evidence, not truth. Prefer automation when reliable and proportionate; allow manual UX, accessibility, security, legal, or operational verification where automation cannot establish the outcome.
44
+ 8. Never include real secrets, credentials, tokens, private keys, personal data, or production payloads in criteria, fixtures, examples, or saved artifacts. Use redacted or synthetic values.
45
+ 9. Do not run destructive tests, migrations, security probes, load tests, paid external calls, or operations against production data without explicit authorization and an identified safe environment.
46
+ 10. When a criterion cannot be satisfied due to a constraint discovered during implementation, update it (`[revised]`, state the constraint, adjust scope or verification), increment the revision, and re-present only the changed criteria. Require confirmation only if the revision changes a blocking decision or reduces a safety or correctness guarantee.
47
+
48
+ ## Choose the depth
49
+
50
+ Use the smallest useful output.
51
+
52
+ ### Quick Capture
53
+
54
+ For a clear but non-trivial change with low or moderate risk. Produce: Goal; In scope and out of scope; Assumptions; 3-7 acceptance criteria with verification methods; blocking questions if any. Do not delay implementation for approval unless a blocking risk exists or the user asked for a spec first.
55
+
56
+ ### Full Acceptance Brief
57
+
58
+ For ambiguous, cross-system, security-sensitive, data-changing, migration, compliance, or high-cost changes, or when the user wants a handoff artifact. Produce the full template below and request confirmation for unresolved blocking decisions before risky implementation.
59
+
60
+ ### Existing specification review
61
+
62
+ When the user already supplied a PRD, issue, plan, or criteria: review it instead of restarting discovery. Identify missing scope boundaries, unsafe assumptions, contradictions, and unverifiable requirements. Return corrected or supplemental criteria.
63
+
64
+ ## Write acceptance criteria
65
+
66
+ Use `AC-001`, `AC-002`, and so on. Criteria and tests need not map one-to-one. For each applicable criterion include: scenario or starting condition; action or trigger; expected observable behavior; prohibited side effect when meaningful; verification method (automated test, integration check, manual UX review, accessibility check, security review, operational check, or stakeholder acceptance); environment or safety constraint when verification could affect data, services, cost, or secrets; priority (Required, Important, or Optional).
67
+
68
+ Do not use "correctly", "securely", "fast", "intuitive", or "robust" without defining observable evidence or recording them as a human-review judgment.
69
+
70
+ Cover only the boundaries that apply:
71
+
72
+ | Category | Include when | Typical evidence |
73
+ | --- | --- | --- |
74
+ | Happy path | New or changed user-visible behavior | Successful workflow or state transition |
75
+ | Validation | The change accepts input | Malformed or boundary value rejected without mutation |
76
+ | Authorization/privacy | Data or actions have access boundaries | Denied access and no sensitive disclosure |
77
+ | Persistence/migration | Stored data or schemas change | Backward read, migration, rollback, or backup behavior |
78
+ | Compatibility | Public APIs, files, events, or clients may break | Existing contract or fixture stays valid |
79
+ | Failure recovery | Network, service, or async failure exists | No partial state, or clear retry and degraded behavior |
80
+ | Idempotency/concurrency | Repeats or simultaneous writes are plausible | No duplicate side effect or invalid final state |
81
+ | Performance | A user or service threshold matters | Defined measurement conditions and threshold |
82
+ | UX/accessibility | A person interacts with the result | Keyboard, feedback, error recovery, visual or manual review |
83
+
84
+ ## Output template (Full Acceptance Brief)
85
+
86
+ Omit irrelevant sections for Quick Capture.
87
+
88
+ ```markdown
89
+ # Acceptance Brief: <Change Name>
90
+
91
+ **Status:** Draft | Approved | Implemented | Verified
92
+ **Revision:** <number>
93
+ **Prepared for:** <user/team/agent, when known>
94
+
95
+ ## Goal
96
+ <One observable outcome sentence.>
97
+
98
+ ## Scope
99
+ **In scope:** <behavior included>
100
+ **Out of scope:** <adjacent work excluded>
101
+
102
+ ## Context
103
+ **Discovered facts** (technical, verified from repository or artifact)
104
+ **Product/business constraints** (supplied by user or artifact, never inferred from code, or "none supplied yet")
105
+ **Assumptions** (unverified claims to confirm)
106
+ **Dependencies and constraints**
107
+
108
+ ## Risk Review
109
+ | Risk area | Applies? | Required handling |
110
+ | --- | --- | --- |
111
+ | Security/privacy | Yes/No | <redaction, authorization, review> |
112
+ | Persistent data/migration | Yes/No | <compatibility, backup, rollback> |
113
+ | External effects/cost | Yes/No | <sandbox, test environment, authorization> |
114
+ | Compatibility/API | Yes/No | <contract to preserve or version> |
115
+ | UX/accessibility | Yes/No | <manual or automated evidence> |
116
+
117
+ ## Acceptance Criteria
118
+ ### AC-001: <observable behavior>
119
+ - **Scenario:** <starting condition>
120
+ - **Action:** <single trigger>
121
+ - **Expected:** <observable result>
122
+ - **Must not:** <prohibited side effect, if applicable>
123
+ - **Verification:** <method and intended evidence>
124
+ - **Environment/safety:** <constraints, if applicable>
125
+ - **Priority:** Required | Important | Optional
126
+
127
+ ## Blocking Decisions
128
+ - [ ] <only decisions that prevent safe or correct progress>
129
+
130
+ ## Verification Plan
131
+ | Criterion | Verification evidence | Status |
132
+ | --- | --- | --- |
133
+ | AC-001 | <test, check, or review command or evidence type> | Pending |
134
+ ```
135
+
136
+ ## Pass/fail rubric
137
+
138
+ A brief passes only if every answer is "yes". Any "no" means revise before returning it.
139
+
140
+ - [ ] Does every required criterion have a scenario, an observable expected result, and a named verification method?
141
+ - [ ] Are vague terms ("correctly", "secure", "fast", "robust") either replaced with observable evidence or marked as human judgment?
142
+ - [ ] Are product and business constraints listed as supplied or assumed, with none silently inferred from code?
143
+ - [ ] Is scope explicit, with out-of-scope items named?
144
+ - [ ] Are blocking decisions limited to choices that actually affect safety or correctness, not preferences?
145
+
146
+ A failing criterion: `AC-001: The export works correctly and is secure.` (no scenario, no observable result, no verification, "correctly" and "secure" undefined). A passing one names the scenario, the expected result, the prohibited side effect, and the verification method, so two people would agree it was met.
147
+
148
+ ## How it fits the 7 Laws
149
+
150
+ | Law | Role of this skill |
151
+ |---|---|
152
+ | Law 2 (Plan Is Sacred) | The acceptance brief **is** the sacred plan: observable criteria, explicit scope, and a `[revised]` protocol that forbids silently dropping or working around a criterion mid-build. |
153
+ | Law 1 (Research Before Executing) | Rule 1 inspects repo, docs, schemas, and tests for technical facts before asking, and refuses to infer business rules from code. |
154
+ | Law 4 (Verify Before Reporting) | Every criterion carries a named verification method and a pass/fail rubric, so "done" is falsifiable rather than asserted. |
155
+
156
+ ## Pairs with
157
+
158
+ - [`grill-me`](./grill-me.md): interviews a fuzzy request to a shippable spec. Reach for `grill-me` when the input is unclear, then this skill to turn the agreed intent into verifiable criteria.
159
+ - [`roast`](./roast.md): validates whether the idea should exist at all. Roast first, then scope the survivor into acceptance criteria.
160
+ - [`goal-monitor`](./goal-monitor.md): the runtime drift gate. The `## Goal` and criteria this skill produces are what goal-monitor scores a session against.
161
+ - [`verification-loop`](./verification-loop.md): runs the per-project verify ladder. The criteria's verification methods feed its evidence step.
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: roast
3
+ tier: "2"
4
+ description: Enforces Law 1 (Research Before Executing) of the 7 Laws of AI Agent Discipline. Convene a 5-persona adversarial council (Contrarian, Expansionist, Logician, Researcher, Buyer) that attacks an idea from every angle, then a Judge returns one GO / RESHAPE / KILL verdict plus the cheapest 48-hour test to de-risk it — so you pressure-test an idea before sinking time into building the wrong thing.
5
+ origin: continuous-improvement
6
+ user-invocable: true
7
+ argument-hint: "[the idea to roast]"
8
+ ---
9
+
10
+ # /roast — Convene the council before you build
11
+
12
+ Claude's default is to agree with you. `/roast` is the opposite. Law 1 says research before executing — and the cheapest, most-skipped research is an honest adversarial read of the idea *itself* before any plan or code exists. This skill convenes a council of five independent persona agents who tear an idea apart and build it up from every angle, then a Judge synthesizes everything into one decisive verdict.
13
+
14
+ The council is adversarial on purpose. No persona is allowed to hedge or be polite. The point is to surface what you can't see because you're too close to it — and to do it in an hour, not after a month of building.
15
+
16
+ Adapted from the community `/roast` idea-council pattern and reshaped as a continuous-improvement-native Law 1 skill.
17
+
18
+ ## When to activate
19
+
20
+ - Before you sink time or money into building something — a product, a feature, a business, a bet.
21
+ - When you catch yourself (or the agent) agreeing with a plan that has never been attacked.
22
+ - The user types `/roast`, "roast this idea", "convene the council", "pressure-test this", "stress-test this idea", "validate this business idea", or "give me a brutal second opinion".
23
+ - A `/proceed-with-the-recommendation` walk is about to start but the *premise* underneath the recommendation list was never challenged.
24
+
25
+ ## Step 1: Get the brief
26
+
27
+ If `$ARGUMENTS` contains the idea, start there. Then ask a tight set of clarifying questions so the council judges something real. Ask only what hasn't already been provided — 3-4 questions max, in **one batch**:
28
+
29
+ 1. **The idea** in one or two sentences (what it is, what it does).
30
+ 2. **Who it's for** and **how it makes money** (the buyer + the price/model).
31
+ 3. **Your edge** — relevant skills, audience, or assets you already have.
32
+ 4. **Constraints** — budget, timeline, how fast you need the first dollar.
33
+
34
+ If the user says "just run it" or has already given you enough, skip the questions and proceed. Don't over-interrogate — one round, then convene.
35
+
36
+ Write the brief into a single short paragraph you will paste verbatim into every council member's prompt, so all five judge the same thing.
37
+
38
+ ## Step 2: Convene the council (5 agents, in parallel)
39
+
40
+ Spin up **all five agents in parallel in a single message** — one subagent each (`general-purpose`). Paste the same brief into each, then give it its persona mandate below.
41
+
42
+ Each council member must return: a one-line stance, their 3-5 sharpest points, the single most important thing the user must hear, and a 1-10 score on their own dimension (1 = walk away, 10 = no-brainer).
43
+
44
+ **1. The Contrarian (Red Team)**
45
+ > You are the Contrarian on an idea council. Assume this idea fails. Find the fatal flaws, the fastest way it dies, and the load-bearing assumptions that are probably wrong. Be ruthless and specific. No hedging, no "but it could work." Attack the weakest points. THE BRIEF: [brief]
46
+
47
+ **2. The Expansionist (Bull)**
48
+ > You are the Expansionist on an idea council. Make the strongest possible case FOR this idea. Find the biggest upside, the 10x version, the adjacent opportunities and unlock points the founder isn't seeing. Fight for the potential. Be specific about where the real money and leverage could be. THE BRIEF: [brief]
49
+
50
+ **3. The Logician (First principles)**
51
+ > You are the Logician on an idea council. Use NO outside research and NO web. Reason purely from first principles: does the core mechanism make sense, do the incentives line up, is the underlying logic sound, does the math even work in theory? Strip it to fundamentals and tell us if it holds together. THE BRIEF: [brief]
52
+
53
+ **4. The Researcher (Evidence)**
54
+ > You are the Researcher on an idea council. Use web search. Bring real-world evidence: who the existing competitors are, market size or demand signals, what comparable products charge, whether this is validated by what's already out there or contradicted by it. Cite what you find. Is the real world saying yes or no? THE BRIEF: [brief]
55
+
56
+ **5. The Buyer (Voice of customer)**
57
+ > You are the Buyer on an idea council. Role-play the exact target customer described in the brief. React as them, in first person. Would you actually pay for this? What's your real objection? What would make you choose a competitor or just do nothing instead? What price feels right, and what would make you say yes today? Be the honest, slightly skeptical customer, not a cheerleader. THE BRIEF: [brief]
58
+
59
+ ## Step 3: The Judge delivers the verdict
60
+
61
+ Once all five return, YOU act as the Judge. Read every council member's findings, weigh them, and synthesize one decisive verdict. Do not average the scores. Name the real tension between the personas and resolve it.
62
+
63
+ Fold in the **economics lens** yourself: rough pricing, realistic time-to-first-dollar, and whether the user can actually ship this fast given the edge they described.
64
+
65
+ Output the verdict in this exact shape:
66
+
67
+ ```
68
+ ## THE VERDICT: GO / RESHAPE / KILL
69
+ Confidence: [low / medium / high]
70
+
71
+ **The call in one line:** [the decision, plainly]
72
+
73
+ **Why:** [2-3 sentences resolving the council's tension]
74
+
75
+ **Biggest risk:** [the single thing most likely to kill it]
76
+ **Biggest upside:** [the strongest reason to do it]
77
+
78
+ **Money read:** [rough price, time-to-first-dollar, can they ship fast]
79
+
80
+ **The cheapest 48-hour test:** [the smallest, fastest thing they can do
81
+ to validate the riskiest assumption BEFORE building anything]
82
+
83
+ **If RESHAPE:** [the specific pivot that fixes the fatal flaw while keeping the upside]
84
+ ```
85
+
86
+ Then list the five council scores in one line: `Contrarian X/10 · Expansionist X/10 · Logician X/10 · Researcher X/10 · Buyer X/10`.
87
+
88
+ ## Rules
89
+
90
+ - Every persona stays in character. None of them hedges or softens. The value is in the friction.
91
+ - The Judge must make an actual call. "It depends" is not a verdict. Pick GO, RESHAPE, or KILL and own it.
92
+ - The cheapest 48-hour test is the most important output. It's how the user finds out if they're right without building the whole thing.
93
+ - Keep the final verdict skimmable. The council does the depth; the Judge does the decision.
94
+
95
+ ## How it fits the 7 Laws
96
+
97
+ | Law | Role of this skill |
98
+ |---|---|
99
+ | Law 1 (Research Before Executing) | The council **is** the research — five independent investigations of an idea's viability before a single line of code is written. |
100
+ | Law 2 (Plan Is Sacred) | The verdict's RESHAPE pivot and cheapest-test become the plan's first checkpoint instead of an invented default. |
101
+ | Law 4 (Verify Before Reporting) | The Judge must commit to a falsifiable GO / RESHAPE / KILL call — the anti-pattern is the hedge, "it depends." |
102
+
103
+ ## Pairs with
104
+
105
+ - [`grill-me`](./grill-me.md) — once roast says GO or RESHAPE, `grill-me` hardens the **plan**; roast validates the **idea**. Roast first, then grill.
106
+ - [`proceed-with-the-recommendation`](./proceed-with-the-recommendation.md) — walk the verdict's next steps (the cheapest test, the RESHAPE pivot) top-to-bottom under the 7 Laws.
107
+ - [`wild-risa-balance`](./wild-risa-balance.md) — the verdict is a recommendation; run it through the R-I-S-A filter before acting.
108
+ - [`gateguard`](./gateguard.md) — the runtime gate (`hooks/gateguard.mjs`) that fires when the validated idea finally turns into Edit/Write/Bash.