continuous-improvement 3.12.3 → 3.15.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-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +31 -1
- package/LICENSE +21 -21
- package/QUICKSTART.md +1 -1
- package/README.md +25 -5
- package/bin/analyze.sh +161 -161
- package/bin/backfill.mjs +19 -19
- package/bin/check-doc-runtime-claims.mjs +0 -0
- package/bin/check-docs-substrings.mjs +0 -0
- package/bin/check-everything-mirror.mjs +0 -0
- package/bin/check-routing-targets.mjs +0 -0
- package/bin/check-scripts-citation-drift.mjs +0 -0
- package/bin/check-skill-count.mjs +32 -1
- package/bin/check-skill-law-tag.mjs +0 -0
- package/bin/check-skill-mirror.mjs +0 -0
- package/bin/check-skill-tiers.mjs +0 -0
- package/bin/check-test-imports-only.mjs +1 -1
- package/bin/check-third-party-shape.mjs +0 -0
- package/bin/check-tool-count.mjs +0 -0
- package/bin/companion-preference-status.mjs +0 -0
- package/bin/gateguard-clear.mjs +0 -0
- package/bin/generate-plugin-manifests.mjs +2 -1
- package/bin/harvest-friction.mjs +0 -0
- package/bin/hook-stats.mjs +21 -21
- package/bin/install.mjs +74 -1
- package/bin/lint-transcript.mjs +0 -0
- package/bin/mcp-server.mjs +65 -8
- package/bin/observe.mjs +0 -0
- package/bin/plan-pack.mjs +77 -0
- package/bin/pre-commit-block-strays.sh +0 -0
- package/bin/refresh-third-party.mjs +0 -0
- package/bin/unified-cli.mjs +55 -410
- package/commands/continuous-improvement.md +115 -115
- package/commands/dashboard.md +56 -56
- package/commands/model-forward.md +13 -0
- package/commands/production-readiness-review.md +53 -0
- package/commands/seven-laws.md +16 -16
- package/commands/ship.md +57 -0
- package/commands/workspace-surface-audit.md +77 -77
- package/hooks/companion-preference.mjs +31 -19
- package/hooks/gateguard.mjs +38 -16
- package/hooks/goal-drift-stop.mjs +0 -0
- package/hooks/hook-pack.mjs +110 -0
- package/hooks/observe.sh +0 -0
- package/hooks/recall-briefing.mjs +0 -0
- package/hooks/route-prompt.mjs +0 -0
- package/hooks/session.sh +106 -106
- package/hooks/three-section-close.mjs +0 -0
- package/instinct-packs/go.json +58 -58
- package/instinct-packs/meta.json +16 -16
- package/instinct-packs/python.json +58 -58
- package/instinct-packs/react.json +58 -58
- package/lib/cli-anything.mjs +0 -0
- package/lib/gateguard-state.mjs +62 -13
- package/lib/goal-drift-gate.mjs +0 -0
- package/lib/goal-state.mjs +8 -4
- package/lib/hook-pack-gate.mjs +65 -0
- package/lib/install-targets.mjs +121 -0
- package/lib/observe-event.mjs +0 -0
- package/lib/plan-review-packet.mjs +96 -0
- package/lib/plugin-metadata.mjs +23 -2
- package/lib/pm-marketplace.mjs +0 -0
- package/lib/recall-briefing.mjs +0 -0
- package/lib/recall-index.mjs +0 -0
- package/lib/resolve-home-dir.mjs +0 -0
- package/lib/skill-distill.mjs +141 -0
- package/lib/skill-tiers.mjs +0 -0
- package/llms.txt +2 -2
- package/package.json +4 -3
- package/plugins/beginner.json +2 -2
- package/plugins/continuous-improvement/.claude-plugin/marketplace.json +2 -2
- package/plugins/continuous-improvement/.claude-plugin/plugin.json +2 -2
- package/plugins/continuous-improvement/LICENSE +21 -21
- package/plugins/continuous-improvement/README.md +1 -1
- package/plugins/continuous-improvement/bin/backfill.mjs +19 -19
- package/plugins/continuous-improvement/bin/gateguard-clear.mjs +0 -0
- package/plugins/continuous-improvement/bin/mcp-server.mjs +65 -8
- package/plugins/continuous-improvement/bin/observe.mjs +0 -0
- package/plugins/continuous-improvement/commands/continuous-improvement.md +115 -115
- package/plugins/continuous-improvement/commands/dashboard.md +56 -56
- package/plugins/continuous-improvement/commands/model-forward.md +13 -0
- package/plugins/continuous-improvement/commands/production-readiness-review.md +53 -0
- package/plugins/continuous-improvement/commands/seven-laws.md +16 -16
- package/plugins/continuous-improvement/commands/ship.md +57 -0
- package/plugins/continuous-improvement/commands/workspace-surface-audit.md +77 -77
- package/plugins/continuous-improvement/hooks/companion-preference.mjs +31 -19
- package/plugins/continuous-improvement/hooks/gateguard.mjs +38 -16
- package/plugins/continuous-improvement/hooks/goal-drift-stop.mjs +0 -0
- package/plugins/continuous-improvement/hooks/hook-pack.mjs +110 -0
- package/plugins/continuous-improvement/hooks/hooks.json +10 -0
- package/plugins/continuous-improvement/hooks/observe.sh +0 -0
- package/plugins/continuous-improvement/hooks/recall-briefing.mjs +0 -0
- package/plugins/continuous-improvement/hooks/route-prompt.mjs +0 -0
- package/plugins/continuous-improvement/hooks/session.sh +106 -106
- package/plugins/continuous-improvement/hooks/three-section-close.mjs +0 -0
- package/plugins/continuous-improvement/instinct-packs/go.json +58 -58
- package/plugins/continuous-improvement/instinct-packs/meta.json +16 -16
- package/plugins/continuous-improvement/instinct-packs/python.json +58 -58
- package/plugins/continuous-improvement/instinct-packs/react.json +58 -58
- package/plugins/continuous-improvement/lib/gateguard-state.mjs +62 -13
- package/plugins/continuous-improvement/lib/goal-drift-gate.mjs +0 -0
- package/plugins/continuous-improvement/lib/goal-state.mjs +8 -4
- package/plugins/continuous-improvement/lib/hook-pack-gate.mjs +65 -0
- package/plugins/continuous-improvement/lib/observe-event.mjs +0 -0
- package/plugins/continuous-improvement/lib/plugin-metadata.mjs +23 -2
- package/plugins/continuous-improvement/lib/recall-briefing.mjs +0 -0
- package/plugins/continuous-improvement/lib/recall-index.mjs +0 -0
- package/plugins/continuous-improvement/lib/resolve-home-dir.mjs +0 -0
- package/plugins/continuous-improvement/lib/skill-distill.mjs +141 -0
- package/plugins/continuous-improvement/skills/README.md +1 -1
- package/plugins/continuous-improvement/skills/gateguard/SKILL.md +4 -4
- package/plugins/continuous-improvement/skills/goal-monitor/SKILL.md +1 -1
- package/plugins/continuous-improvement/skills/handoff/SKILL.md +0 -1
- package/plugins/continuous-improvement/skills/model-forward/SKILL.md +44 -0
- package/plugins/continuous-improvement/skills/tdd-workflow/SKILL.md +411 -411
- package/plugins/expert.json +5 -1
- package/skills/README.md +4 -2
- package/skills/gateguard.md +4 -4
- package/skills/goal-monitor.md +1 -1
- package/skills/handoff.md +0 -1
- package/skills/model-forward.md +44 -0
- package/skills/tdd-workflow.md +411 -411
- package/lib/compound-engineering.mjs +0 -831
- package/lib/pm-skills.mjs +0 -1274
- package/lib/unified-plugin.mjs +0 -924
- package/plugins/continuous-improvement/skills/para-memory-files/SKILL.md +0 -108
- package/skills/para-memory-files.md +0 -108
package/plugins/expert.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "continuous-improvement",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.15.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": [
|
|
@@ -75,6 +75,10 @@
|
|
|
75
75
|
{
|
|
76
76
|
"name": "ci_distill_promote",
|
|
77
77
|
"what": "Promote an edited draft into a live instinct"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "ci_distill_from_workflow",
|
|
81
|
+
"what": "Draft a reusable instinct from a verified Workflow run"
|
|
78
82
|
}
|
|
79
83
|
],
|
|
80
84
|
"setup": {
|
package/skills/README.md
CHANGED
|
@@ -18,10 +18,12 @@ These add concrete enforcement to the 7 Laws. Tier-1 skills are the always-on mi
|
|
|
18
18
|
|
|
19
19
|
| Skill | What it does | Pairs with which Law |
|
|
20
20
|
|-------|--------------|----------------------|
|
|
21
|
-
| `
|
|
22
|
-
| `verification-loop` | Six-phase verification (build, types, lint, tests, security, diff) with a structured PASS/FAIL report | Law 4 (Verify Before Reporting) |
|
|
21
|
+
| `deploy-receipt` | Deploy verification receipt — SHA-match + healthcheck proof that what merged is what's live, closing the merged-but-not-deployed gap | Law 4 (Verify Before Reporting) |
|
|
23
22
|
| `gateguard` | PreToolUse fact-forcing gate that blocks Edit/Write/destructive Bash until concrete investigation is presented | Law 1 (Research) |
|
|
23
|
+
| `model-forward` | Standing stance: go with Claude Code and the model, not against it — skills are scaffolding that merges into the model; the durable core is goal-driven execution + guardrails | All 7 Laws (stance) |
|
|
24
|
+
| `recall` | BM25 search over the observation log so "have I hit this before?" is answerable before re-deriving a fix | Law 1 (Research) |
|
|
24
25
|
| `tdd-workflow` | RED→GREEN→REFACTOR enforcement, 80%+ coverage gate across unit/integration/E2E | Law 3 (One Thing), Law 4 (Verify) |
|
|
26
|
+
| `verification-loop` | Six-phase verification (build, types, lint, tests, security, diff) with a structured PASS/FAIL report | Law 4 (Verify Before Reporting) |
|
|
25
27
|
|
|
26
28
|
## Tier 2 — additional skills for **expert** mode
|
|
27
29
|
|
package/skills/gateguard.md
CHANGED
|
@@ -136,7 +136,7 @@ This gate is what catches the squash-merge / ahead-of-origin trap recorded in th
|
|
|
136
136
|
|
|
137
137
|
### Today: runtime hook + skill (zero install beyond the plugin)
|
|
138
138
|
|
|
139
|
-
`hooks/gateguard.mjs` is bundled with this plugin and wired as the first PreToolUse hook in `plugins/continuous-improvement/hooks/hooks.json`. When you install the plugin, the runtime gate is live — no extra config, no opt-in. The hook reads tool input from stdin, classifies it through a data-driven routing table (Read/Grep/Glob → allow, Write/Edit/MultiEdit → mutating-file gate, Bash → destructive-pattern check), and emits `{decision, reason?}` on stdout. Per-session state lives at `~/.claude/instincts/<project-hash>/gateguard-session.json` (
|
|
139
|
+
`hooks/gateguard.mjs` is bundled with this plugin and wired as the first PreToolUse hook in `plugins/continuous-improvement/hooks/hooks.json`. When you install the plugin, the runtime gate is live — no extra config, no opt-in. The hook reads tool input from stdin, classifies it through a data-driven routing table (Read/Grep/Glob → allow, Write/Edit/MultiEdit → mutating-file gate, Bash → destructive-pattern check), and emits `{decision, reason?}` on stdout. Per-session state lives at `~/.claude/instincts/<project-hash>/sessions/<session-id>/gateguard-session.json` — scoped by the stdin `session_id` so the cap never bleeds across concurrent sessions (it falls back to the unscoped `<project-hash>/` dir when no session id is present, and `GATEGUARD_SESSION_DIR` overrides it for tests). The cap is `MAX_CLEARED_FILES = 50` per session, and the state self-heals after `STATE_TTL_MS` so a stale gate never needs a manual `rm`.
|
|
140
140
|
|
|
141
141
|
Smoke-test the runtime gate after install: ask Claude to write a throwaway file with no research first. The hook should return a `block` decision with a fact-list reason; Claude should pause rather than write.
|
|
142
142
|
|
|
@@ -150,10 +150,10 @@ The block reason prints the exact `gateguard-session.json` path and the clearanc
|
|
|
150
150
|
|
|
151
151
|
The inline `_gateguard_facts_presented: true` retry still works on harnesses that forward unknown tool params, but Claude Code's strict tool schema (`additionalProperties: false`) rejects it with `InputValidationError` — use one of the above on Claude Code.
|
|
152
152
|
|
|
153
|
-
###
|
|
153
|
+
### Limitations and guarantees
|
|
154
154
|
|
|
155
|
-
- **Honor system.** Clearance is recorded by `ci_gateguard_clear`, the `gateguard-clear.mjs` CLI, a manual state-file write, or the inline `_gateguard_facts_presented` flag where the harness allows it (see "Clearing the gate" above). The hook can't verify the investigation actually happened; the 50-file cap bounds damage from stuck loops or rogue agents.
|
|
156
|
-
- **State-file deletion.** `rm`-ing the session state resets every gate.
|
|
155
|
+
- **Honor system.** Clearance is recorded by `ci_gateguard_clear`, the `gateguard-clear.mjs` CLI, a manual state-file write, or the inline `_gateguard_facts_presented` flag where the harness allows it (see "Clearing the gate" above). The hook can't verify the investigation actually happened; the 50-file cap — counted per session — bounds damage from stuck loops or rogue agents.
|
|
156
|
+
- **State-file deletion / self-heal.** `rm`-ing the session state resets every gate. Because state is scoped per session (`sessions/<session-id>/`), the session is a real trust boundary, not one shared across concurrent runs. A stale state file also self-heals once its `created_at` ages past `STATE_TTL_MS`, so a manual `rm` is rarely needed.
|
|
157
157
|
- **Parallel-hook race.** Two simultaneous hook invocations can race the read+write of the state file. Acceptable trade-off vs Windows atomic-rename complexity.
|
|
158
158
|
|
|
159
159
|
**MultiEdit per-file gating.** The hook clears and checks every `edits[]` path individually, so a mixed-clearance batch blocks until *all* edited files are cleared or facts are presented. The block reason now names the whole batch, not just the first uncleared path.
|
package/skills/goal-monitor.md
CHANGED
|
@@ -77,5 +77,5 @@ ci_goal_check goal_file=docs/x.md # score against a specific plan file
|
|
|
77
77
|
## Pairs With
|
|
78
78
|
|
|
79
79
|
- **`proceed-with-the-recommendation`** (orchestrator, Law 2) — run a goal check at phase boundaries to confirm the plan still matches the work.
|
|
80
|
-
-
|
|
80
|
+
- **planning-with-files** — the `## Goal` section this skill reads is the same one that workflow writes.
|
|
81
81
|
- **`strategic-compact`** — before compacting a long session, a goal check confirms what the session was actually about.
|
package/skills/handoff.md
CHANGED
|
@@ -51,7 +51,6 @@ Anything that is already captured elsewhere gets a path or URL pointer, not a du
|
|
|
51
51
|
## Companion / alternative skills
|
|
52
52
|
|
|
53
53
|
- [`strategic-compact`](./strategic-compact.md) — compact the current session at a phase boundary instead of writing a handoff doc. Use when the session continues with the same agent.
|
|
54
|
-
- [`para-memory-files`](./para-memory-files.md) — durable cross-session memory under `~/.claude/memory/`. Use for classified facts (user, project, feedback, reference), not per-session handoff briefs.
|
|
55
54
|
- `superpowers:writing-plans` — produce the plan doc the handoff can reference instead of duplicating.
|
|
56
55
|
|
|
57
56
|
## Attribution
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: model-forward
|
|
3
|
+
tier: "1"
|
|
4
|
+
description: Enforces all 7 Laws as a standing stance — go with Claude Code and the model, not against it. Skills are scaffolding that merges into the model over time; the durable core is goal-driven execution (the higher the stated goal, the better) plus self-discipline guardrails.
|
|
5
|
+
origin: continuous-improvement
|
|
6
|
+
user-invocable: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Model-Forward Skill
|
|
10
|
+
|
|
11
|
+
The standing mental model for every session: **always go with Claude — not against it — until the user says otherwise.**
|
|
12
|
+
|
|
13
|
+
Models improve continuously. Mechanics that skills hand-hold today (planning etiquette, routing, verification reminders) keep merging into the model itself. Betting against that trend produces scaffolding that fights the harness. Betting with it keeps only what stays valuable as models get smarter.
|
|
14
|
+
|
|
15
|
+
## The Two Invariants
|
|
16
|
+
|
|
17
|
+
Everything in continuous-improvement reduces to two things that survive every model generation:
|
|
18
|
+
|
|
19
|
+
1. **Goal-driven execution.** Anchor on the highest stated goal — the higher the goal, the better the execution. Tie every change to it, refuse scope creep, stop when it is met. (Laws 2, 3, 4, 6.)
|
|
20
|
+
2. **Self-discipline / guardrails.** Research before executing, verify before reporting, reflect and learn after. Guardrails are how an agent earns autonomy. (Laws 1, 4, 5, 7.)
|
|
21
|
+
|
|
22
|
+
Skill mechanics are scaffolding around those two. The invariants are the product; the scaffolding is replaceable.
|
|
23
|
+
|
|
24
|
+
## Decision Rules
|
|
25
|
+
|
|
26
|
+
| Situation | Model-forward call |
|
|
27
|
+
|---|---|
|
|
28
|
+
| A native Claude Code feature now covers what a custom skill or hook does | Prefer the native path; propose retiring the scaffold instead of maintaining a parallel one |
|
|
29
|
+
| A skill's instructions conflict with current Claude Code best practice | Follow Claude Code best practice; flag the skill for update |
|
|
30
|
+
| Tempted to add scaffolding to compensate for a model weakness | First confirm the current model still has that weakness; do not patch yesterday's model |
|
|
31
|
+
| A guardrail keeps firing on behavior the model no longer exhibits | Propose loosening or retiring it — stacking stale guardrails is also drift |
|
|
32
|
+
| The user explicitly says to go against a default | The user wins. "Until said otherwise" is the contract. |
|
|
33
|
+
|
|
34
|
+
Never retire a guardrail unilaterally — retiring scaffolding is a proposal to the operator, not a silent action. The bias points toward the model; the authority stays with the user.
|
|
35
|
+
|
|
36
|
+
## Harness Portability
|
|
37
|
+
|
|
38
|
+
This stance is harness-agnostic state. Agents beyond Claude Code that import continuous-improvement skills — Hermes- and OpenClaw-class harnesses included — adopt the same mental model: native capability first, two invariants always, scaffolding only where the current model demonstrably needs it.
|
|
39
|
+
|
|
40
|
+
## What This Skill Is Not
|
|
41
|
+
|
|
42
|
+
- Not a license to skip the Laws — the invariants are the part that never merges away.
|
|
43
|
+
- Not an auto-update mechanism — it changes posture, not files.
|
|
44
|
+
- Not a reason to drop verification: "the model is probably right" is still a "should work" claim until checked (Law 4).
|