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.
Files changed (96) hide show
  1. package/.claude-plugin/marketplace.json +2 -14
  2. package/CHANGELOG.md +25 -0
  3. package/LICENSE +21 -21
  4. package/QUICKSTART.md +148 -101
  5. package/README.md +50 -18
  6. package/action.yml +33 -33
  7. package/bin/analyze.sh +161 -161
  8. package/bin/backfill.mjs +19 -19
  9. package/bin/check-doc-runtime-claims.mjs +120 -0
  10. package/bin/generate-plugin-manifests.mjs +2 -0
  11. package/bin/hook-stats.mjs +21 -21
  12. package/bin/install.mjs +51 -44
  13. package/bin/mcp-server.mjs +43 -40
  14. package/bin/refresh-third-party.mjs +416 -416
  15. package/commands/continuous-improvement.md +115 -115
  16. package/commands/dashboard.md +56 -56
  17. package/commands/discipline.md +51 -51
  18. package/commands/proceed-with-the-recommendation.md +62 -62
  19. package/commands/seven-laws.md +16 -16
  20. package/commands/superpowers.md +119 -92
  21. package/commands/workspace-surface-audit.md +77 -77
  22. package/hooks/gateguard.mjs +172 -0
  23. package/hooks/observe.sh +172 -172
  24. package/hooks/session.sh +106 -106
  25. package/hooks/three-section-close.mjs +181 -181
  26. package/instinct-packs/go.json +58 -58
  27. package/instinct-packs/meta.json +16 -16
  28. package/instinct-packs/python.json +58 -58
  29. package/instinct-packs/react.json +58 -58
  30. package/lib/gateguard-state.mjs +85 -0
  31. package/lib/plugin-metadata.mjs +25 -18
  32. package/llms.txt +68 -68
  33. package/package.json +3 -2
  34. package/plugins/beginner.json +1 -1
  35. package/plugins/continuous-improvement/.claude-plugin/marketplace.json +1 -1
  36. package/plugins/continuous-improvement/.claude-plugin/plugin.json +1 -1
  37. package/plugins/continuous-improvement/LICENSE +21 -21
  38. package/plugins/continuous-improvement/README.md +1 -0
  39. package/plugins/continuous-improvement/agents/README.md +120 -0
  40. package/plugins/continuous-improvement/agents/code-reviewer.md +97 -0
  41. package/plugins/continuous-improvement/agents/security-auditor.md +101 -0
  42. package/plugins/continuous-improvement/agents/test-engineer.md +95 -0
  43. package/plugins/continuous-improvement/bin/backfill.mjs +19 -19
  44. package/plugins/continuous-improvement/bin/mcp-server.mjs +43 -40
  45. package/plugins/continuous-improvement/commands/continuous-improvement.md +115 -115
  46. package/plugins/continuous-improvement/commands/dashboard.md +56 -56
  47. package/plugins/continuous-improvement/commands/discipline.md +51 -51
  48. package/plugins/continuous-improvement/commands/proceed-with-the-recommendation.md +62 -62
  49. package/plugins/continuous-improvement/commands/seven-laws.md +16 -16
  50. package/plugins/continuous-improvement/commands/superpowers.md +119 -92
  51. package/plugins/continuous-improvement/commands/workspace-surface-audit.md +77 -77
  52. package/plugins/continuous-improvement/hooks/gateguard.mjs +172 -0
  53. package/plugins/continuous-improvement/hooks/hooks.json +6 -1
  54. package/plugins/continuous-improvement/hooks/observe.sh +172 -172
  55. package/plugins/continuous-improvement/hooks/session.sh +106 -106
  56. package/plugins/continuous-improvement/hooks/three-section-close.mjs +181 -181
  57. package/plugins/continuous-improvement/instinct-packs/go.json +58 -58
  58. package/plugins/continuous-improvement/instinct-packs/meta.json +16 -16
  59. package/plugins/continuous-improvement/instinct-packs/python.json +58 -58
  60. package/plugins/continuous-improvement/instinct-packs/react.json +58 -58
  61. package/plugins/continuous-improvement/lib/plugin-metadata.mjs +25 -18
  62. package/plugins/continuous-improvement/skills/README.md +4 -1
  63. package/plugins/continuous-improvement/skills/deploy-receipt/SKILL.md +47 -0
  64. package/plugins/continuous-improvement/skills/gateguard/SKILL.md +17 -9
  65. package/plugins/continuous-improvement/skills/para-memory-files/SKILL.md +108 -108
  66. package/plugins/continuous-improvement/skills/proceed-with-the-recommendation/SKILL.md +1 -8
  67. package/plugins/continuous-improvement/skills/ralph/SKILL.md +221 -221
  68. package/plugins/continuous-improvement/skills/recovery-classification/SKILL.md +73 -0
  69. package/plugins/continuous-improvement/skills/safety-guard/SKILL.md +76 -76
  70. package/plugins/continuous-improvement/skills/state-reconciliation/SKILL.md +63 -0
  71. package/plugins/continuous-improvement/skills/strategic-compact/SKILL.md +104 -104
  72. package/plugins/continuous-improvement/skills/superpowers/SKILL.md +22 -15
  73. package/plugins/continuous-improvement/skills/tdd-workflow/SKILL.md +411 -411
  74. package/plugins/continuous-improvement/skills/token-budget-advisor/SKILL.md +136 -136
  75. package/plugins/continuous-improvement/skills/verification-loop/SKILL.md +32 -0
  76. package/plugins/continuous-improvement/skills/wild-risa-balance/SKILL.md +191 -191
  77. package/plugins/continuous-improvement/skills/worktree-safety/SKILL.md +66 -0
  78. package/plugins/expert.json +1 -1
  79. package/skills/README.md +79 -79
  80. package/skills/deploy-receipt.md +47 -0
  81. package/skills/gateguard.md +17 -9
  82. package/skills/para-memory-files.md +108 -108
  83. package/skills/proceed-with-the-recommendation.md +1 -8
  84. package/skills/ralph.md +221 -221
  85. package/skills/recovery-classification.md +73 -0
  86. package/skills/safety-guard.md +76 -76
  87. package/skills/state-reconciliation.md +63 -0
  88. package/skills/strategic-compact.md +104 -104
  89. package/skills/superpowers.md +22 -15
  90. package/skills/tdd-workflow.md +411 -411
  91. package/skills/token-budget-advisor.md +136 -136
  92. package/skills/verification-loop.md +32 -0
  93. package/skills/wild-risa-balance.md +191 -191
  94. package/skills/worktree-safety.md +66 -0
  95. package/templates/insights-claude-md.md +91 -0
  96. 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.
@@ -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
 
@@ -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
- ### Option A: Use the continuous-improvement hook (zero install)
129
+ ### Today: runtime hook + skill (zero install beyond the plugin)
128
130
 
129
- The hook at `scripts/hooks/gateguard-fact-force.js` is included in this plugin. Enable it via hooks.json.
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
- ### Option B: Full package with config
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
- ```bash
134
- pip install gateguard-ai
135
- gateguard init
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
- This adds `.gateguard.yml` for per-project configuration (custom messages, ignore paths, gate toggles).
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
- | Draft a PRD before implementation | `pm-skills:prd` | Problem → user → goal → metric → scope. Engineering plan is a separate doc. (Reference behavior does not require `pm-skills`.) |
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