continuous-improvement 3.9.2 → 3.11.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 +61 -0
- package/QUICKSTART.md +13 -8
- package/README.md +84 -153
- package/bin/backfill.mjs +0 -0
- package/bin/check-doc-runtime-claims.mjs +0 -0
- package/bin/check-docs-substrings.mjs +73 -0
- package/bin/check-everything-mirror.mjs +0 -0
- package/bin/check-routing-targets.mjs +0 -0
- package/bin/check-scripts-citation-drift.mjs +210 -0
- package/bin/check-skill-count.mjs +110 -0
- 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 +126 -0
- package/bin/check-third-party-shape.mjs +0 -0
- package/bin/companion-preference-status.mjs +231 -0
- package/bin/gateguard-clear.mjs +53 -0
- package/bin/generate-plugin-manifests.mjs +7 -1
- package/bin/harvest-friction.mjs +0 -0
- package/bin/hook-stats.mjs +0 -0
- package/bin/install.mjs +182 -26
- package/bin/lint-transcript.mjs +0 -0
- package/bin/mcp-server.mjs +215 -2
- package/bin/observe.mjs +0 -0
- package/bin/pre-commit-block-strays.sh +0 -0
- package/bin/refresh-third-party.mjs +315 -313
- package/bin/unified-cli.mjs +0 -0
- package/commands/audit.md +34 -0
- package/commands/companion-preference.md +58 -0
- package/commands/discipline.md +14 -0
- package/commands/distill.md +39 -0
- package/commands/goal-check.md +53 -0
- package/commands/grill-me.md +40 -0
- package/commands/grill-with-docs.md +38 -0
- package/commands/handoff.md +42 -0
- package/commands/proceed-with-the-recommendation.md +20 -0
- package/commands/recall.md +49 -0
- package/commands/reconcile.md +47 -0
- package/commands/superpowers.md +2 -2
- package/commands/verify-install.md +55 -0
- package/hooks/companion-preference.mjs +190 -0
- package/hooks/gateguard.mjs +60 -25
- package/hooks/goal-drift-stop.mjs +183 -0
- package/hooks/observe.sh +15 -1
- package/hooks/route-prompt.mjs +180 -0
- package/hooks/route-table.json +35 -0
- package/hooks/three-section-close.mjs +134 -132
- package/lib/cli-anything.mjs +0 -0
- package/lib/compound-engineering.mjs +0 -0
- package/lib/gateguard-state.mjs +54 -2
- package/lib/goal-drift-gate.mjs +50 -0
- package/lib/goal-state.mjs +285 -0
- package/lib/observe-event.mjs +0 -0
- package/lib/plugin-metadata.mjs +126 -12
- package/lib/pm-marketplace.mjs +0 -0
- package/lib/pm-skills.mjs +0 -0
- package/lib/recall-index.mjs +175 -0
- package/lib/resolve-home-dir.mjs +0 -0
- package/lib/skill-distill.mjs +222 -0
- package/lib/skill-tiers.mjs +0 -0
- package/lib/unified-plugin.mjs +0 -0
- package/llms.txt +1 -1
- package/package.json +11 -7
- package/plugins/beginner.json +8 -3
- package/plugins/continuous-improvement/.claude-plugin/marketplace.json +2 -2
- package/plugins/continuous-improvement/.claude-plugin/plugin.json +2 -2
- package/plugins/continuous-improvement/agents/README.md +2 -2
- package/plugins/continuous-improvement/bin/backfill.mjs +0 -0
- package/plugins/continuous-improvement/bin/gateguard-clear.mjs +53 -0
- package/plugins/continuous-improvement/bin/mcp-server.mjs +215 -2
- package/plugins/continuous-improvement/bin/observe.mjs +0 -0
- package/plugins/continuous-improvement/commands/audit.md +34 -0
- package/plugins/continuous-improvement/commands/companion-preference.md +58 -0
- package/plugins/continuous-improvement/commands/discipline.md +14 -0
- package/plugins/continuous-improvement/commands/distill.md +39 -0
- package/plugins/continuous-improvement/commands/goal-check.md +53 -0
- package/plugins/continuous-improvement/commands/grill-me.md +40 -0
- package/plugins/continuous-improvement/commands/grill-with-docs.md +38 -0
- package/plugins/continuous-improvement/commands/handoff.md +42 -0
- package/plugins/continuous-improvement/commands/proceed-with-the-recommendation.md +20 -0
- package/plugins/continuous-improvement/commands/recall.md +49 -0
- package/plugins/continuous-improvement/commands/reconcile.md +47 -0
- package/plugins/continuous-improvement/commands/superpowers.md +2 -2
- package/plugins/continuous-improvement/commands/verify-install.md +55 -0
- package/plugins/continuous-improvement/hooks/companion-preference.mjs +190 -0
- package/plugins/continuous-improvement/hooks/gateguard.mjs +60 -25
- package/plugins/continuous-improvement/hooks/goal-drift-stop.mjs +183 -0
- package/plugins/continuous-improvement/hooks/hooks.json +18 -2
- package/plugins/continuous-improvement/hooks/observe.sh +15 -1
- package/plugins/continuous-improvement/hooks/route-prompt.mjs +180 -0
- package/plugins/continuous-improvement/hooks/route-table.json +35 -0
- package/plugins/continuous-improvement/hooks/three-section-close.mjs +134 -132
- package/plugins/continuous-improvement/lib/gateguard-state.mjs +137 -0
- package/plugins/continuous-improvement/lib/goal-drift-gate.mjs +50 -0
- package/plugins/continuous-improvement/lib/goal-state.mjs +285 -0
- package/plugins/continuous-improvement/lib/observe-event.mjs +0 -0
- package/plugins/continuous-improvement/lib/plugin-metadata.mjs +126 -12
- package/plugins/continuous-improvement/lib/recall-index.mjs +175 -0
- package/plugins/continuous-improvement/lib/resolve-home-dir.mjs +0 -0
- package/plugins/continuous-improvement/lib/skill-distill.mjs +222 -0
- package/plugins/continuous-improvement/skills/README.md +8 -0
- package/plugins/continuous-improvement/skills/audit/SKILL.md +73 -0
- package/plugins/continuous-improvement/skills/deploy-receipt/SKILL.md +13 -17
- package/plugins/continuous-improvement/skills/gateguard/SKILL.md +36 -17
- package/plugins/continuous-improvement/skills/goal-monitor/SKILL.md +81 -0
- package/plugins/continuous-improvement/skills/grill-me/SKILL.md +66 -0
- package/plugins/continuous-improvement/skills/grill-with-docs/SKILL.md +252 -0
- package/plugins/continuous-improvement/skills/handoff/SKILL.md +59 -0
- package/plugins/continuous-improvement/skills/para-memory-files/SKILL.md +1 -1
- package/plugins/continuous-improvement/skills/proceed-with-the-recommendation/SKILL.md +82 -6
- package/plugins/continuous-improvement/skills/ralph/SKILL.md +1 -0
- package/plugins/continuous-improvement/skills/recall/SKILL.md +50 -0
- package/plugins/continuous-improvement/skills/reconcile/SKILL.md +80 -0
- package/plugins/continuous-improvement/skills/recovery-classification/SKILL.md +1 -0
- package/plugins/continuous-improvement/skills/safety-guard/SKILL.md +1 -0
- package/plugins/continuous-improvement/skills/skill-distillation/SKILL.md +57 -0
- package/plugins/continuous-improvement/skills/state-reconciliation/SKILL.md +1 -0
- package/plugins/continuous-improvement/skills/strategic-compact/SKILL.md +1 -0
- package/plugins/continuous-improvement/skills/superpowers/SKILL.md +76 -2
- package/plugins/continuous-improvement/skills/token-budget-advisor/SKILL.md +1 -1
- package/plugins/continuous-improvement/skills/verification-loop/SKILL.md +28 -20
- package/plugins/continuous-improvement/skills/wild-risa-balance/SKILL.md +1 -0
- package/plugins/continuous-improvement/skills/workspace-surface-audit/SKILL.md +1 -1
- package/plugins/continuous-improvement/skills/worktree-safety/SKILL.md +3 -2
- package/plugins/expert.json +27 -2
- package/skills/README.md +3 -0
- package/skills/audit.md +73 -0
- package/skills/deploy-receipt.md +13 -17
- package/skills/gateguard.md +36 -17
- package/skills/goal-monitor.md +81 -0
- package/skills/grill-me.md +66 -0
- package/skills/grill-with-docs.md +252 -0
- package/skills/handoff.md +59 -0
- package/skills/para-memory-files.md +1 -1
- package/skills/proceed-with-the-recommendation.md +82 -6
- package/skills/ralph.md +1 -0
- package/skills/recall.md +50 -0
- package/skills/reconcile.md +80 -0
- package/skills/recovery-classification.md +1 -0
- package/skills/safety-guard.md +1 -0
- package/skills/skill-distillation.md +57 -0
- package/skills/state-reconciliation.md +1 -0
- package/skills/strategic-compact.md +1 -0
- package/skills/superpowers.md +76 -2
- package/skills/token-budget-advisor.md +1 -1
- package/skills/verification-loop.md +28 -20
- package/skills/wild-risa-balance.md +1 -0
- package/skills/workspace-surface-audit.md +1 -1
- package/skills/worktree-safety.md +3 -2
package/bin/unified-cli.mjs
CHANGED
|
File without changes
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit
|
|
3
|
+
description: Audit a window of recent commits for real defects, confirm each finding before fixing, verify every surface a fix touches, then report confirmed/dismissed/no-op with evidence. Enforces Law 4 (Verify Before Reporting).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /audit — Confirm Recent Commits Before You Trust Them
|
|
7
|
+
|
|
8
|
+
Run the audit-driven loop over recent work: a merged commit with green CI is a claim, not a proof.
|
|
9
|
+
|
|
10
|
+
## What it does
|
|
11
|
+
|
|
12
|
+
Takes a commit window, hunts for real defects one concern at a time, proves each finding against the actual code (false positives die before any edit), fixes on a branch with the smallest diff, verifies every surface the fix touches, and reports honestly. Backed by the `audit` skill.
|
|
13
|
+
|
|
14
|
+
## The loop
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
1. Scope git log to pick the window (e.g. HEAD~10..HEAD, or main since last release)
|
|
18
|
+
2. Find one pass per dimension: value/economy drift, concurrency, surface coverage, type/contract
|
|
19
|
+
3. Confirm read the actual lines; state in one sentence why it is real, or dismiss it
|
|
20
|
+
4. Fix one concern per commit; prefer a failing test first, then green
|
|
21
|
+
5. Verify exercise EVERY surface (backend, frontend, admin, cache, migration), not just the edited one
|
|
22
|
+
6. Report confirmed (with the proof), dismissed (with why), no-op (in scope, nothing to change)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Default skeptical
|
|
26
|
+
|
|
27
|
+
Findings are hypotheses. Default each to a false positive until the code proves the bug — defaulting to "real" is how plausible-but-wrong fixes ship. For a thorough audit, fan the find pass out across dimensions with parallel reviewers, then verify each survivor adversarially.
|
|
28
|
+
|
|
29
|
+
## Pairs with
|
|
30
|
+
|
|
31
|
+
- **`audit`** skill — the discipline this command runs.
|
|
32
|
+
- **`code-review`** / **`security-review`** — the per-dimension passes.
|
|
33
|
+
- **`reconcile`** — the safe branch→PR path once the audit produces a fix.
|
|
34
|
+
- **`recall`** — check whether a finding was already hit and fixed before.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: companion-preference
|
|
3
|
+
description: Inspect companion-preference hook telemetry — counts by CI skill, action breakdown, and companion-installed%.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /companion-preference
|
|
7
|
+
|
|
8
|
+
Read and aggregate the JSONL telemetry written by `hooks/companion-preference.mjs`. Reports per-skill totals, action breakdown (`observation`, `advisory`, `block`, `block-not-installed`), and the share of events where the companion plugin was installed at the time.
|
|
9
|
+
|
|
10
|
+
The dataset is the evidence base for a future `companions-first` default-flip decision — once a 7-day shadow shows the `companions-first` path firing on a meaningful share of routed Skill calls, with companions installed in the majority of them, the flip is grounded.
|
|
11
|
+
|
|
12
|
+
## Trigger phrases
|
|
13
|
+
|
|
14
|
+
- `/companion-preference`
|
|
15
|
+
- `/companion-preference status`
|
|
16
|
+
- "show companion preference stats"
|
|
17
|
+
- "what does the companion-preference hook see"
|
|
18
|
+
|
|
19
|
+
## What happens
|
|
20
|
+
|
|
21
|
+
1. Run `node bin/companion-preference-status.mjs` from the repo root with the operator's chosen window. Default `--days 7`. Pass `--all` for the entire file or `--days N` for a different window.
|
|
22
|
+
2. Render the table the CLI emits to the user verbatim. Do not paraphrase the numbers — the JSONL is authoritative.
|
|
23
|
+
3. If the CLI prints "no telemetry recorded yet," check three things in order: (a) `~/.claude/settings.json` has `continuous_improvement.companion_preference` set (otherwise the hook is a no-op and writes nothing); (b) the user has invoked at least one mapped CI skill (`tdd-workflow`, `verification-loop`, `context-budget`, `ralph`, `learn-eval`) since the hook landed; (c) the hook's PreToolUse registration is intact in `plugins/continuous-improvement/hooks/hooks.json`.
|
|
24
|
+
4. Offer one decision-ready next step based on the totals — e.g., "ratio of `observation` rows with `companion_installed=true` suggests `companions-first` is safe to flip for X but not Y."
|
|
25
|
+
|
|
26
|
+
## Subcommands
|
|
27
|
+
|
|
28
|
+
### `/companion-preference status` (default)
|
|
29
|
+
|
|
30
|
+
Same as `/companion-preference`.
|
|
31
|
+
|
|
32
|
+
### `/companion-preference status --json`
|
|
33
|
+
|
|
34
|
+
Emit the machine-readable JSON report. Useful when you want to pipe the output into another tool or write your own aggregator.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node bin/companion-preference-status.mjs --json --all
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## CLI flags
|
|
41
|
+
|
|
42
|
+
| Flag | Effect |
|
|
43
|
+
|---|---|
|
|
44
|
+
| `--days N` | Only count events from the last N days (default 7). |
|
|
45
|
+
| `--all` | Ignore the window; count every row in the file. |
|
|
46
|
+
| `--json` | Emit a machine-readable JSON report. |
|
|
47
|
+
| `--path <file>` | Override the default JSONL path. Used by the test suite; rarely needed in practice. |
|
|
48
|
+
| `-h`, `--help` | Print CLI help and exit. |
|
|
49
|
+
|
|
50
|
+
## Path resolution
|
|
51
|
+
|
|
52
|
+
By default the CLI reads `~/.claude/instincts/<project-hash>/companion-preference.jsonl`, where the hash is the same `sha256(projectRoot).slice(0, 12)` that the hook itself uses. The project root resolves via `CLAUDE_PROJECT_DIR` env var if set, else `git rev-parse --show-toplevel`, else the literal `"global"`. Hash and path scheme are reused verbatim from `hooks/companion-preference.mjs` to keep the read side aligned with the write side.
|
|
53
|
+
|
|
54
|
+
## Companion skills
|
|
55
|
+
|
|
56
|
+
- `hooks/companion-preference.mjs` — the writer that produces the JSONL this command reads.
|
|
57
|
+
- `skills/superpowers.md` § "Companion-Preference Override" — the broader contract for the setting this command's dataset measures.
|
|
58
|
+
- `commands/dashboard.md` — the broader continuous-improvement status surface; this command is the dispatcher-bias-specific narrower view.
|
package/commands/discipline.md
CHANGED
|
@@ -33,6 +33,20 @@ The Laws above are the *how*. These five principles are the *why*: code ships fr
|
|
|
33
33
|
|
|
34
34
|
Code is a liability, not an asset. Speed without these five turns into someone else's incident at 3am — except the someone is you.
|
|
35
35
|
|
|
36
|
+
## Goal-Driven Execution maps onto the Laws
|
|
37
|
+
|
|
38
|
+
"Goal-Driven Execution" is the operator's global principle #4 — tie every change to a stated goal, refuse scope creep, stop when the goal is met. It is not a separate Law here; it is the spine of four existing Laws:
|
|
39
|
+
|
|
40
|
+
| Sub-rule of Goal-Driven Execution | Lives in |
|
|
41
|
+
|---|---|
|
|
42
|
+
| Tie work to a stated goal; if none, ask | Law 2 — the `## Goal` in `task_plan.md` is the single source of truth |
|
|
43
|
+
| Catch drift away from that goal mid-session | Law 2 — the `goal-monitor` skill / `/goal-check` scores recent activity against the goal |
|
|
44
|
+
| Finish one thing; refuse "while I'm here" scope creep | Law 3 |
|
|
45
|
+
| Commit messages lead with the outcome, not the mechanism | Law 4 — "done" is an observed outcome |
|
|
46
|
+
| Iterate one change at a time toward the goal | Law 6 |
|
|
47
|
+
|
|
48
|
+
The `goal-monitor` primitive (`/goal-check`, `ci_goal_check`) is the measurable arm of this principle: it reads the `## Goal` section and reports ON GOAL / DRIFT / NO DATA. Run it at phase boundaries to confirm the work and the plan still agree.
|
|
49
|
+
|
|
36
50
|
## The Loop
|
|
37
51
|
|
|
38
52
|
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: distill
|
|
3
|
+
description: Distill repeated successful tool sequences from the observation log into reusable draft instincts, with an explicit propose-edit-promote ladder. Enforces Law 7 (Learn From Every Session).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /distill — Trajectory Distillation
|
|
7
|
+
|
|
8
|
+
Mine this project's observation log for tool sequences that recurred across multiple successful sessions, and turn the good ones into reusable instincts.
|
|
9
|
+
|
|
10
|
+
## What it does
|
|
11
|
+
|
|
12
|
+
Groups observations into trajectories, keeps the ones that ended in a passing verification, and finds tool-sequence n-grams that recurred across distinct sessions. Backed by the `ci_distill_candidates` / `ci_distill_propose` / `ci_distill_promote` MCP tools (expert mode) and the `skill-distillation` skill.
|
|
13
|
+
|
|
14
|
+
## The ladder
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
ci_distill_candidates # list patterns that qualify (read-only)
|
|
18
|
+
ci_distill_propose id=<id> # write a DRAFT (placeholder body) to drafts/<id>.yaml
|
|
19
|
+
# ... edit the draft body to capture the real recipe ...
|
|
20
|
+
ci_distill_promote id=<id> # promote to a live instinct at 0.5 confidence (SUGGEST)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Drafts never affect behavior until promoted. The draft starts at 0.4 confidence in a `drafts/` subdirectory the instinct loader ignores; promotion writes a live instinct at 0.5 (SUGGEST tier).
|
|
24
|
+
|
|
25
|
+
## Candidate criteria
|
|
26
|
+
|
|
27
|
+
- The trajectory must have ended in success (`verify-exit-0` or `reflection-pass`).
|
|
28
|
+
- The tool sequence must have recurred at least 3 times across at least 2 distinct sessions.
|
|
29
|
+
- A pattern repeated only within one session is rejected — that is repetition, not a reusable skill.
|
|
30
|
+
|
|
31
|
+
## Why the human edit step
|
|
32
|
+
|
|
33
|
+
A tool sequence is evidence, not a recipe. `Read → Edit → Bash → Edit → Bash` is a TDD loop, but the value is in the preconditions and concrete steps. Editing the draft body before promotion is the guard against fabricating confident skills from coincidental call ordering.
|
|
34
|
+
|
|
35
|
+
## Pairs with
|
|
36
|
+
|
|
37
|
+
- **`skill-distillation`** skill — the discipline this command runs.
|
|
38
|
+
- **`continuous-improvement`** (core SKILL.md, Law 7 — Learn From Every Session).
|
|
39
|
+
- **`recall`** — before promoting, check whether an existing instinct already covers the pattern.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: goal-check
|
|
3
|
+
description: Check whether recent tool activity still relates to the stated goal in task_plan.md, reporting a drift score and the top off-goal tool calls. Enforces Law 2 (Plan Is Sacred).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /goal-check — Goal Drift Check
|
|
7
|
+
|
|
8
|
+
Score this session's recent tool activity against the stated goal and report whether the work is still ON GOAL or has DRIFTed.
|
|
9
|
+
|
|
10
|
+
## What it does
|
|
11
|
+
|
|
12
|
+
Reads the `## Goal` section of `task_plan.md` (plus optional `## Goal Keywords` and `## Goal Scope` sections), scores the most recent observations from `~/.claude/instincts/<project-hash>/observations.jsonl`, and reports a drift score with the top off-goal tool calls. Backed by the `ci_goal_check` MCP tool (expert mode) and the `goal-monitor` skill.
|
|
13
|
+
|
|
14
|
+
## How to invoke
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
ci_goal_check # last 30 observations vs task_plan.md
|
|
18
|
+
ci_goal_check limit=50 # widen the observation window
|
|
19
|
+
ci_goal_check goal_file=docs/x.md # score against a specific plan file
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Goal source resolution order: `task_plan.md` in the project root, then `~/.claude/instincts/<project-hash>/goal.md`, then an explicit `goal_file`.
|
|
23
|
+
|
|
24
|
+
## Output shape
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
## Goal Check
|
|
28
|
+
|
|
29
|
+
**Goal source:** /home/me/repo/task_plan.md
|
|
30
|
+
|
|
31
|
+
**Status:** DRIFT
|
|
32
|
+
**Score:** 12% (1/8 matched, threshold 30%)
|
|
33
|
+
**Reason:** Only 1/8 recent observations relate to the goal (threshold 0.3).
|
|
34
|
+
**Goal keywords:** oauth, jwt, login, session
|
|
35
|
+
|
|
36
|
+
**Top off-goal activity (most recent 5):**
|
|
37
|
+
- [2026-05-28T12:01:00Z] Edit — src/marketing/landing.ts
|
|
38
|
+
- ...
|
|
39
|
+
|
|
40
|
+
_Drift detected. Either steer back to the goal, or update the `## Goal` section in your plan if the goal has legitimately changed._
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Acting on the result
|
|
44
|
+
|
|
45
|
+
- **ON GOAL** — the plan and the work agree; proceed.
|
|
46
|
+
- **DRIFT** — steer back to the goal, or update `## Goal` if it has legitimately changed. Keeping the plan and the work in disagreement is the Law 2 violation this command catches.
|
|
47
|
+
- **NO DATA** — the observation window is still filling; keep working.
|
|
48
|
+
|
|
49
|
+
## Pairs with
|
|
50
|
+
|
|
51
|
+
- **`goal-monitor`** skill — the discipline this command runs.
|
|
52
|
+
- **`continuous-improvement`** (core SKILL.md, Law 2 — Plan Is Sacred).
|
|
53
|
+
- **`planning-with-files`** — creates the `task_plan.md` whose `## Goal` section this command reads.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grill-me
|
|
3
|
+
description: "Interview the user relentlessly about a plan or design until shared understanding is reached. Ported from mattpocock/skills under MIT."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /grill-me
|
|
7
|
+
|
|
8
|
+
Stress-test the current plan or design by interviewing the user one question at a time, walking every branch of the decision tree, and recommending an answer for each.
|
|
9
|
+
|
|
10
|
+
## Trigger phrases
|
|
11
|
+
|
|
12
|
+
- `/grill-me`
|
|
13
|
+
- "grill me"
|
|
14
|
+
- "stress-test this plan"
|
|
15
|
+
- "interview me about this"
|
|
16
|
+
- "what am I missing?"
|
|
17
|
+
|
|
18
|
+
## What happens
|
|
19
|
+
|
|
20
|
+
1. Identify the current plan or design from the conversation — the high-level goal, the assumptions in play, the decisions already made.
|
|
21
|
+
2. Walk the decision tree top-down. For each unresolved branch, ask exactly **one question** with a **recommended answer**.
|
|
22
|
+
3. Before asking, check whether the codebase already answers the question (`grep`, `ls`, file reads). If it does, use that and skip the question.
|
|
23
|
+
4. Resolve dependencies in order — do not ask about deployment before the data model is pinned.
|
|
24
|
+
5. Stop when the plan is shippable cold to a fresh agent. Do not interview past the point of usefulness.
|
|
25
|
+
|
|
26
|
+
## Five interview rules
|
|
27
|
+
|
|
28
|
+
1. **One question at a time.** Never multi-question; force depth on every branch.
|
|
29
|
+
2. **Always recommend.** Every question carries "my answer would be X because Y".
|
|
30
|
+
3. **Explore before asking.** Code answers beat user-attention answers.
|
|
31
|
+
4. **Walk the tree, do not jump.** Order matters.
|
|
32
|
+
5. **Stop when shippable.** End state is a plan a fresh agent could execute, not an infinite interview.
|
|
33
|
+
|
|
34
|
+
## Skill file
|
|
35
|
+
|
|
36
|
+
Full behavior is defined in [`skills/grill-me.md`](../skills/grill-me.md). The verbatim upstream cold-storage copy lives at [`third-party/mattpocock-skills/skills/productivity/grill-me/SKILL.md`](../third-party/mattpocock-skills/skills/productivity/grill-me/SKILL.md); SHA pin in [`third-party/MANIFEST.md`](../third-party/MANIFEST.md).
|
|
37
|
+
|
|
38
|
+
## Attribution
|
|
39
|
+
|
|
40
|
+
Ported from [mattpocock/skills `productivity/grill-me`](https://github.com/mattpocock/skills/blob/main/skills/productivity/grill-me/SKILL.md) (MIT, © 2026 Matt Pocock).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grill-with-docs
|
|
3
|
+
description: "Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates CONTEXT.md + ADRs inline as decisions crystallise. Ported from mattpocock/skills under MIT."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /grill-with-docs
|
|
7
|
+
|
|
8
|
+
Stress-test the current plan or design by interviewing the user one question at a time AND updating the project's domain-language doc (`CONTEXT.md`) and architecture decision records (`docs/adr/`) inline as decisions land.
|
|
9
|
+
|
|
10
|
+
## Trigger phrases
|
|
11
|
+
|
|
12
|
+
- `/grill-with-docs`
|
|
13
|
+
- "grill me and update the docs"
|
|
14
|
+
- "stress-test this against our domain model"
|
|
15
|
+
- "let's nail down the language and ADR this"
|
|
16
|
+
|
|
17
|
+
## What happens
|
|
18
|
+
|
|
19
|
+
1. Read `CONTEXT.md` (or `CONTEXT-MAP.md` + per-context `CONTEXT.md`) and `docs/adr/` if they exist. Use them as the source of truth for project language and prior decisions.
|
|
20
|
+
2. Walk the decision tree top-down. One question at a time with a recommended answer.
|
|
21
|
+
3. Challenge fuzzy terms against the glossary. Sharpen vague language. Stress-test relationships with concrete scenarios. Cross-reference user statements against the code.
|
|
22
|
+
4. When a term is resolved, update `CONTEXT.md` immediately (lazy-create if missing). Use the format in the skill's Appendix A.
|
|
23
|
+
5. Offer an ADR only when all three are true: hard to reverse, surprising without context, result of a real trade-off. Use the format in Appendix B.
|
|
24
|
+
|
|
25
|
+
## When to fire this instead of `/grill-me`
|
|
26
|
+
|
|
27
|
+
| Skill | Use when |
|
|
28
|
+
|---|---|
|
|
29
|
+
| `/grill-me` | Conversation-only grilling; no project to update yet, or no docs convention. |
|
|
30
|
+
| `/grill-with-docs` | Project has `CONTEXT.md` or is ready to start one; decisions should persist past the session. |
|
|
31
|
+
|
|
32
|
+
## Skill file
|
|
33
|
+
|
|
34
|
+
Full behavior, format specs, and 7 Laws fit are defined in [`skills/grill-with-docs.md`](../skills/grill-with-docs.md). The verbatim upstream cold-storage copies live at [`third-party/mattpocock-skills/skills/engineering/grill-with-docs/`](../third-party/mattpocock-skills/skills/engineering/grill-with-docs/) (`SKILL.md`, `CONTEXT-FORMAT.md`, `ADR-FORMAT.md`); SHA pin in [`third-party/MANIFEST.md`](../third-party/MANIFEST.md).
|
|
35
|
+
|
|
36
|
+
## Attribution
|
|
37
|
+
|
|
38
|
+
Ported from [mattpocock/skills `engineering/grill-with-docs`](https://github.com/mattpocock/skills/blob/main/skills/engineering/grill-with-docs/SKILL.md) (MIT, © 2026 Matt Pocock). Mattpocock calls this his most powerful skill: "It's hard to explain how powerful this is. It might be the single coolest technique in this repo."
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: handoff
|
|
3
|
+
description: "Compact the current conversation into a handoff document for another agent to pick up. Ported from mattpocock/skills under MIT."
|
|
4
|
+
argument-hint: "What will the next session be used for?"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /handoff
|
|
8
|
+
|
|
9
|
+
Hand the current session off to a fresh agent by writing a brief, mktemp-backed markdown summary they can pick up cold.
|
|
10
|
+
|
|
11
|
+
## Trigger phrases
|
|
12
|
+
|
|
13
|
+
- `/handoff`
|
|
14
|
+
- `/handoff <what the next session will focus on>`
|
|
15
|
+
- "write a handoff doc"
|
|
16
|
+
- "compact this into a handoff"
|
|
17
|
+
|
|
18
|
+
## What happens
|
|
19
|
+
|
|
20
|
+
1. Read the current conversation (and the user's argument, if given) to identify the goal, current state, decisions made, open questions, next concrete step, and skills to load.
|
|
21
|
+
2. Generate a unique path with `mktemp -t handoff-XXXXXX.md` and read it (it will be empty).
|
|
22
|
+
3. Write the handoff doc to that path. Reference PRDs, plans, ADRs, issues, commits, and diffs by path or URL — do not duplicate their content.
|
|
23
|
+
4. Suggest the skills the next session should load.
|
|
24
|
+
|
|
25
|
+
## What goes in the doc
|
|
26
|
+
|
|
27
|
+
A one-screen brief, in this order:
|
|
28
|
+
|
|
29
|
+
1. **Goal** — one sentence on the outcome the user is steering toward.
|
|
30
|
+
2. **Current state** — what is actually true on disk / in the system right now.
|
|
31
|
+
3. **Decisions made this session** — only what is not already captured in commits or other artifacts.
|
|
32
|
+
4. **Open questions** — blocking choices the next agent needs the user to answer.
|
|
33
|
+
5. **Next concrete step** — the single action the next agent should take first.
|
|
34
|
+
6. **Skills to load** — names of the skills the next session should activate.
|
|
35
|
+
|
|
36
|
+
## Skill file
|
|
37
|
+
|
|
38
|
+
Full behavior is defined in [`skills/handoff.md`](../skills/handoff.md). The verbatim upstream cold-storage copy lives at [`third-party/mattpocock-skills/skills/in-progress/handoff/SKILL.md`](../third-party/mattpocock-skills/skills/in-progress/handoff/SKILL.md); SHA pin in [`third-party/MANIFEST.md`](../third-party/MANIFEST.md).
|
|
39
|
+
|
|
40
|
+
## Attribution
|
|
41
|
+
|
|
42
|
+
Ported from [mattpocock/skills `in-progress/handoff`](https://github.com/mattpocock/skills/blob/main/skills/in-progress/handoff/SKILL.md) (MIT, © 2026 Matt Pocock).
|
|
@@ -18,6 +18,26 @@ Invoke immediately after the agent has offered a numbered list of recommendation
|
|
|
18
18
|
- "execute the recommendations"
|
|
19
19
|
- "yes do it" / "all of them"
|
|
20
20
|
|
|
21
|
+
## Fast-path: `--once` mode
|
|
22
|
+
|
|
23
|
+
For a single-item, `safe`-tagged confirmation, append `--once` to skip P-MAG, Plan, Reflect, and the three-section close. Runs Phase 1 + Phase 3 + Phase 4 only and ends with one line: `Done: <item>. Verified: <check + output>.`
|
|
24
|
+
|
|
25
|
+
Trigger phrases:
|
|
26
|
+
|
|
27
|
+
- `/proceed-with-the-recommendation --once`
|
|
28
|
+
- `/proceed --once`
|
|
29
|
+
- "proceed once with that" / "just do that one"
|
|
30
|
+
- Any standard trigger phrase plus the literal `--once` suffix
|
|
31
|
+
|
|
32
|
+
Hard preconditions (the skill refuses `--once` and falls back to the full flow if any fail):
|
|
33
|
+
|
|
34
|
+
- Recommendation list has exactly one item
|
|
35
|
+
- Item is tagged `safe` (not `caution`, not `needs-approval`)
|
|
36
|
+
- Item touches ≤3 files, ≤150 LOC, and none of `.github/`, `bin/`, `lib/`, `src/`, `third-party/`
|
|
37
|
+
- Item is not destructive (no deploy, force-push, DB drop, secret rotation)
|
|
38
|
+
|
|
39
|
+
Full behavior is defined in [`skills/proceed-with-the-recommendation.md`](../skills/proceed-with-the-recommendation.md) under § "Fast-Path: `--once` Mode".
|
|
40
|
+
|
|
21
41
|
## What happens
|
|
22
42
|
|
|
23
43
|
1. **Pre-flight (Law 1)** — restate the recommendation list in original order, tag each `safe` / `caution` / `needs-approval`
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: recall
|
|
3
|
+
description: Search past tool-call observations with BM25 ranking to answer "have I seen this before?" before re-deriving a fix or repeating a mistake. Enforces Law 1 (Research Before Executing).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /recall — Episodic Search Over Past Sessions
|
|
7
|
+
|
|
8
|
+
Search this project's observation history for relevant prior activity and return the most relevant past tool calls, ranked.
|
|
9
|
+
|
|
10
|
+
## What it does
|
|
11
|
+
|
|
12
|
+
Builds an in-memory BM25 index over `~/.claude/instincts/<project-hash>/observations.jsonl` and returns the top matches with redacted snippets, relevance scores, and timestamps. Backed by the `ci_recall` MCP tool (expert mode) and the `recall` skill.
|
|
13
|
+
|
|
14
|
+
## How to invoke
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
ci_recall query="permission denied push" # top 5 matches
|
|
18
|
+
ci_recall query="jq command not found" k=3 # cap results
|
|
19
|
+
ci_recall query="auth login" since=7d # only the last 7 days
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`since` accepts an ISO timestamp or a relative window: `7d`, `24h`, `30m`.
|
|
23
|
+
|
|
24
|
+
## Output shape
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
## Recall: "permission denied push"
|
|
28
|
+
|
|
29
|
+
2 match(es), most relevant first:
|
|
30
|
+
|
|
31
|
+
- [2026-05-20T10:00:00Z] **Bash** (score 3.41)
|
|
32
|
+
…git push origin main Permission denied: harness blocked direct push to main…
|
|
33
|
+
- ...
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Privacy
|
|
37
|
+
|
|
38
|
+
Snippets are passed through a secret redactor (AWS keys, JWT-shaped triplets, bearer tokens, KEY/SECRET/TOKEN/PASSWORD assignments, long hex strings) before display.
|
|
39
|
+
|
|
40
|
+
## Notes
|
|
41
|
+
|
|
42
|
+
- **Lexical, not semantic** — search with the vocabulary that actually appeared in the tool calls; try several phrasings if the first returns nothing.
|
|
43
|
+
- Searches the full captured history, not just the recent window.
|
|
44
|
+
|
|
45
|
+
## Pairs with
|
|
46
|
+
|
|
47
|
+
- **`recall`** skill — the discipline this command runs.
|
|
48
|
+
- **`continuous-improvement`** (core SKILL.md, Law 1 — Research Before Executing).
|
|
49
|
+
- **`gateguard`** — recall a past failure before clearing a high-risk action.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reconcile
|
|
3
|
+
description: Establish git ground truth (branch, status, stashes, worktrees, ahead/behind) before any mutation, halt on protected or destructive operations, and verify a push actually landed. Enforces Law 1 (Research Before Executing).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /reconcile — Ground-Truth Git State Before You Touch It
|
|
7
|
+
|
|
8
|
+
Read the repo's real state before acting on it: a branch that shifted, a push that did not land, or another session mid-merge will burn a whole session if you assume instead of check.
|
|
9
|
+
|
|
10
|
+
## What it does
|
|
11
|
+
|
|
12
|
+
Snapshots the full git state in one pass, detects a concurrent writer, classifies the upstream relationship, then acts only on the known state — stopping at every operation that is hard to reverse. Backed by the `reconcile` skill.
|
|
13
|
+
|
|
14
|
+
## Establish ground truth
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
git branch --show-current
|
|
18
|
+
git status --porcelain=v1 # but trust git diff --stat for real drift (autocrlf)
|
|
19
|
+
git rev-list --left-right --count @{u}...HEAD # behind / ahead
|
|
20
|
+
git stash list
|
|
21
|
+
git worktree list
|
|
22
|
+
ls .git/MERGE_HEAD .git/rebase-merge .git/rebase-apply 2>/dev/null # in-progress op = another actor; do not race
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Then act, with gates
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
even -> safe to branch (confirm local base == origin/base first)
|
|
29
|
+
ahead -> push or PR, AFTER the protected-op gate
|
|
30
|
+
behind -> git pull --ff-only
|
|
31
|
+
diverged -> rebase/merge deliberately; never blind --force
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
STOP for authorization before: pushing to a protected branch (this repo = feature branch + PR, never direct push to main), `--force` / `--force-with-lease`, `reset --hard`, `clean -fd`, or removing a dirty worktree. Never stage with `git add -A` on a Windows autocrlf tree (it commits phantom line-ending-only changes) — stage by explicit filename.
|
|
35
|
+
|
|
36
|
+
## Verify the push landed
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
git ls-remote origin refs/heads/<branch> # remote tip must equal local HEAD, else it did not land
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Pairs with
|
|
43
|
+
|
|
44
|
+
- **`reconcile`** skill — the discipline this command runs.
|
|
45
|
+
- **`gateguard`** / **`safety-guard`** — runtime + destructive-op guardrails.
|
|
46
|
+
- **`recall`** — recall whether the same git op failed here before.
|
|
47
|
+
- **`audit`** — the loop that often produces the fix `reconcile` then ships.
|
package/commands/superpowers.md
CHANGED
|
@@ -7,9 +7,9 @@ description: "Law activator and dispatcher — route the task to the right Law-a
|
|
|
7
7
|
|
|
8
8
|
`/superpowers` is **the dispatcher**, not a peer skill. It does not do work itself; it routes each user task to the correct Law-aligned specialist so the right discipline fires automatically instead of the agent skipping a step.
|
|
9
9
|
|
|
10
|
-
The 7 Laws define *what* discipline must be applied. `/superpowers` decides *which specialist* enforces it for this specific task, across
|
|
10
|
+
The 7 Laws define *what* discipline must be applied. `/superpowers` decides *which specialist* enforces it for this specific task, across four sources installed from this marketplace.
|
|
11
11
|
|
|
12
|
-
## Routing surface (
|
|
12
|
+
## Routing surface (four sources)
|
|
13
13
|
|
|
14
14
|
| Source | Where it lives | Examples of what it routes to |
|
|
15
15
|
|---|---|---|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify-install
|
|
3
|
+
description: Walk the post-install verification in one shot — confirm slash commands loaded, the gateguard runtime hook fires, and observation capture is recording — then print a single ✓ wired / ✗ missing line.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /verify-install
|
|
7
|
+
|
|
8
|
+
Replaces the manual post-install dance (restart, run `/discipline`, hand-write a
|
|
9
|
+
hostile prompt, eyeball `/dashboard`) with one command that runs all three
|
|
10
|
+
checks and reports a single line.
|
|
11
|
+
|
|
12
|
+
Run the three checks **in order**. Do not skip a check because an earlier one
|
|
13
|
+
passed — each proves a different layer.
|
|
14
|
+
|
|
15
|
+
## Check 1 — slash commands loaded
|
|
16
|
+
|
|
17
|
+
If this command is executing, the marketplace did pick the plugin up and the
|
|
18
|
+
command registry loaded it. Record `commands: ✓`.
|
|
19
|
+
|
|
20
|
+
If you are reading this file directly rather than running it as `/verify-install`,
|
|
21
|
+
stop — the command is not registered. The fix is a Claude Code session restart
|
|
22
|
+
(slash commands load on session start). Record `commands: ✗ (restart the session)`.
|
|
23
|
+
|
|
24
|
+
## Check 2 — gateguard runtime hook fires
|
|
25
|
+
|
|
26
|
+
The runtime gate ships as a PreToolUse hook (`hooks/gateguard.mjs`). Probe it:
|
|
27
|
+
attempt to `Write` a throwaway file at a sandbox path (`./.ci-verify-install-probe.txt`
|
|
28
|
+
with the text `probe`) **without presenting any research first**.
|
|
29
|
+
|
|
30
|
+
- If the hook **blocks** the write with a fact-list reason — the runtime layer is
|
|
31
|
+
wired. Record `gateguard: ✓`. Do not retry the write; the block is the pass.
|
|
32
|
+
- If the write **goes through** with no pause — the hook did not load. Record
|
|
33
|
+
`gateguard: ✗ (hooks/gateguard.mjs not wired — see README → Troubleshooting install)`.
|
|
34
|
+
Delete the probe file if it was created.
|
|
35
|
+
|
|
36
|
+
## Check 3 — observation capture recording
|
|
37
|
+
|
|
38
|
+
The observation hook appends one row per tool call to
|
|
39
|
+
`~/.claude/instincts/<project-hash>/observations.jsonl`. Read that file (resolve
|
|
40
|
+
`<project-hash>` from the current repo, or check `~/.claude/instincts/global/`).
|
|
41
|
+
|
|
42
|
+
- If it exists and has at least one row — capture is recording. Record `observe: ✓`.
|
|
43
|
+
- If it is missing or empty — record `observe: ✗ (observation hook not recording —
|
|
44
|
+
on Windows confirm Git Bash / WSL is installed, then re-run the installer)`.
|
|
45
|
+
|
|
46
|
+
## Report
|
|
47
|
+
|
|
48
|
+
Emit exactly one summary line, nothing else after it:
|
|
49
|
+
|
|
50
|
+
- All three passed: `✓ wired — commands, gateguard, observe all confirmed.`
|
|
51
|
+
- Any failed: `✗ <comma-separated failing checks with their fix hints>.`
|
|
52
|
+
|
|
53
|
+
Do not claim "should be fine" for a check you could not actually run. If a check
|
|
54
|
+
is genuinely unrunnable (e.g. no repo context for the project hash), mark it
|
|
55
|
+
`unverified` with the reason rather than `✓`.
|