continuous-improvement 3.8.0 → 3.9.2
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 -14
- package/CHANGELOG.md +25 -0
- package/LICENSE +21 -21
- package/QUICKSTART.md +148 -101
- package/README.md +50 -18
- package/action.yml +33 -33
- package/bin/analyze.sh +161 -161
- package/bin/backfill.mjs +19 -19
- package/bin/check-doc-runtime-claims.mjs +120 -0
- package/bin/generate-plugin-manifests.mjs +2 -0
- package/bin/hook-stats.mjs +21 -21
- package/bin/install.mjs +51 -44
- package/bin/mcp-server.mjs +43 -40
- package/bin/refresh-third-party.mjs +416 -416
- package/commands/continuous-improvement.md +115 -115
- package/commands/dashboard.md +56 -56
- package/commands/discipline.md +51 -51
- package/commands/proceed-with-the-recommendation.md +62 -62
- package/commands/seven-laws.md +16 -16
- package/commands/superpowers.md +119 -92
- package/commands/workspace-surface-audit.md +77 -77
- package/hooks/gateguard.mjs +172 -0
- package/hooks/observe.sh +172 -172
- package/hooks/session.sh +106 -106
- package/hooks/three-section-close.mjs +181 -181
- 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/gateguard-state.mjs +85 -0
- package/lib/plugin-metadata.mjs +25 -18
- package/llms.txt +68 -68
- package/package.json +3 -2
- package/plugins/beginner.json +1 -1
- package/plugins/continuous-improvement/.claude-plugin/marketplace.json +1 -1
- package/plugins/continuous-improvement/.claude-plugin/plugin.json +1 -1
- package/plugins/continuous-improvement/LICENSE +21 -21
- package/plugins/continuous-improvement/README.md +1 -0
- package/plugins/continuous-improvement/agents/README.md +120 -0
- package/plugins/continuous-improvement/agents/code-reviewer.md +97 -0
- package/plugins/continuous-improvement/agents/security-auditor.md +101 -0
- package/plugins/continuous-improvement/agents/test-engineer.md +95 -0
- package/plugins/continuous-improvement/bin/backfill.mjs +19 -19
- package/plugins/continuous-improvement/bin/mcp-server.mjs +43 -40
- package/plugins/continuous-improvement/commands/continuous-improvement.md +115 -115
- package/plugins/continuous-improvement/commands/dashboard.md +56 -56
- package/plugins/continuous-improvement/commands/discipline.md +51 -51
- package/plugins/continuous-improvement/commands/proceed-with-the-recommendation.md +62 -62
- package/plugins/continuous-improvement/commands/seven-laws.md +16 -16
- package/plugins/continuous-improvement/commands/superpowers.md +119 -92
- package/plugins/continuous-improvement/commands/workspace-surface-audit.md +77 -77
- package/plugins/continuous-improvement/hooks/gateguard.mjs +172 -0
- package/plugins/continuous-improvement/hooks/hooks.json +6 -1
- package/plugins/continuous-improvement/hooks/observe.sh +172 -172
- package/plugins/continuous-improvement/hooks/session.sh +106 -106
- package/plugins/continuous-improvement/hooks/three-section-close.mjs +181 -181
- 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/plugin-metadata.mjs +25 -18
- package/plugins/continuous-improvement/skills/README.md +4 -1
- package/plugins/continuous-improvement/skills/deploy-receipt/SKILL.md +47 -0
- package/plugins/continuous-improvement/skills/gateguard/SKILL.md +17 -9
- package/plugins/continuous-improvement/skills/para-memory-files/SKILL.md +108 -108
- package/plugins/continuous-improvement/skills/proceed-with-the-recommendation/SKILL.md +1 -8
- package/plugins/continuous-improvement/skills/ralph/SKILL.md +221 -221
- package/plugins/continuous-improvement/skills/recovery-classification/SKILL.md +73 -0
- package/plugins/continuous-improvement/skills/safety-guard/SKILL.md +76 -76
- package/plugins/continuous-improvement/skills/state-reconciliation/SKILL.md +63 -0
- package/plugins/continuous-improvement/skills/strategic-compact/SKILL.md +104 -104
- package/plugins/continuous-improvement/skills/superpowers/SKILL.md +22 -15
- package/plugins/continuous-improvement/skills/tdd-workflow/SKILL.md +411 -411
- package/plugins/continuous-improvement/skills/token-budget-advisor/SKILL.md +136 -136
- package/plugins/continuous-improvement/skills/verification-loop/SKILL.md +32 -0
- package/plugins/continuous-improvement/skills/wild-risa-balance/SKILL.md +191 -191
- package/plugins/continuous-improvement/skills/worktree-safety/SKILL.md +66 -0
- package/plugins/expert.json +1 -1
- package/skills/README.md +79 -79
- package/skills/deploy-receipt.md +47 -0
- package/skills/gateguard.md +17 -9
- package/skills/para-memory-files.md +108 -108
- package/skills/proceed-with-the-recommendation.md +1 -8
- package/skills/ralph.md +221 -221
- package/skills/recovery-classification.md +73 -0
- package/skills/safety-guard.md +76 -76
- package/skills/state-reconciliation.md +63 -0
- package/skills/strategic-compact.md +104 -104
- package/skills/superpowers.md +22 -15
- package/skills/tdd-workflow.md +411 -411
- package/skills/token-budget-advisor.md +136 -136
- package/skills/verification-loop.md +32 -0
- package/skills/wild-risa-balance.md +191 -191
- package/skills/worktree-safety.md +66 -0
- package/templates/insights-claude-md.md +91 -0
- package/templates/verify-ladder.example.json +37 -24
package/skills/README.md
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
# Source Skills
|
|
2
|
-
|
|
3
|
-
This directory holds the **source-of-truth** for the companion skills bundled with the `continuous-improvement` plugin.
|
|
4
|
-
|
|
5
|
-
> Edit files **here**. The plugin bundle at `plugins/continuous-improvement/skills/<name>/SKILL.md` is **regenerated** every time you run `npm run build` (see [`bin/generate-plugin-manifests.mjs`](../bin/generate-plugin-manifests.mjs)). Edits made directly inside `plugins/continuous-improvement/skills/` will be overwritten.
|
|
6
|
-
|
|
7
|
-
## Featured companion — installed by default with the plugin
|
|
8
|
-
|
|
9
|
-
`proceed-with-the-recommendation` is the **recommended pairing** for the 7 Laws. It is the execution arm that turns "do all of it" into a disciplined, verified, one-concern-at-a-time walk through the agent's recommendation list. If you only adopt one companion alongside the core skill, adopt this one.
|
|
10
|
-
|
|
11
|
-
| Skill | What it does | Source |
|
|
12
|
-
|-------|--------------|--------|
|
|
13
|
-
| **`proceed-with-the-recommendation`** ⭐ | Walks any agent's recommendation list top-to-bottom under the 7 Laws — routes each item to the right specialist (`superpowers:*`, `ralph`, `workspace-surface-audit`, `simplify`, `security-review`, `schedule`, `loop`), falls back to inline behavior when a specialist isn't installed, verifies per item, halts on `needs-approval` | @naimkatiman |
|
|
14
|
-
|
|
15
|
-
## Tier 1 — recommended pairing for **beginner** mode
|
|
16
|
-
|
|
17
|
-
These add concrete enforcement to the 7 Laws. Tier-1 skills are the always-on minimum for any user running `npx continuous-improvement install` (default beginner mode).
|
|
18
|
-
|
|
19
|
-
| Skill | What it does | Pairs with which Law |
|
|
20
|
-
|-------|--------------|----------------------|
|
|
21
|
-
| `para-memory-files` | File-based persistent memory using PARA (Projects/Areas/Resources/Archives) for cross-session context | Law 5 (Reflect), Law 7 (Learn) |
|
|
22
|
-
| `verification-loop` | Six-phase verification (build, types, lint, tests, security, diff) with a structured PASS/FAIL report | Law 4 (Verify Before Reporting) |
|
|
23
|
-
| `gateguard` | PreToolUse fact-forcing gate that blocks Edit/Write/destructive Bash until concrete investigation is presented | Law 1 (Research) |
|
|
24
|
-
| `tdd-workflow` | RED→GREEN→REFACTOR enforcement, 80%+ coverage gate across unit/integration/E2E | Law 3 (One Thing), Law 4 (Verify) |
|
|
25
|
-
|
|
26
|
-
## Tier 2 — additional skills for **expert** mode
|
|
27
|
-
|
|
28
|
-
Tier-2 skills layer on top of tier-1 for users running `npx continuous-improvement install --mode expert`. They cover autonomous-mode safety, response-depth control, and context-window discipline that matter once an agent runs longer or more aggressively.
|
|
29
|
-
|
|
30
|
-
| Skill | What it does | When it pays off |
|
|
31
|
-
|-------|--------------|------------------|
|
|
32
|
-
| `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 |
|
|
33
|
-
| `token-budget-advisor` | Heuristic input/output token estimator that offers 25%/50%/75%/100% depth choices before answering | Long sessions where response size matters |
|
|
34
|
-
| `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 |
|
|
35
|
-
| `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 |
|
|
36
|
-
|
|
37
|
-
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.
|
|
38
|
-
|
|
39
|
-
## Other always-bundled companion skills
|
|
40
|
-
|
|
41
|
-
These ship in the same plugin bundle regardless of mode and are available the moment you install the `continuous-improvement` plugin from the marketplace.
|
|
42
|
-
|
|
43
|
-
| Skill | What it does | Source |
|
|
44
|
-
|-------|--------------|--------|
|
|
45
|
-
| `ralph` | Autonomous loop that executes a PRD story-by-story with quality checks between iterations | [snarktank/ralph](https://github.com/snarktank/ralph) |
|
|
46
|
-
| `superpowers` | **Law activator.** Routes tasks to the correct Law-aligned specialist (brainstorming → Law 2, writing-plans → Law 2, TDD → Law 3+4, verification-before-completion → Law 4, etc.) so the right discipline fires automatically. Not a peer skill — a dispatcher for the others. | [obra/superpowers](https://github.com/obra/superpowers) |
|
|
47
|
-
| `workspace-surface-audit` | Audits the active repo, MCP servers, plugins, and env, then recommends high-value skills/workflows | continuous-improvement |
|
|
48
|
-
|
|
49
|
-
## How they get to your machine
|
|
50
|
-
|
|
51
|
-
Two paths, you pick:
|
|
52
|
-
|
|
53
|
-
**Path A — Install the plugin (recommended).** Bundled with the core skill, no per-skill copying. All companions land in one shot:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
/plugin marketplace add naimkatiman/continuous-improvement
|
|
57
|
-
/plugin install continuous-improvement@continuous-improvement
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
(The `-dev` suffix is reserved for the in-repo development marketplace at `plugins/continuous-improvement/.claude-plugin/marketplace.json` — only used when iterating on the bundle locally.)
|
|
61
|
-
|
|
62
|
-
**Path B — Drop a single skill in by hand.** Useful if you want only one companion without the rest of the plugin:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
SKILL=proceed-with-the-recommendation
|
|
66
|
-
mkdir -p ~/.claude/skills/$SKILL
|
|
67
|
-
curl -L https://raw.githubusercontent.com/naimkatiman/continuous-improvement/main/skills/$SKILL.md \
|
|
68
|
-
-o ~/.claude/skills/$SKILL/SKILL.md
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Or paste the file's contents directly into your agent's system prompt.
|
|
72
|
-
|
|
73
|
-
## Pressure-test logs
|
|
74
|
-
|
|
75
|
-
Adversarial pressure-test logs for skills in this directory live under [`docs/testing/`](../docs/testing/). They are not skills — they are baseline guarantees future edits must preserve.
|
|
76
|
-
|
|
77
|
-
## Relationship to the core skill
|
|
78
|
-
|
|
79
|
-
The core [`SKILL.md`](../SKILL.md) at the repo root defines the **7 Laws of discipline**. The skills in this directory are independent execution tools that build on those laws. They do not depend on `SKILL.md` and `SKILL.md` does not depend on them — but `proceed-with-the-recommendation` was written specifically to operationalize the 7 Laws end-to-end, which is why it's the featured pairing.
|
|
1
|
+
# Source Skills
|
|
2
|
+
|
|
3
|
+
This directory holds the **source-of-truth** for the companion skills bundled with the `continuous-improvement` plugin.
|
|
4
|
+
|
|
5
|
+
> Edit files **here**. The plugin bundle at `plugins/continuous-improvement/skills/<name>/SKILL.md` is **regenerated** every time you run `npm run build` (see [`bin/generate-plugin-manifests.mjs`](../bin/generate-plugin-manifests.mjs)). Edits made directly inside `plugins/continuous-improvement/skills/` will be overwritten.
|
|
6
|
+
|
|
7
|
+
## Featured companion — installed by default with the plugin
|
|
8
|
+
|
|
9
|
+
`proceed-with-the-recommendation` is the **recommended pairing** for the 7 Laws. It is the execution arm that turns "do all of it" into a disciplined, verified, one-concern-at-a-time walk through the agent's recommendation list. If you only adopt one companion alongside the core skill, adopt this one.
|
|
10
|
+
|
|
11
|
+
| Skill | What it does | Source |
|
|
12
|
+
|-------|--------------|--------|
|
|
13
|
+
| **`proceed-with-the-recommendation`** ⭐ | Walks any agent's recommendation list top-to-bottom under the 7 Laws — routes each item to the right specialist (`superpowers:*`, `ralph`, `workspace-surface-audit`, `simplify`, `security-review`, `schedule`, `loop`), falls back to inline behavior when a specialist isn't installed, verifies per item, halts on `needs-approval` | @naimkatiman |
|
|
14
|
+
|
|
15
|
+
## Tier 1 — recommended pairing for **beginner** mode
|
|
16
|
+
|
|
17
|
+
These add concrete enforcement to the 7 Laws. Tier-1 skills are the always-on minimum for any user running `npx continuous-improvement install` (default beginner mode).
|
|
18
|
+
|
|
19
|
+
| Skill | What it does | Pairs with which Law |
|
|
20
|
+
|-------|--------------|----------------------|
|
|
21
|
+
| `para-memory-files` | File-based persistent memory using PARA (Projects/Areas/Resources/Archives) for cross-session context | Law 5 (Reflect), Law 7 (Learn) |
|
|
22
|
+
| `verification-loop` | Six-phase verification (build, types, lint, tests, security, diff) with a structured PASS/FAIL report | Law 4 (Verify Before Reporting) |
|
|
23
|
+
| `gateguard` | PreToolUse fact-forcing gate that blocks Edit/Write/destructive Bash until concrete investigation is presented | Law 1 (Research) |
|
|
24
|
+
| `tdd-workflow` | RED→GREEN→REFACTOR enforcement, 80%+ coverage gate across unit/integration/E2E | Law 3 (One Thing), Law 4 (Verify) |
|
|
25
|
+
|
|
26
|
+
## Tier 2 — additional skills for **expert** mode
|
|
27
|
+
|
|
28
|
+
Tier-2 skills layer on top of tier-1 for users running `npx continuous-improvement install --mode expert`. They cover autonomous-mode safety, response-depth control, and context-window discipline that matter once an agent runs longer or more aggressively.
|
|
29
|
+
|
|
30
|
+
| Skill | What it does | When it pays off |
|
|
31
|
+
|-------|--------------|------------------|
|
|
32
|
+
| `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 |
|
|
33
|
+
| `token-budget-advisor` | Heuristic input/output token estimator that offers 25%/50%/75%/100% depth choices before answering | Long sessions where response size matters |
|
|
34
|
+
| `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 |
|
|
35
|
+
| `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 |
|
|
36
|
+
|
|
37
|
+
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.
|
|
38
|
+
|
|
39
|
+
## Other always-bundled companion skills
|
|
40
|
+
|
|
41
|
+
These ship in the same plugin bundle regardless of mode and are available the moment you install the `continuous-improvement` plugin from the marketplace.
|
|
42
|
+
|
|
43
|
+
| Skill | What it does | Source |
|
|
44
|
+
|-------|--------------|--------|
|
|
45
|
+
| `ralph` | Autonomous loop that executes a PRD story-by-story with quality checks between iterations | [snarktank/ralph](https://github.com/snarktank/ralph) |
|
|
46
|
+
| `superpowers` | **Law activator.** Routes tasks to the correct Law-aligned specialist (brainstorming → Law 2, writing-plans → Law 2, TDD → Law 3+4, verification-before-completion → Law 4, etc.) so the right discipline fires automatically. Not a peer skill — a dispatcher for the others. | [obra/superpowers](https://github.com/obra/superpowers) |
|
|
47
|
+
| `workspace-surface-audit` | Audits the active repo, MCP servers, plugins, and env, then recommends high-value skills/workflows | continuous-improvement |
|
|
48
|
+
|
|
49
|
+
## How they get to your machine
|
|
50
|
+
|
|
51
|
+
Two paths, you pick:
|
|
52
|
+
|
|
53
|
+
**Path A — Install the plugin (recommended).** Bundled with the core skill, no per-skill copying. All companions land in one shot:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
/plugin marketplace add naimkatiman/continuous-improvement
|
|
57
|
+
/plugin install continuous-improvement@continuous-improvement
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
(The `-dev` suffix is reserved for the in-repo development marketplace at `plugins/continuous-improvement/.claude-plugin/marketplace.json` — only used when iterating on the bundle locally.)
|
|
61
|
+
|
|
62
|
+
**Path B — Drop a single skill in by hand.** Useful if you want only one companion without the rest of the plugin:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
SKILL=proceed-with-the-recommendation
|
|
66
|
+
mkdir -p ~/.claude/skills/$SKILL
|
|
67
|
+
curl -L https://raw.githubusercontent.com/naimkatiman/continuous-improvement/main/skills/$SKILL.md \
|
|
68
|
+
-o ~/.claude/skills/$SKILL/SKILL.md
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Or paste the file's contents directly into your agent's system prompt.
|
|
72
|
+
|
|
73
|
+
## Pressure-test logs
|
|
74
|
+
|
|
75
|
+
Adversarial pressure-test logs for skills in this directory live under [`docs/testing/`](../docs/testing/). They are not skills — they are baseline guarantees future edits must preserve.
|
|
76
|
+
|
|
77
|
+
## Relationship to the core skill
|
|
78
|
+
|
|
79
|
+
The core [`SKILL.md`](../SKILL.md) at the repo root defines the **7 Laws of discipline**. The skills in this directory are independent execution tools that build on those laws. They do not depend on `SKILL.md` and `SKILL.md` does not depend on them — but `proceed-with-the-recommendation` was written specifically to operationalize the 7 Laws end-to-end, which is why it's the featured pairing.
|
package/skills/deploy-receipt.md
CHANGED
|
@@ -101,6 +101,50 @@ After running verification:
|
|
|
101
101
|
|
|
102
102
|
A `COMPLETE` receipt is the only state that lets the merge be reported as `done`. `INCOMPLETE` receipts surface a single named operator-action item (e.g. "Railway last deploy is older than the merge — re-trigger from dashboard or `railway up`").
|
|
103
103
|
|
|
104
|
+
## On-Incomplete Modes
|
|
105
|
+
|
|
106
|
+
The default behavior on `INCOMPLETE` is **report-only** — the receipt block names the gap, the operator decides recovery. A second mode is available for projects that want the skill to also stage a recovery branch and a failing repro test, without ever executing rollback or merge.
|
|
107
|
+
|
|
108
|
+
### Mode A — `report-only` (default)
|
|
109
|
+
|
|
110
|
+
The current behavior. Print the receipt block, surface the named operator-action item, hand off. No branch creation, no PR opened. Use this mode when the operator is at the keyboard and will react to the receipt directly. No flag required.
|
|
111
|
+
|
|
112
|
+
### Mode B — `open-hotfix-pr` (opt-in)
|
|
113
|
+
|
|
114
|
+
Use this mode when the receipt is `INCOMPLETE` AND a documented recovery window has elapsed without the deploy self-correcting (default 10 minutes from merge; tunable per project via `verify-ladder.json` `deploy_receipt_recovery_window_seconds`). The skill then stages a recovery branch *for the operator to review*, but never merges or rolls back on its own.
|
|
115
|
+
|
|
116
|
+
Activate with the explicit invocation:
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
deploy-receipt --on-incomplete=open-hotfix-pr
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
When triggered, this mode performs four steps in order, halting on the first failure:
|
|
123
|
+
|
|
124
|
+
1. **Branch.** `git checkout -b hotfix/<merge-sha-short>-<symptom-slug> origin/<deploy-branch>`. The symptom slug is derived from the named gap on the receipt — `sha-mismatch`, `health-non-200`, `version-endpoint-stale`, or `no-provider-source`. If the slug cannot be derived, halt and revert to report-only.
|
|
125
|
+
2. **Failing repro test.** Write a single test file at `tests/regressions/deploy-<merge-sha-short>.test.<ext>` that asserts the gap (e.g. `expect(deployedSha).toEqual(mergeSha)` or `expect(healthResponse.status).toBe(200)`). The test MUST currently fail when run against production. The skill writes the assertion against the receipt's recorded values, not against speculation. If the test cannot be made to fail deterministically, halt and revert to report-only.
|
|
126
|
+
3. **Open PR.** `gh pr create --base <deploy-branch> --head hotfix/... --draft` with body that cites the receipt block verbatim, the merge SHA, the deployed SHA, the named gap, and the documented rollback command for the detected provider (a one-line shell snippet from the table below). Draft state is mandatory — never open as ready-for-review without operator approval.
|
|
127
|
+
4. **Hand off.** Print a single-line operator-action item naming the new branch, the PR URL, and the documented rollback command. Stop. Do not modify production. Do not merge the PR. Do not run the rollback.
|
|
128
|
+
|
|
129
|
+
### Documented rollback commands (cited in the PR body, never executed)
|
|
130
|
+
|
|
131
|
+
| Provider | Documented rollback command |
|
|
132
|
+
|---|---|
|
|
133
|
+
| Railway | `railway redeploy --service <service-id> --commit <previous-good-sha>` |
|
|
134
|
+
| Cloudflare Workers | `wrangler rollback --message "deploy-receipt: <merge-sha-short> failed health/SHA gate"` |
|
|
135
|
+
| Vercel | `vercel rollback <previous-good-deployment-url>` |
|
|
136
|
+
| Netlify | `netlify rollback` (interactive — operator picks the prior deploy) |
|
|
137
|
+
| Fly.io | `fly releases rollback <previous-good-version>` |
|
|
138
|
+
|
|
139
|
+
The rollback command is **printed**, not run. The skill's job is to give the operator a complete recovery packet (branch + failing test + cited command) without taking the irreversible step itself.
|
|
140
|
+
|
|
141
|
+
### When NOT to use Mode B
|
|
142
|
+
|
|
143
|
+
- The deploy is mid-rolling-restart or mid-canary — the receipt is INCOMPLETE because the deploy is still in progress, not because it failed. Wait for the recovery window first.
|
|
144
|
+
- Branch protection on the deploy branch denies hotfix branches by name pattern — the PR will fail to open and the skill should fall back to report-only with a named operator action ("hotfix branch denied by protection — recovery requires direct console access").
|
|
145
|
+
- The previous-good SHA cannot be determined from `git log origin/<deploy-branch>` alone — the rollback command in the PR body would be a guess. Fall back to report-only and name the gap as "previous-good SHA unverifiable — operator must select".
|
|
146
|
+
- The operator has already started a manual recovery (a fresh deploy is running, the dashboard shows a rollback in progress). Detect via Route A or Route B and skip Mode B for this receipt cycle.
|
|
147
|
+
|
|
104
148
|
## Anti-Patterns
|
|
105
149
|
|
|
106
150
|
- **"Eventually consistent" excuse.** Reporting done with `Deployed SHA: not retrieved` and a comment like "deploy will pick up shortly" is exactly the failure mode this skill prevents. There is no eventually — there is COMPLETE or INCOMPLETE.
|
|
@@ -108,6 +152,9 @@ A `COMPLETE` receipt is the only state that lets the merge be reported as `done`
|
|
|
108
152
|
- **Skipping for "small changes."** A docs-only commit still needs a receipt if the deploy branch auto-deploys — small changes have caused stale-build incidents on every provider in the table above.
|
|
109
153
|
- **Recommending the CLI install mid-receipt.** If Route A is unavailable, fall through to B then C. Adding tooling is a separate decision the operator makes outside the receipt loop.
|
|
110
154
|
- **Treating absence of evidence as evidence of success.** If none of the three routes produce a SHA, the receipt is `INCOMPLETE — no provider source available`, not `COMPLETE (assumed)`.
|
|
155
|
+
- **Auto-merging the hotfix PR.** Mode B opens the PR as draft and stops. Auto-merge, `--admin` overrides, and `gh pr merge` calls are refused inside this skill. The hotfix is the operator's decision; the skill stages it but never lands it.
|
|
156
|
+
- **Force-pushing or rewriting the hotfix branch.** Mode B branches off `origin/<deploy-branch>` once and pushes once. If the failing test needs changes, the skill writes a new commit on the branch — never `--force` and never `git rebase --interactive`.
|
|
157
|
+
- **Executing the rollback command.** The rollback command is cited in the PR body for operator review. Mode B never runs `railway redeploy`, `wrangler rollback`, `vercel rollback`, etc. on its own. If the operator wants execution, they run it themselves or they wire a separate runner; that is a different skill.
|
|
111
158
|
|
|
112
159
|
## Pairs With
|
|
113
160
|
|
package/skills/gateguard.md
CHANGED
|
@@ -7,7 +7,9 @@ origin: community
|
|
|
7
7
|
|
|
8
8
|
# GateGuard — Fact-Forcing Pre-Action Gate
|
|
9
9
|
|
|
10
|
-
A PreToolUse hook that forces the agent to investigate before editing. Instead of self-evaluation ("are you sure?"), it demands concrete facts. The act of investigation creates awareness that self-evaluation never did.
|
|
10
|
+
A runtime PreToolUse hook + skill pair that forces the agent to investigate before editing. Instead of self-evaluation ("are you sure?"), it demands concrete facts. The act of investigation creates awareness that self-evaluation never did.
|
|
11
|
+
|
|
12
|
+
> **Implementation status:** GateGuard ships as a **runtime PreToolUse hook** at `hooks/gateguard.mjs`, wired as the first PreToolUse entry in the plugin bundle. The hook physically blocks Edit / Write / MultiEdit and every destructive Bash on stdin/stdout JSON, returning `{decision: "block", reason: "..."}` until the agent presents facts and retries with the per-session clearance signal. This skill file is the human-readable spec the hook implements. Originally tracked in [issue #106](https://github.com/naimkatiman/continuous-improvement/issues/106) (closed; landed as PR #108).
|
|
11
13
|
|
|
12
14
|
## When to Activate
|
|
13
15
|
|
|
@@ -124,18 +126,24 @@ This gate is what catches the squash-merge / ahead-of-origin trap recorded in th
|
|
|
124
126
|
|
|
125
127
|
## Quick Start
|
|
126
128
|
|
|
127
|
-
###
|
|
129
|
+
### Today: runtime hook + skill (zero install beyond the plugin)
|
|
128
130
|
|
|
129
|
-
|
|
131
|
+
`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` (override via `GATEGUARD_SESSION_DIR` for tests) and caps cumulative clearances at `MAX_CLEARED_FILES = 50`.
|
|
130
132
|
|
|
131
|
-
|
|
133
|
+
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.
|
|
132
134
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
### V1 honest limitations (not mitigated, documented)
|
|
136
|
+
|
|
137
|
+
- **Honor system.** Once the agent flips `_gateguard_facts_presented: true` in `tool_input`, the hook can't verify the investigation actually happened. The 50-file cap bounds damage from stuck loops or rogue agents.
|
|
138
|
+
- **State-file deletion.** `rm`-ing the session state resets every gate. Acceptable because the session itself is the trust boundary.
|
|
139
|
+
- **Parallel-hook race.** Two simultaneous hook invocations can race the read+write of the state file. Acceptable trade-off vs Windows atomic-rename complexity.
|
|
140
|
+
- **MultiEdit V1.** Currently gates on `edits[0].file_path` only. Per-file batching is a TODO.
|
|
141
|
+
|
|
142
|
+
All four documented in `src/hooks/gateguard.mts` and `src/lib/gateguard-state.mts` headers.
|
|
143
|
+
|
|
144
|
+
### Future: third-party `gateguard-ai` package
|
|
137
145
|
|
|
138
|
-
|
|
146
|
+
The standalone `gateguard-ai` Python/CLI package referenced in earlier drafts of this skill is not currently part of this plugin and not a published package. It may ship later with `.gateguard.yml` per-project config; for now, treat it as design notes only.
|
|
139
147
|
|
|
140
148
|
## Anti-Patterns
|
|
141
149
|
|
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: para-memory-files
|
|
3
|
-
tier: "1"
|
|
4
|
-
description: >
|
|
5
|
-
Enforces Law 5 (Reflect After Every Session) and Law 7 (Learn From Every Session)
|
|
6
|
-
of the 7 Laws of AI Agent Discipline by giving the agent a durable file-based
|
|
7
|
-
memory it can read on resume and write at session end.
|
|
8
|
-
File-based memory system using Tiago Forte's PARA method. Use this skill whenever
|
|
9
|
-
you need to store, retrieve, update, or organize knowledge across sessions. Covers
|
|
10
|
-
three memory layers: (1) Knowledge graph in PARA folders with atomic YAML facts,
|
|
11
|
-
(2) Daily notes as raw timeline, (3) Tacit knowledge about user patterns. Also
|
|
12
|
-
handles planning files, memory decay, weekly synthesis, and recall via qmd.
|
|
13
|
-
Trigger on any memory operation: saving facts, writing daily notes, creating
|
|
14
|
-
entities, running weekly synthesis, recalling past context, or managing plans.
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# PARA Memory Files
|
|
18
|
-
|
|
19
|
-
Persistent, file-based memory organized by Tiago Forte's PARA method. Three layers: a knowledge graph, daily notes, and tacit knowledge. All paths are relative to `$AGENT_HOME`.
|
|
20
|
-
|
|
21
|
-
## Three Memory Layers
|
|
22
|
-
|
|
23
|
-
### Layer 1: Knowledge Graph (`$AGENT_HOME/life/` -- PARA)
|
|
24
|
-
|
|
25
|
-
Entity-based storage. Each entity gets a folder with two tiers:
|
|
26
|
-
|
|
27
|
-
1. `summary.md` -- quick context, load first.
|
|
28
|
-
2. `items.yaml` -- atomic facts, load on demand.
|
|
29
|
-
|
|
30
|
-
```text
|
|
31
|
-
$AGENT_HOME/life/
|
|
32
|
-
projects/ # Active work with clear goals/deadlines
|
|
33
|
-
<name>/
|
|
34
|
-
summary.md
|
|
35
|
-
items.yaml
|
|
36
|
-
areas/ # Ongoing responsibilities, no end date
|
|
37
|
-
people/<name>/
|
|
38
|
-
companies/<name>/
|
|
39
|
-
resources/ # Reference material, topics of interest
|
|
40
|
-
<topic>/
|
|
41
|
-
archives/ # Inactive items from the other three
|
|
42
|
-
index.md
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**PARA rules:**
|
|
46
|
-
|
|
47
|
-
- **Projects** -- active work with a goal or deadline. Move to archives when complete.
|
|
48
|
-
- **Areas** -- ongoing (people, companies, responsibilities). No end date.
|
|
49
|
-
- **Resources** -- reference material, topics of interest.
|
|
50
|
-
- **Archives** -- inactive items from any category.
|
|
51
|
-
|
|
52
|
-
**Fact rules:**
|
|
53
|
-
|
|
54
|
-
- Save durable facts immediately to `items.yaml`.
|
|
55
|
-
- Weekly: rewrite `summary.md` from active facts.
|
|
56
|
-
- Never delete facts. Supersede instead (`status: superseded`, add `superseded_by`).
|
|
57
|
-
- When an entity goes inactive, move its folder to `$AGENT_HOME/life/archives/`.
|
|
58
|
-
|
|
59
|
-
**When to create an entity:**
|
|
60
|
-
|
|
61
|
-
- Mentioned 3+ times, OR
|
|
62
|
-
- Direct relationship to the user (family, coworker, partner, client), OR
|
|
63
|
-
- Significant project or company in the user's life.
|
|
64
|
-
- Otherwise, note it in daily notes.
|
|
65
|
-
|
|
66
|
-
For the atomic fact YAML schema and memory decay rules, see [references/schemas.md](references/schemas.md).
|
|
67
|
-
|
|
68
|
-
### Layer 2: Daily Notes (`$AGENT_HOME/memory/YYYY-MM-DD.md`)
|
|
69
|
-
|
|
70
|
-
Raw timeline of events -- the "when" layer.
|
|
71
|
-
|
|
72
|
-
- Write continuously during conversations.
|
|
73
|
-
- Extract durable facts to Layer 1 during heartbeats.
|
|
74
|
-
|
|
75
|
-
### Layer 3: Tacit Knowledge (`$AGENT_HOME/MEMORY.md`)
|
|
76
|
-
|
|
77
|
-
How the user operates -- patterns, preferences, lessons learned.
|
|
78
|
-
|
|
79
|
-
- Not facts about the world; facts about the user.
|
|
80
|
-
- Update whenever you learn new operating patterns.
|
|
81
|
-
|
|
82
|
-
## Write It Down -- No Mental Notes
|
|
83
|
-
|
|
84
|
-
Memory does not survive session restarts. Files do.
|
|
85
|
-
|
|
86
|
-
- Want to remember something -> WRITE IT TO A FILE.
|
|
87
|
-
- "Remember this" -> update `$AGENT_HOME/memory/YYYY-MM-DD.md` or the relevant entity file.
|
|
88
|
-
- Learn a lesson -> update AGENTS.md, TOOLS.md, or the relevant skill file.
|
|
89
|
-
- Make a mistake -> document it so future-you does not repeat it.
|
|
90
|
-
- On-disk text files are always better than holding it in temporary context.
|
|
91
|
-
|
|
92
|
-
## Memory Recall -- Use qmd
|
|
93
|
-
|
|
94
|
-
Use `qmd` rather than grepping files:
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
qmd query "what happened at Christmas" # Semantic search with reranking
|
|
98
|
-
qmd search "specific phrase" # BM25 keyword search
|
|
99
|
-
qmd vsearch "conceptual question" # Pure vector similarity
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Index your personal folder: `qmd index $AGENT_HOME`
|
|
103
|
-
|
|
104
|
-
Vectors + BM25 + reranking finds things even when the wording differs.
|
|
105
|
-
|
|
106
|
-
## Planning
|
|
107
|
-
|
|
108
|
-
Keep plans in timestamped files in `plans/` at the project root (outside personal memory so other agents can access them). Use `qmd` to search plans. Plans go stale -- if a newer plan exists, do not confuse yourself with an older version. If you notice staleness, update the file to note what it is supersededBy.
|
|
1
|
+
---
|
|
2
|
+
name: para-memory-files
|
|
3
|
+
tier: "1"
|
|
4
|
+
description: >
|
|
5
|
+
Enforces Law 5 (Reflect After Every Session) and Law 7 (Learn From Every Session)
|
|
6
|
+
of the 7 Laws of AI Agent Discipline by giving the agent a durable file-based
|
|
7
|
+
memory it can read on resume and write at session end.
|
|
8
|
+
File-based memory system using Tiago Forte's PARA method. Use this skill whenever
|
|
9
|
+
you need to store, retrieve, update, or organize knowledge across sessions. Covers
|
|
10
|
+
three memory layers: (1) Knowledge graph in PARA folders with atomic YAML facts,
|
|
11
|
+
(2) Daily notes as raw timeline, (3) Tacit knowledge about user patterns. Also
|
|
12
|
+
handles planning files, memory decay, weekly synthesis, and recall via qmd.
|
|
13
|
+
Trigger on any memory operation: saving facts, writing daily notes, creating
|
|
14
|
+
entities, running weekly synthesis, recalling past context, or managing plans.
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# PARA Memory Files
|
|
18
|
+
|
|
19
|
+
Persistent, file-based memory organized by Tiago Forte's PARA method. Three layers: a knowledge graph, daily notes, and tacit knowledge. All paths are relative to `$AGENT_HOME`.
|
|
20
|
+
|
|
21
|
+
## Three Memory Layers
|
|
22
|
+
|
|
23
|
+
### Layer 1: Knowledge Graph (`$AGENT_HOME/life/` -- PARA)
|
|
24
|
+
|
|
25
|
+
Entity-based storage. Each entity gets a folder with two tiers:
|
|
26
|
+
|
|
27
|
+
1. `summary.md` -- quick context, load first.
|
|
28
|
+
2. `items.yaml` -- atomic facts, load on demand.
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
$AGENT_HOME/life/
|
|
32
|
+
projects/ # Active work with clear goals/deadlines
|
|
33
|
+
<name>/
|
|
34
|
+
summary.md
|
|
35
|
+
items.yaml
|
|
36
|
+
areas/ # Ongoing responsibilities, no end date
|
|
37
|
+
people/<name>/
|
|
38
|
+
companies/<name>/
|
|
39
|
+
resources/ # Reference material, topics of interest
|
|
40
|
+
<topic>/
|
|
41
|
+
archives/ # Inactive items from the other three
|
|
42
|
+
index.md
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**PARA rules:**
|
|
46
|
+
|
|
47
|
+
- **Projects** -- active work with a goal or deadline. Move to archives when complete.
|
|
48
|
+
- **Areas** -- ongoing (people, companies, responsibilities). No end date.
|
|
49
|
+
- **Resources** -- reference material, topics of interest.
|
|
50
|
+
- **Archives** -- inactive items from any category.
|
|
51
|
+
|
|
52
|
+
**Fact rules:**
|
|
53
|
+
|
|
54
|
+
- Save durable facts immediately to `items.yaml`.
|
|
55
|
+
- Weekly: rewrite `summary.md` from active facts.
|
|
56
|
+
- Never delete facts. Supersede instead (`status: superseded`, add `superseded_by`).
|
|
57
|
+
- When an entity goes inactive, move its folder to `$AGENT_HOME/life/archives/`.
|
|
58
|
+
|
|
59
|
+
**When to create an entity:**
|
|
60
|
+
|
|
61
|
+
- Mentioned 3+ times, OR
|
|
62
|
+
- Direct relationship to the user (family, coworker, partner, client), OR
|
|
63
|
+
- Significant project or company in the user's life.
|
|
64
|
+
- Otherwise, note it in daily notes.
|
|
65
|
+
|
|
66
|
+
For the atomic fact YAML schema and memory decay rules, see [references/schemas.md](references/schemas.md).
|
|
67
|
+
|
|
68
|
+
### Layer 2: Daily Notes (`$AGENT_HOME/memory/YYYY-MM-DD.md`)
|
|
69
|
+
|
|
70
|
+
Raw timeline of events -- the "when" layer.
|
|
71
|
+
|
|
72
|
+
- Write continuously during conversations.
|
|
73
|
+
- Extract durable facts to Layer 1 during heartbeats.
|
|
74
|
+
|
|
75
|
+
### Layer 3: Tacit Knowledge (`$AGENT_HOME/MEMORY.md`)
|
|
76
|
+
|
|
77
|
+
How the user operates -- patterns, preferences, lessons learned.
|
|
78
|
+
|
|
79
|
+
- Not facts about the world; facts about the user.
|
|
80
|
+
- Update whenever you learn new operating patterns.
|
|
81
|
+
|
|
82
|
+
## Write It Down -- No Mental Notes
|
|
83
|
+
|
|
84
|
+
Memory does not survive session restarts. Files do.
|
|
85
|
+
|
|
86
|
+
- Want to remember something -> WRITE IT TO A FILE.
|
|
87
|
+
- "Remember this" -> update `$AGENT_HOME/memory/YYYY-MM-DD.md` or the relevant entity file.
|
|
88
|
+
- Learn a lesson -> update AGENTS.md, TOOLS.md, or the relevant skill file.
|
|
89
|
+
- Make a mistake -> document it so future-you does not repeat it.
|
|
90
|
+
- On-disk text files are always better than holding it in temporary context.
|
|
91
|
+
|
|
92
|
+
## Memory Recall -- Use qmd
|
|
93
|
+
|
|
94
|
+
Use `qmd` rather than grepping files:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
qmd query "what happened at Christmas" # Semantic search with reranking
|
|
98
|
+
qmd search "specific phrase" # BM25 keyword search
|
|
99
|
+
qmd vsearch "conceptual question" # Pure vector similarity
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Index your personal folder: `qmd index $AGENT_HOME`
|
|
103
|
+
|
|
104
|
+
Vectors + BM25 + reranking finds things even when the wording differs.
|
|
105
|
+
|
|
106
|
+
## Planning
|
|
107
|
+
|
|
108
|
+
Keep plans in timestamped files in `plans/` at the project root (outside personal memory so other agents can access them). Use `qmd` to search plans. Plans go stale -- if a newer plan exists, do not confuse yourself with an older version. If you notice staleness, update the file to note what it is supersededBy.
|
|
@@ -160,14 +160,7 @@ Rows whose **Preferred skill** is not bundled with the `continuous-improvement`
|
|
|
160
160
|
| Visual regression / browser-level diff | `oh-my-claudecode:visual-verdict` | Playwright screenshot diff against staging baseline. (Reference behavior — does not require `oh-my-claudecode`.) |
|
|
161
161
|
| Multi-session retrospective across a sprint | `oh-my-claudecode:retrospective` → `learn-eval` | What worked / what failed / what to do differently / 3 ranked next moves. (Reference behavior — does not require `oh-my-claudecode`.) |
|
|
162
162
|
| Long autonomous run with quality gates | `oh-my-claudecode:ultrawork` → `ralph` | PRD-shaped autonomous loop with verify-between-iterations. (Reference behavior — does not require `oh-my-claudecode`.) |
|
|
163
|
-
|
|
|
164
|
-
| Decompose feature into user stories + acceptance criteria | `pm-skills:user-stories` + `pm-skills:acceptance-criteria` | "As <role> I want <action> so that <benefit>" + Given/When/Then per story. (Reference behavior — does not require `pm-skills`.) |
|
|
165
|
-
| Write or grade quarterly OKRs | `pm-skills:okr-writer` + `pm-skills:okr-grader` | Objective + 3-5 measurable key results; grade 0.0-1.0 at end of cycle. (Reference behavior — does not require `pm-skills`.) |
|
|
166
|
-
| Design hypothesis-driven experiment | `pm-skills:experiment-design` + `pm-skills:hypothesis` | "We believe <X> will produce <Y>; we'll know if <Z> moves by <delta>." (Reference behavior — does not require `pm-skills`.) |
|
|
167
|
-
| Discovery framework: persona / JTBD / lean canvas | `pm-skills:persona` / `pm-skills:jtbd-canvas` / `pm-skills:lean-canvas` | Pick the framework that matches the gap; do not run all three. (Reference behavior — does not require `pm-skills`.) |
|
|
168
|
-
| Market sizing or competitive analysis | `pm-skills:market-sizing` / `pm-skills:competitive-analysis` | TAM/SAM/SOM bottom-up; competitive matrix on 5 axes. (Reference behavior — does not require `pm-skills`.) |
|
|
169
|
-
| Meeting agenda / brief / recap / synthesize | `pm-skills:meeting-agenda` / `pm-skills:meeting-brief` / `pm-skills:meeting-recap` / `pm-skills:meeting-synthesize` | Cross-cutting Meeting Skills Family v2.11.0 with shared contract. (Reference behavior — does not require `pm-skills`.) |
|
|
170
|
-
| Product launch checklist | `pm-skills:launch-checklist` | Marketing + ops + analytics + comms gates. Engineering uses `finishing-a-development-branch` + `deploy-receipt`. (Reference behavior — does not require `pm-skills`.) |
|
|
163
|
+
| Product-management work (PRD, user stories, acceptance criteria, OKRs, experiments, personas, JTBD, lean canvas, market sizing, competitive analysis, meetings family, launch checklist) | Install phuryn/pm-skills via Claude Code marketplace — see docs/THIRD_PARTY.md | Out-of-band install (`claude plugin marketplace add phuryn/pm-skills` + the eight `pm-*@pm-skills` plugins). Inline fallback: keep the work shape (problem → user → goal → metric → scope; Given/When/Then per story; objective + 3-5 measurable KRs; we-believe / we'll-know hypothesis; TAM/SAM/SOM bottom-up; cross-cutting meetings agenda/brief/recap/synthesize) without depending on a specific routing target. |
|
|
171
164
|
|
|
172
165
|
## Phase 4: Verify (Law 4 — Verify Before Reporting)
|
|
173
166
|
|