create-claude-cabinet 0.6.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/LICENSE +21 -0
- package/README.md +196 -0
- package/bin/create-claude-cabinet.js +8 -0
- package/lib/cli.js +624 -0
- package/lib/copy.js +152 -0
- package/lib/db-setup.js +51 -0
- package/lib/metadata.js +42 -0
- package/lib/reset.js +193 -0
- package/lib/settings-merge.js +93 -0
- package/package.json +29 -0
- package/templates/EXTENSIONS.md +311 -0
- package/templates/README.md +485 -0
- package/templates/briefing/_briefing-api-template.md +21 -0
- package/templates/briefing/_briefing-architecture-template.md +16 -0
- package/templates/briefing/_briefing-cabinet-template.md +20 -0
- package/templates/briefing/_briefing-identity-template.md +18 -0
- package/templates/briefing/_briefing-scopes-template.md +39 -0
- package/templates/briefing/_briefing-template.md +148 -0
- package/templates/briefing/_briefing-work-tracking-template.md +18 -0
- package/templates/cabinet/committees-template.yaml +49 -0
- package/templates/cabinet/composition-patterns.md +240 -0
- package/templates/cabinet/eval-protocol.md +208 -0
- package/templates/cabinet/lifecycle.md +93 -0
- package/templates/cabinet/output-contract.md +148 -0
- package/templates/cabinet/prompt-guide.md +266 -0
- package/templates/hooks/cor-upstream-guard.sh +79 -0
- package/templates/hooks/git-guardrails.sh +67 -0
- package/templates/hooks/skill-telemetry.sh +66 -0
- package/templates/hooks/skill-tool-telemetry.sh +54 -0
- package/templates/hooks/stop-hook.md +56 -0
- package/templates/memory/patterns/_pattern-template.md +119 -0
- package/templates/memory/patterns/pattern-intelligence-first.md +41 -0
- package/templates/rules/enforcement-pipeline.md +151 -0
- package/templates/scripts/cor-drift-check.cjs +84 -0
- package/templates/scripts/finding-schema.json +94 -0
- package/templates/scripts/load-triage-history.js +151 -0
- package/templates/scripts/merge-findings.js +126 -0
- package/templates/scripts/pib-db-schema.sql +68 -0
- package/templates/scripts/pib-db.js +365 -0
- package/templates/scripts/triage-server.mjs +98 -0
- package/templates/scripts/triage-ui.html +536 -0
- package/templates/skills/audit/SKILL.md +273 -0
- package/templates/skills/audit/phases/finding-output.md +56 -0
- package/templates/skills/audit/phases/member-execution.md +83 -0
- package/templates/skills/audit/phases/member-selection.md +44 -0
- package/templates/skills/audit/phases/structural-checks.md +54 -0
- package/templates/skills/audit/phases/triage-history.md +45 -0
- package/templates/skills/cabinet-accessibility/SKILL.md +180 -0
- package/templates/skills/cabinet-anti-confirmation/SKILL.md +172 -0
- package/templates/skills/cabinet-architecture/SKILL.md +279 -0
- package/templates/skills/cabinet-boundary-man/SKILL.md +265 -0
- package/templates/skills/cabinet-cor-health/SKILL.md +342 -0
- package/templates/skills/cabinet-data-integrity/SKILL.md +157 -0
- package/templates/skills/cabinet-debugger/SKILL.md +221 -0
- package/templates/skills/cabinet-historian/SKILL.md +253 -0
- package/templates/skills/cabinet-organized-mind/SKILL.md +338 -0
- package/templates/skills/cabinet-process-therapist/SKILL.md +261 -0
- package/templates/skills/cabinet-qa/SKILL.md +205 -0
- package/templates/skills/cabinet-record-keeper/SKILL.md +168 -0
- package/templates/skills/cabinet-roster-check/SKILL.md +297 -0
- package/templates/skills/cabinet-security/SKILL.md +181 -0
- package/templates/skills/cabinet-small-screen/SKILL.md +154 -0
- package/templates/skills/cabinet-speed-freak/SKILL.md +169 -0
- package/templates/skills/cabinet-system-advocate/SKILL.md +194 -0
- package/templates/skills/cabinet-technical-debt/SKILL.md +115 -0
- package/templates/skills/cabinet-usability/SKILL.md +189 -0
- package/templates/skills/cabinet-workflow-cop/SKILL.md +238 -0
- package/templates/skills/cor-upgrade/SKILL.md +302 -0
- package/templates/skills/debrief/SKILL.md +409 -0
- package/templates/skills/debrief/phases/auto-maintenance.md +48 -0
- package/templates/skills/debrief/phases/close-work.md +88 -0
- package/templates/skills/debrief/phases/health-checks.md +54 -0
- package/templates/skills/debrief/phases/inventory.md +40 -0
- package/templates/skills/debrief/phases/loose-ends.md +52 -0
- package/templates/skills/debrief/phases/record-lessons.md +67 -0
- package/templates/skills/debrief/phases/report.md +59 -0
- package/templates/skills/debrief/phases/update-state.md +48 -0
- package/templates/skills/debrief/phases/upstream-feedback.md +129 -0
- package/templates/skills/debrief-quick/SKILL.md +12 -0
- package/templates/skills/execute/SKILL.md +293 -0
- package/templates/skills/execute/phases/cabinet.md +49 -0
- package/templates/skills/execute/phases/commit-and-deploy.md +66 -0
- package/templates/skills/execute/phases/load-plan.md +49 -0
- package/templates/skills/execute/phases/validators.md +50 -0
- package/templates/skills/execute/phases/verification-tools.md +67 -0
- package/templates/skills/extract/SKILL.md +168 -0
- package/templates/skills/investigate/SKILL.md +160 -0
- package/templates/skills/link/SKILL.md +52 -0
- package/templates/skills/menu/SKILL.md +61 -0
- package/templates/skills/onboard/SKILL.md +356 -0
- package/templates/skills/onboard/phases/detect-state.md +79 -0
- package/templates/skills/onboard/phases/generate-briefing.md +127 -0
- package/templates/skills/onboard/phases/generate-session-loop.md +87 -0
- package/templates/skills/onboard/phases/interview.md +233 -0
- package/templates/skills/onboard/phases/modularity-menu.md +162 -0
- package/templates/skills/onboard/phases/options.md +98 -0
- package/templates/skills/onboard/phases/post-onboard-audit.md +121 -0
- package/templates/skills/onboard/phases/summary.md +122 -0
- package/templates/skills/onboard/phases/work-tracking.md +231 -0
- package/templates/skills/orient/SKILL.md +251 -0
- package/templates/skills/orient/phases/auto-maintenance.md +48 -0
- package/templates/skills/orient/phases/briefing.md +53 -0
- package/templates/skills/orient/phases/cabinet.md +46 -0
- package/templates/skills/orient/phases/context.md +63 -0
- package/templates/skills/orient/phases/data-sync.md +35 -0
- package/templates/skills/orient/phases/health-checks.md +50 -0
- package/templates/skills/orient/phases/work-scan.md +69 -0
- package/templates/skills/orient-quick/SKILL.md +12 -0
- package/templates/skills/plan/SKILL.md +358 -0
- package/templates/skills/plan/phases/cabinet-critique.md +47 -0
- package/templates/skills/plan/phases/calibration-examples.md +75 -0
- package/templates/skills/plan/phases/completeness-check.md +44 -0
- package/templates/skills/plan/phases/composition-check.md +36 -0
- package/templates/skills/plan/phases/overlap-check.md +62 -0
- package/templates/skills/plan/phases/plan-template.md +69 -0
- package/templates/skills/plan/phases/present.md +60 -0
- package/templates/skills/plan/phases/research.md +43 -0
- package/templates/skills/plan/phases/work-tracker.md +95 -0
- package/templates/skills/publish/SKILL.md +74 -0
- package/templates/skills/pulse/SKILL.md +242 -0
- package/templates/skills/pulse/phases/auto-fix-scope.md +40 -0
- package/templates/skills/pulse/phases/checks.md +58 -0
- package/templates/skills/pulse/phases/output.md +54 -0
- package/templates/skills/seed/SKILL.md +257 -0
- package/templates/skills/seed/phases/build-member.md +93 -0
- package/templates/skills/seed/phases/evaluate-existing.md +61 -0
- package/templates/skills/seed/phases/maintain.md +92 -0
- package/templates/skills/seed/phases/scan-signals.md +86 -0
- package/templates/skills/triage-audit/SKILL.md +251 -0
- package/templates/skills/triage-audit/phases/apply-verdicts.md +90 -0
- package/templates/skills/triage-audit/phases/load-findings.md +38 -0
- package/templates/skills/triage-audit/phases/triage-ui.md +66 -0
- package/templates/skills/unlink/SKILL.md +35 -0
- package/templates/skills/validate/SKILL.md +116 -0
- package/templates/skills/validate/phases/validators.md +53 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Record Lessons — Capture What Was Learned
|
|
2
|
+
|
|
3
|
+
Define how to capture lessons from the session so future sessions are
|
|
4
|
+
smarter. This is the second irreducible purpose of debrief — without it,
|
|
5
|
+
the system does work but doesn't learn from it.
|
|
6
|
+
|
|
7
|
+
When this file is absent or empty, the default behavior is: ask whether
|
|
8
|
+
the session revealed anything future sessions need to know. To explicitly
|
|
9
|
+
skip lesson recording, write only `skip: true`.
|
|
10
|
+
|
|
11
|
+
Lessons are perishable. A lesson captured while context is fresh is worth
|
|
12
|
+
ten captured from memory next week. This is why recording happens during
|
|
13
|
+
debrief, not "sometime later."
|
|
14
|
+
|
|
15
|
+
## What to Include
|
|
16
|
+
|
|
17
|
+
- **What to look for** — types of lessons worth capturing
|
|
18
|
+
- **Where to record them** — memory files, logs, documentation
|
|
19
|
+
- **How to organize** — categories, patterns, cross-references
|
|
20
|
+
- **What NOT to record** — ephemeral details, things derivable from code
|
|
21
|
+
|
|
22
|
+
## Example Lesson Recording
|
|
23
|
+
|
|
24
|
+
Uncomment and adapt these for your project:
|
|
25
|
+
|
|
26
|
+
<!--
|
|
27
|
+
### What to Look For
|
|
28
|
+
|
|
29
|
+
Review the session and ask:
|
|
30
|
+
- Did we learn something future sessions need to know?
|
|
31
|
+
- A new pattern established
|
|
32
|
+
- A gotcha discovered
|
|
33
|
+
- A process gap identified
|
|
34
|
+
- A user preference revealed
|
|
35
|
+
- Is this the second or third time something came up? If the same kind
|
|
36
|
+
of problem keeps recurring, the lesson is "create a prevention mechanism"
|
|
37
|
+
not just "remember this."
|
|
38
|
+
- Did the session's work contradict any existing recorded knowledge?
|
|
39
|
+
If so, update or remove the stale record.
|
|
40
|
+
|
|
41
|
+
### Where to Record
|
|
42
|
+
|
|
43
|
+
**Feedback patterns** (corrections, confirmations):
|
|
44
|
+
Write to memory/patterns/ if it matches an existing pattern; write to
|
|
45
|
+
memory/archive/ as a raw observation if it's new. If 3+ raw observations
|
|
46
|
+
accumulate around a theme, consolidate into a pattern.
|
|
47
|
+
|
|
48
|
+
**Project state** (decisions, milestones, architecture changes):
|
|
49
|
+
Update the relevant project memory file or create one.
|
|
50
|
+
|
|
51
|
+
**User context** (preferences, role changes, domain knowledge):
|
|
52
|
+
Update the user context memory file.
|
|
53
|
+
|
|
54
|
+
**References** (external resources, tool URLs, account details):
|
|
55
|
+
Create or update a reference memory file.
|
|
56
|
+
|
|
57
|
+
### What NOT to Record
|
|
58
|
+
- Code patterns derivable by reading current files
|
|
59
|
+
- Git history (use git log)
|
|
60
|
+
- Debugging solutions (the fix is in the code)
|
|
61
|
+
- Anything already in CLAUDE.md files
|
|
62
|
+
- Ephemeral task details only relevant to this session
|
|
63
|
+
|
|
64
|
+
### Report What Was Recorded
|
|
65
|
+
Tell the user what memories were created or updated so they know what
|
|
66
|
+
the system will remember next time.
|
|
67
|
+
-->
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Report — How to Present the Debrief Summary
|
|
2
|
+
|
|
3
|
+
Define how to present the debrief results to the user. This is the
|
|
4
|
+
presentation phase — it can be skipped in quick mode without losing
|
|
5
|
+
any operational value (all core phases still run).
|
|
6
|
+
|
|
7
|
+
When this file is absent or empty, the default behavior is: present a
|
|
8
|
+
brief summary of work closed, state updated, and lessons recorded. To
|
|
9
|
+
explicitly skip the report, write only `skip: true`.
|
|
10
|
+
|
|
11
|
+
## What to Include
|
|
12
|
+
|
|
13
|
+
- **Format** — what sections to include in the report
|
|
14
|
+
- **Tone** — how to communicate results
|
|
15
|
+
- **Modes** — if your project uses different presentation modes (e.g.,
|
|
16
|
+
evening preview, verbose vs. compact)
|
|
17
|
+
- **What NOT to include** — execution guides, instructions for next
|
|
18
|
+
session (the work items ARE the handoff)
|
|
19
|
+
|
|
20
|
+
## Example Report Formats
|
|
21
|
+
|
|
22
|
+
Uncomment and adapt these for your project:
|
|
23
|
+
|
|
24
|
+
<!--
|
|
25
|
+
### Standard Report
|
|
26
|
+
|
|
27
|
+
Present in this order:
|
|
28
|
+
1. **Work closed** — items marked complete (with references)
|
|
29
|
+
2. **Feedback resolved** — comments or feedback addressed
|
|
30
|
+
3. **State updated** — files and docs that were updated
|
|
31
|
+
4. **Lessons recorded** — memories created or updated
|
|
32
|
+
5. **Loose ends captured** — non-project items routed
|
|
33
|
+
6. **Anything needing input** — keep this minimal
|
|
34
|
+
|
|
35
|
+
Tone: brief, factual. The user can read the diffs.
|
|
36
|
+
|
|
37
|
+
Do NOT produce "how to start next session" guides. The work items
|
|
38
|
+
have the full specs. If the items' notes are insufficient, update them
|
|
39
|
+
— don't compensate in chat output that vanishes with the session.
|
|
40
|
+
|
|
41
|
+
### Compact Report (quick mode fallback)
|
|
42
|
+
|
|
43
|
+
Bullet list, one line per category:
|
|
44
|
+
- Actions completed: [list with fids]
|
|
45
|
+
- Feedback resolved: [count]
|
|
46
|
+
- Lessons: [files updated]
|
|
47
|
+
|
|
48
|
+
No narrative, no suggestions.
|
|
49
|
+
|
|
50
|
+
### Evening Preview
|
|
51
|
+
|
|
52
|
+
If the session ends in the evening and your project tracks calendar
|
|
53
|
+
events or scheduled work, append a brief preview of tomorrow:
|
|
54
|
+
- Tomorrow's events
|
|
55
|
+
- Items due tomorrow
|
|
56
|
+
- Anything needing morning preparation
|
|
57
|
+
|
|
58
|
+
This is enough to mentally close the session.
|
|
59
|
+
-->
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Update State — What to Update After the Session
|
|
2
|
+
|
|
3
|
+
Define what state files and documentation to update so the system's
|
|
4
|
+
persistent state reflects what actually happened.
|
|
5
|
+
|
|
6
|
+
When this file is absent or empty, the default behavior is: check
|
|
7
|
+
whether system-status.md needs updating. To explicitly skip state
|
|
8
|
+
updates, write only `skip: true`. Stale state erodes
|
|
9
|
+
trust — an item marked "planned" that's actually built, or a status
|
|
10
|
+
file that says "incomplete" for something that shipped, makes the
|
|
11
|
+
system less reliable for the next orient.
|
|
12
|
+
|
|
13
|
+
## What to Include
|
|
14
|
+
|
|
15
|
+
For each state artifact, provide:
|
|
16
|
+
- **File** — what to check and potentially update
|
|
17
|
+
- **What changes** — what kind of updates to look for
|
|
18
|
+
- **How to update** — edit the file, run a command, call an API
|
|
19
|
+
|
|
20
|
+
## Example State Updates
|
|
21
|
+
|
|
22
|
+
Uncomment and adapt these for your project:
|
|
23
|
+
|
|
24
|
+
<!--
|
|
25
|
+
### System Status File
|
|
26
|
+
```
|
|
27
|
+
Read and update system-status.md:
|
|
28
|
+
- Move completed items from "Planned" or "In Progress" to "Built"
|
|
29
|
+
- Add new capabilities that didn't exist before
|
|
30
|
+
- Update any counts or metrics
|
|
31
|
+
- Note new known issues discovered during the session
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Project Documentation
|
|
35
|
+
Check if any of these need updating based on what changed:
|
|
36
|
+
- Root CLAUDE.md — new workflows, entity types, directories?
|
|
37
|
+
- Directory-level CLAUDE.md files — changed conventions?
|
|
38
|
+
- Schema or configuration files — new fields or types?
|
|
39
|
+
- README — new features or changed setup instructions?
|
|
40
|
+
|
|
41
|
+
Only update what actually changed. Don't rewrite docs for no reason.
|
|
42
|
+
|
|
43
|
+
### Skills and Process Docs
|
|
44
|
+
Review what happened during the session:
|
|
45
|
+
- Did any skill's instructions prove wrong or incomplete? Fix it.
|
|
46
|
+
- Did a workflow gap surface? Update the relevant skill.
|
|
47
|
+
- Did you discover a better approach? Record it where it helps.
|
|
48
|
+
-->
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Upstream Feedback — Surface CoR Friction to the Source
|
|
2
|
+
|
|
3
|
+
**Position:** Runs after record-lessons (step 7), before capture loose
|
|
4
|
+
ends (step 8). Lessons are fresh; friction is top of mind.
|
|
5
|
+
|
|
6
|
+
**This is an instruction phase** — it tells Claude what to do, not a
|
|
7
|
+
customization point for the project. It ships with CoR and should not
|
|
8
|
+
be deleted or replaced with `skip: true`.
|
|
9
|
+
|
|
10
|
+
## What This Phase Does
|
|
11
|
+
|
|
12
|
+
During debrief, Claude already has full session context: what was built,
|
|
13
|
+
what went wrong, what was learned. This phase asks Claude to reflect on
|
|
14
|
+
one narrow question: **was there friction with anything CoR provided?**
|
|
15
|
+
|
|
16
|
+
- A skill whose flow didn't match how the project actually works
|
|
17
|
+
- A phase file whose default behavior was wrong or confusing
|
|
18
|
+
- A convention that fought the project's grain
|
|
19
|
+
- A missing capability that required a workaround
|
|
20
|
+
- An unclear SKILL.md that led to wasted time
|
|
21
|
+
|
|
22
|
+
This is NOT the same as `/extract` (which looks for generalizable
|
|
23
|
+
artifacts to upstream). This is field feedback — "this thing you shipped
|
|
24
|
+
hurt when I used it."
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### 1. Claude Reflects (silent)
|
|
29
|
+
|
|
30
|
+
Review the session for CoR-specific friction. Consider:
|
|
31
|
+
|
|
32
|
+
- Did any CoR skill need to be worked around or used in an unintended way?
|
|
33
|
+
- Did a phase file's default behavior cause confusion or extra work?
|
|
34
|
+
- Was a SKILL.md unclear, leading to misinterpretation?
|
|
35
|
+
- Did the skeleton/phase separation feel wrong for something?
|
|
36
|
+
- Was something missing that would have helped?
|
|
37
|
+
- Did orient or debrief surface irrelevant information or miss something important?
|
|
38
|
+
|
|
39
|
+
If nothing comes to mind — **stop here silently**. Most sessions have
|
|
40
|
+
no CoR friction. Do not prompt the user with "any CoR feedback?" every
|
|
41
|
+
time. The phase produces nothing and costs nothing unless there's
|
|
42
|
+
something real.
|
|
43
|
+
|
|
44
|
+
### 2. Draft Feedback (if friction found)
|
|
45
|
+
|
|
46
|
+
For each friction point, draft a short feedback item:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
## [Short title]
|
|
50
|
+
|
|
51
|
+
**Skill/phase:** [which CoR component]
|
|
52
|
+
**Friction:** [what happened — 2-3 sentences max]
|
|
53
|
+
**Suggestion:** [what might be better — optional, can be "not sure"]
|
|
54
|
+
**Session context:** [one line about what the project was doing when this came up]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Keep it concrete. "The plan skill was confusing" is not useful.
|
|
58
|
+
"The plan skill's critique phase activated 4 cabinet members when only 1
|
|
59
|
+
was relevant, adding 3 minutes of noise to every plan" is useful.
|
|
60
|
+
|
|
61
|
+
### 3. Surface for Confirmation
|
|
62
|
+
|
|
63
|
+
Include the draft in the debrief report under a distinct heading:
|
|
64
|
+
|
|
65
|
+
> **Upstream feedback for CoR:**
|
|
66
|
+
> I noticed friction with [component]. Here's what I'd send:
|
|
67
|
+
> [draft]
|
|
68
|
+
>
|
|
69
|
+
> Send this upstream? (yes / edit / skip)
|
|
70
|
+
|
|
71
|
+
The user confirms, edits, or dismisses. One quick decision per item.
|
|
72
|
+
Do not ask open-ended questions. Do not batch — if there are multiple
|
|
73
|
+
friction points (rare), present each separately.
|
|
74
|
+
|
|
75
|
+
### 4. Deliver
|
|
76
|
+
|
|
77
|
+
If the user confirms, deliver the feedback. Detection and delivery
|
|
78
|
+
follow the same pattern as `/extract`:
|
|
79
|
+
|
|
80
|
+
**If linked** (the CoR package resolves to a local directory — check
|
|
81
|
+
if `node -e "console.log(require.resolve('create-claude-cabinet'))"`
|
|
82
|
+
points to a local path rather than a `node_modules` path):
|
|
83
|
+
|
|
84
|
+
- Write the feedback as a markdown file in the CoR repo's `feedback/`
|
|
85
|
+
directory (create it if needed)
|
|
86
|
+
- Filename: `[source-project]-[date]-[short-title].md`
|
|
87
|
+
(e.g., `flow-2026-04-04-plan-critique-noise.md`)
|
|
88
|
+
- Add frontmatter: `type: field-feedback`, `source: [project]`,
|
|
89
|
+
`date: [ISO date]`, `component: [skill/phase name]`
|
|
90
|
+
|
|
91
|
+
**If not linked**, check whether `gh` is available and authenticated
|
|
92
|
+
(`gh auth status` exits 0). Then present the user with their options:
|
|
93
|
+
|
|
94
|
+
- **If `gh` works**, offer two choices:
|
|
95
|
+
> "I can send this as a GitHub issue so the developer sees it
|
|
96
|
+
> directly, or save it locally. Which do you prefer?"
|
|
97
|
+
>
|
|
98
|
+
> 1. Send as GitHub issue
|
|
99
|
+
> 2. Save locally (I'll send it later or pass it along myself)
|
|
100
|
+
|
|
101
|
+
If they choose GitHub:
|
|
102
|
+
- Open a GitHub issue on `orenmagid/claude-cabinet`
|
|
103
|
+
- Title: `Field feedback: [short title]`
|
|
104
|
+
- Label: `field-feedback` (create if needed)
|
|
105
|
+
- Body: the feedback markdown
|
|
106
|
+
|
|
107
|
+
- **If `gh` is not available** (most common for non-developers):
|
|
108
|
+
> "I'll save this feedback locally for now. If you want, you can
|
|
109
|
+
> pass it along to the developer yourself, or set up a free GitHub
|
|
110
|
+
> account so future feedback goes directly to them. Here's a guide
|
|
111
|
+
> if you're interested:
|
|
112
|
+
> https://github.com/orenmagid/claude-cabinet/blob/main/GITHUB-SETUP.md
|
|
113
|
+
> — totally optional. Your feedback is saved either way."
|
|
114
|
+
|
|
115
|
+
**For either local save path:**
|
|
116
|
+
|
|
117
|
+
- Append the feedback to `~/.claude/cor-feedback-outbox.json` as a
|
|
118
|
+
JSON array entry with fields: `source` (project name), `date`,
|
|
119
|
+
`component`, `title`, `body`, `status: "pending"`
|
|
120
|
+
- Create the file if it doesn't exist (initialize with `[]`)
|
|
121
|
+
|
|
122
|
+
**Flushing the outbox:** If a user later sets up `gh` and asks to
|
|
123
|
+
send saved feedback, read the outbox, post each `pending` entry as
|
|
124
|
+
a GitHub issue, and update its status to `"sent"` with the issue URL.
|
|
125
|
+
|
|
126
|
+
### 5. Done
|
|
127
|
+
|
|
128
|
+
Note in the debrief report what was sent and where. Move on to the
|
|
129
|
+
next phase.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debrief-quick
|
|
3
|
+
description: |
|
|
4
|
+
Quick post-session debrief — core phases only, skip presentation.
|
|
5
|
+
Use when: "debrief-quick", "quick debrief", "/debrief-quick".
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /debrief-quick
|
|
9
|
+
|
|
10
|
+
Load the `/debrief` skill and run it in **Quick Mode** — core phases
|
|
11
|
+
only, skip presentation phases. See the debrief SKILL.md's Quick Mode
|
|
12
|
+
section for details.
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
---
|
|
2
|
+
model: opus
|
|
3
|
+
name: execute
|
|
4
|
+
description: |
|
|
5
|
+
Execute a plan with cabinet member checkpoints. Reads the plan, activates
|
|
6
|
+
relevant cabinet members, then implements step by step with checkpoint
|
|
7
|
+
reviews. This is a skeleton skill using the phases/ directory pattern.
|
|
8
|
+
Use when: "execute this plan", "implement this", "/execute".
|
|
9
|
+
related:
|
|
10
|
+
- type: skill
|
|
11
|
+
name: validate
|
|
12
|
+
- type: file
|
|
13
|
+
path: .claude/skills/execute/phases/load-plan.md
|
|
14
|
+
role: "Project-specific: where plans live and how to read them"
|
|
15
|
+
- type: file
|
|
16
|
+
path: .claude/skills/execute/phases/cabinet.md
|
|
17
|
+
role: "Project-specific: which cabinet members to activate for execution"
|
|
18
|
+
- type: file
|
|
19
|
+
path: .claude/skills/execute/phases/verification-tools.md
|
|
20
|
+
role: "Project-specific: tools for checking acceptance criteria"
|
|
21
|
+
- type: file
|
|
22
|
+
path: .claude/skills/execute/phases/validators.md
|
|
23
|
+
role: "Project-specific: what validation to run"
|
|
24
|
+
- type: file
|
|
25
|
+
path: .claude/skills/execute/phases/commit-and-deploy.md
|
|
26
|
+
role: "Project-specific: how to persist and deploy changes"
|
|
27
|
+
- type: file
|
|
28
|
+
path: cabinet/_briefing.md
|
|
29
|
+
role: "Project identity and configuration"
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# /execute — Plan Execution with Cabinet Checkpoints
|
|
33
|
+
|
|
34
|
+
## Purpose
|
|
35
|
+
|
|
36
|
+
Execute a plan with cabinet members providing checkpoint reviews along
|
|
37
|
+
the way. This is the inner loop: take one plan and implement it with
|
|
38
|
+
guardrails. The cabinet checkpoints catch issues that code review alone
|
|
39
|
+
would miss: security gaps, data
|
|
40
|
+
integrity violations, boundary condition failures.
|
|
41
|
+
|
|
42
|
+
This is a **skeleton skill** using the `phases/` directory pattern. The
|
|
43
|
+
orchestration (checkpoints, escalation, verification protocol) is generic.
|
|
44
|
+
Your project defines the specifics in phase files under `phases/`.
|
|
45
|
+
|
|
46
|
+
### Phase File Protocol
|
|
47
|
+
|
|
48
|
+
Phase files have three states:
|
|
49
|
+
|
|
50
|
+
| State | Meaning |
|
|
51
|
+
|-------|---------|
|
|
52
|
+
| Absent or empty | Use this skeleton's **default behavior** for the phase |
|
|
53
|
+
| Contains only `skip: true` | **Explicitly opted out** — skip this phase entirely |
|
|
54
|
+
| Contains content | **Custom behavior** — use the file's content instead |
|
|
55
|
+
|
|
56
|
+
The skeleton always does something reasonable when a phase file is absent.
|
|
57
|
+
Phase files customize, not enable. Use `skip: true` when you actively
|
|
58
|
+
don't want a phase to run — not even the default.
|
|
59
|
+
|
|
60
|
+
## Why This Matters
|
|
61
|
+
|
|
62
|
+
Without structured execution, the common failure mode is: implement,
|
|
63
|
+
compile, commit, mark done. The feature looks complete but acceptance
|
|
64
|
+
criteria were never verified, the pre-commit sweep never happened,
|
|
65
|
+
and the edge case that a boundary-man cabinet member would have
|
|
66
|
+
flagged ships to production.
|
|
67
|
+
|
|
68
|
+
The checkpoint protocol catches issues at three scales:
|
|
69
|
+
1. **Pre-implementation** — is the plan safe to start?
|
|
70
|
+
2. **Per-file-group** — do these changes look right in isolation?
|
|
71
|
+
3. **Pre-commit** — do all changes work together?
|
|
72
|
+
|
|
73
|
+
Each checkpoint is a chance to stop before the cost of fixing goes up.
|
|
74
|
+
|
|
75
|
+
## Workflow
|
|
76
|
+
|
|
77
|
+
### 1. Load the Plan
|
|
78
|
+
|
|
79
|
+
Read `phases/load-plan.md` for where your project stores plans and how
|
|
80
|
+
to read them (action notes, markdown files, issue tracker, etc.).
|
|
81
|
+
|
|
82
|
+
**Default (absent/empty):** Expect the plan to be provided in
|
|
83
|
+
conversation or referenced by the user. Ask which plan to execute if
|
|
84
|
+
it's not clear.
|
|
85
|
+
|
|
86
|
+
Identify from the plan:
|
|
87
|
+
- **Implementation steps** — what to do
|
|
88
|
+
- **Surface area** — which files
|
|
89
|
+
- **Acceptance criteria** — how to confirm it works
|
|
90
|
+
- **Plan type** — code plan (has file changes) or walkthrough plan
|
|
91
|
+
(manual setup, configuration, purchase)
|
|
92
|
+
|
|
93
|
+
#### Walkthrough Plans (non-code)
|
|
94
|
+
|
|
95
|
+
If the plan has no code changes, skip the file-group implementation
|
|
96
|
+
loop (Steps 4-5) and instead:
|
|
97
|
+
1. Present each step conversationally
|
|
98
|
+
2. Walk the user through each step, confirming completion
|
|
99
|
+
3. Help troubleshoot if something doesn't work as expected
|
|
100
|
+
4. Verify acceptance criteria as each step completes
|
|
101
|
+
|
|
102
|
+
### 2. Activate Cabinet Members
|
|
103
|
+
|
|
104
|
+
Read `phases/cabinet.md` for which cabinet members to activate during
|
|
105
|
+
execution, any always-on cabinet members, and any project-specific rules.
|
|
106
|
+
|
|
107
|
+
**Default (absent/empty):** Read `.claude/skills/cabinet-*/SKILL.md`
|
|
108
|
+
and select cabinet members whose convening criteria match:
|
|
109
|
+
- **standing-mandate: execute** — always included
|
|
110
|
+
- **File patterns** — any file in the plan's surface area matches
|
|
111
|
+
- **Topic keywords** — any keyword in the plan description matches
|
|
112
|
+
|
|
113
|
+
Err toward inclusion. A cabinet member that activates unnecessarily costs
|
|
114
|
+
a few seconds; one that doesn't activate when needed costs rework.
|
|
115
|
+
|
|
116
|
+
Prepare reusable briefing for agent prompts: read `_briefing.md` once and
|
|
117
|
+
keep the essential facts ready to paste into each agent's prompt.
|
|
118
|
+
|
|
119
|
+
If no cabinet members exist in the project, skip all checkpoint steps
|
|
120
|
+
(3, 4b, 5) and execute the plan directly. Checkpoints add depth, not
|
|
121
|
+
structure.
|
|
122
|
+
|
|
123
|
+
### 3. Checkpoint 1: Pre-Implementation Review (Parallel Agents)
|
|
124
|
+
|
|
125
|
+
Before writing any code, **spawn one Agent per activated cabinet member**
|
|
126
|
+
in a single message. Each receives:
|
|
127
|
+
- The cabinet member's full SKILL.md content
|
|
128
|
+
- Essential project briefing from `_briefing.md`
|
|
129
|
+
- The plan text and list of files that will change
|
|
130
|
+
- Instructions to evaluate whether the plan is safe to start
|
|
131
|
+
|
|
132
|
+
Each agent returns:
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"cabinet_member": "name",
|
|
136
|
+
"verdict": "continue" | "pause" | "stop",
|
|
137
|
+
"concerns": [
|
|
138
|
+
{ "description": "...", "evidence": "...", "severity": "blocking" | "advisory" }
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Collect all verdicts.** Apply escalation:
|
|
144
|
+
- Any **stop** → halt, show concern, require explicit override from user
|
|
145
|
+
- Any **pause** → show concern with options: proceed / address / abort
|
|
146
|
+
- 3+ **pause** → escalate to stop-equivalent
|
|
147
|
+
- All **continue** → proceed with brief summary
|
|
148
|
+
|
|
149
|
+
### 4. Implement (File Group by File Group)
|
|
150
|
+
|
|
151
|
+
Group the plan's implementation steps by logical file groups
|
|
152
|
+
(e.g., "backend API changes", "frontend components", "types and schemas").
|
|
153
|
+
|
|
154
|
+
For each group:
|
|
155
|
+
1. Make the changes
|
|
156
|
+
2. **Checkpoint 2: File Group Review** — if cabinet members are active,
|
|
157
|
+
spawn agents for ONLY cabinet members matching the changed files. Each
|
|
158
|
+
receives the git diff for this file group + plan context. Same
|
|
159
|
+
escalation rules as Checkpoint 1.
|
|
160
|
+
3. If all continue, move to the next group
|
|
161
|
+
|
|
162
|
+
File-group granularity keeps reviews focused. A cabinet member reviewing
|
|
163
|
+
3 changed files gives better feedback than one reviewing 30.
|
|
164
|
+
|
|
165
|
+
### 5. Checkpoint 3: Pre-Commit Sweep (Parallel Agents)
|
|
166
|
+
|
|
167
|
+
After all implementation is complete, **spawn one Agent per activated
|
|
168
|
+
cabinet member** in a single message. Each receives the full git diff of
|
|
169
|
+
all changes + plan context.
|
|
170
|
+
|
|
171
|
+
Earlier "continue" concerns are re-checked — a concern that was minor
|
|
172
|
+
in isolation may be significant in the aggregate.
|
|
173
|
+
|
|
174
|
+
### 6. Validate and Commit
|
|
175
|
+
|
|
176
|
+
After Checkpoint 3 passes:
|
|
177
|
+
|
|
178
|
+
**a. Run validators.** Read `phases/validators.md` for what validation
|
|
179
|
+
to run.
|
|
180
|
+
|
|
181
|
+
**Default (absent/empty):** Run whatever the project's `/validate` skill
|
|
182
|
+
does. If no validate skill exists, at minimum check that the code
|
|
183
|
+
compiles and lints cleanly.
|
|
184
|
+
|
|
185
|
+
If validation fails, fix issues and re-run Checkpoint 3 for the fix.
|
|
186
|
+
|
|
187
|
+
**b. Commit and deploy.** Read `phases/commit-and-deploy.md` for how
|
|
188
|
+
your project persists and deploys changes.
|
|
189
|
+
|
|
190
|
+
**Default (absent/empty):** Commit with a clear message describing the
|
|
191
|
+
implementation. Don't push or deploy unless the phase file says to —
|
|
192
|
+
deployment strategy is project-specific.
|
|
193
|
+
|
|
194
|
+
### 7. Verify Acceptance Criteria (QA Gate — MANDATORY)
|
|
195
|
+
|
|
196
|
+
Walk through **every** acceptance criterion in the plan, one by one.
|
|
197
|
+
|
|
198
|
+
Read `phases/verification-tools.md` for what tools your project has
|
|
199
|
+
for verifying criteria.
|
|
200
|
+
|
|
201
|
+
**Default (absent/empty):** Use whatever tools are available in the
|
|
202
|
+
environment. For [auto] criteria, run the command. For [manual] criteria,
|
|
203
|
+
attempt verification with available tools before deferring to the user.
|
|
204
|
+
|
|
205
|
+
For each criterion, determine its category and verify accordingly:
|
|
206
|
+
|
|
207
|
+
- **[auto] criteria** — RUN the check. Execute the command, curl the
|
|
208
|
+
endpoint, run the test. Record the actual output.
|
|
209
|
+
|
|
210
|
+
- **[manual] criteria** — Use whatever verification tools are available
|
|
211
|
+
(preview tools, browser automation, test runners). **Use tools before
|
|
212
|
+
deferring to the user.** Only defer when tools genuinely cannot verify
|
|
213
|
+
the criterion.
|
|
214
|
+
|
|
215
|
+
- **[deferred] criteria** — Note them as not yet verifiable. This
|
|
216
|
+
category is for criteria that depend on infrastructure not yet
|
|
217
|
+
available. It is NOT a bucket for checks you could do with tools.
|
|
218
|
+
|
|
219
|
+
**Report format:**
|
|
220
|
+
```
|
|
221
|
+
## AC Verification
|
|
222
|
+
Criteria: N total (X auto, Y verified-via-tools, Z needs-user, W deferred)
|
|
223
|
+
- [pass] [criterion] — verified: [actual result]
|
|
224
|
+
- [pass] [criterion] — verified via tools: [evidence]
|
|
225
|
+
- [user] [criterion] — needs-user: [why tools can't verify]
|
|
226
|
+
- [wait] [criterion] — deferred: [why not testable now]
|
|
227
|
+
- [FAIL] [criterion] — expected [X], got [Y]
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**If any [auto] criterion fails: STOP.** Fix the issue before proceeding.
|
|
231
|
+
Do not mark the work item complete with failing AC.
|
|
232
|
+
|
|
233
|
+
### 8. Close the Loop
|
|
234
|
+
|
|
235
|
+
Mark the work item as complete (if your project has a work tracker).
|
|
236
|
+
Run debrief if this was a full session. At minimum, ensure the work
|
|
237
|
+
is committed, validated, and verified before considering it done.
|
|
238
|
+
|
|
239
|
+
### 9. Discover Custom Phases
|
|
240
|
+
|
|
241
|
+
Check for any additional phase files in `phases/` that the skeleton
|
|
242
|
+
doesn't define. Execute them at their declared position.
|
|
243
|
+
|
|
244
|
+
## Phase Summary
|
|
245
|
+
|
|
246
|
+
| Phase | Absent = | What it customizes |
|
|
247
|
+
|-------|----------|-------------------|
|
|
248
|
+
| `load-plan.md` | Default: plan from conversation | Where plans live, how to read them |
|
|
249
|
+
| `cabinet.md` | Default: match by convening criteria | Which cabinet members, special rules |
|
|
250
|
+
| `verification-tools.md` | Default: use available env tools | Project-specific verification tools |
|
|
251
|
+
| `validators.md` | Default: run validate skill or linter | What validation to run |
|
|
252
|
+
| `commit-and-deploy.md` | Default: commit, don't push/deploy | How to persist and deploy changes |
|
|
253
|
+
|
|
254
|
+
## Principles
|
|
255
|
+
|
|
256
|
+
- **Cabinet members are guardrails, not gates.** The user always has the
|
|
257
|
+
final say. Stop verdicts require explicit override, not automatic
|
|
258
|
+
rejection.
|
|
259
|
+
- **Err toward inclusion** when selecting cabinet members. Better to have
|
|
260
|
+
a cabinet member say "looks fine" than to miss a concern.
|
|
261
|
+
- **File-group granularity** keeps checkpoint reviews focused. A
|
|
262
|
+
cabinet member reviewing 3 changed files gives better feedback than one
|
|
263
|
+
reviewing 30.
|
|
264
|
+
- **The pre-commit sweep catches emergent issues.** Individual file
|
|
265
|
+
groups may look fine but create problems in combination (type
|
|
266
|
+
mismatches across boundaries, security gaps from API + frontend
|
|
267
|
+
changes together).
|
|
268
|
+
|
|
269
|
+
## Calibration
|
|
270
|
+
|
|
271
|
+
**Core failure this targets:** Marking work complete without verifying
|
|
272
|
+
every acceptance criterion. The most dangerous variant isn't skipping
|
|
273
|
+
AC entirely — it's running some, fixing what fails, and not re-verifying
|
|
274
|
+
that the fix didn't break something else.
|
|
275
|
+
|
|
276
|
+
### Without Skill (Bad)
|
|
277
|
+
|
|
278
|
+
Plan says to add a new API endpoint + UI page. Claude implements the
|
|
279
|
+
endpoint and page, runs the type checker, sees it compiles. Commits.
|
|
280
|
+
Marks the work item complete. The plan had "[auto] POST /api/foo
|
|
281
|
+
returns 201" — never tested. The endpoint has a typo in the route
|
|
282
|
+
handler that returns 404. The "[manual] New page shows data table
|
|
283
|
+
with sorting" criterion was never checked — the page renders but the
|
|
284
|
+
sort handler throws. Two failing criteria, marked complete.
|
|
285
|
+
|
|
286
|
+
### With Skill (Good)
|
|
287
|
+
|
|
288
|
+
Same plan. Claude implements file-group by file-group with checkpoint
|
|
289
|
+
reviews. After implementation, walks through every AC line by line.
|
|
290
|
+
The auto criterion fails — route typo found and fixed. Re-verifies.
|
|
291
|
+
Manual criteria checked with available tools. Only marks complete
|
|
292
|
+
when all criteria pass. The next session inherits verified work, not
|
|
293
|
+
an assumption.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Cabinet Members — Which to Activate for Execution
|
|
2
|
+
|
|
3
|
+
Define which cabinet members to activate during plan execution, any
|
|
4
|
+
always-on cabinet members, and any project-specific checkpoint rules.
|
|
5
|
+
The /execute skill reads this file when selecting cabinet members for
|
|
6
|
+
the three checkpoint stages.
|
|
7
|
+
|
|
8
|
+
When this file is absent or empty, the default behavior is: scan all
|
|
9
|
+
cabinet members in `.claude/skills/cabinet-*/SKILL.md`, activate those
|
|
10
|
+
whose convening criteria match the plan's surface area or topic keywords.
|
|
11
|
+
To explicitly skip all cabinet member checkpoints (even if cabinet members
|
|
12
|
+
exist), write only `skip: true`.
|
|
13
|
+
|
|
14
|
+
If no cabinet members exist in the project, checkpoints are skipped regardless.
|
|
15
|
+
|
|
16
|
+
## What to Include
|
|
17
|
+
|
|
18
|
+
- **Always-on cabinet members** — cabinet members that activate for every
|
|
19
|
+
execution regardless of surface area
|
|
20
|
+
- **Checkpoint-specific rules** — which cabinet members at which checkpoints
|
|
21
|
+
(pre-implementation, per-file-group, pre-commit)
|
|
22
|
+
- **Escalation overrides** — stricter or more lenient than default
|
|
23
|
+
- **Performance tuning** — skip per-file-group checkpoints for small plans,
|
|
24
|
+
or reduce to pre-commit only for low-risk changes
|
|
25
|
+
|
|
26
|
+
## Example Cabinet Member Configurations
|
|
27
|
+
|
|
28
|
+
Uncomment and adapt these for your project:
|
|
29
|
+
|
|
30
|
+
<!--
|
|
31
|
+
### Always-On for Execution
|
|
32
|
+
These cabinet members activate at every checkpoint:
|
|
33
|
+
- boundary-man — catches edge cases in implementation
|
|
34
|
+
- qa — tracks acceptance criteria throughout
|
|
35
|
+
|
|
36
|
+
### Checkpoint-Specific Rules
|
|
37
|
+
- Pre-implementation (Checkpoint 1): all activated cabinet members
|
|
38
|
+
- Per-file-group (Checkpoint 2): only cabinet members matching changed files
|
|
39
|
+
- Pre-commit (Checkpoint 3): all activated cabinet members (full sweep)
|
|
40
|
+
|
|
41
|
+
### Performance Tuning
|
|
42
|
+
For plans with surface area <= 3 files, skip per-file-group checkpoints
|
|
43
|
+
(Checkpoint 2) and go straight to pre-commit sweep. The overhead of
|
|
44
|
+
multiple checkpoints isn't justified for small changes.
|
|
45
|
+
|
|
46
|
+
### Escalation Overrides
|
|
47
|
+
- Security **stop** → always halt, no bypass without explicit user ack
|
|
48
|
+
- QA **pause** for failing AC → escalate to stop (AC failures are blocking)
|
|
49
|
+
-->
|