Skip to main content

compound

Use when finishing a non-trivial task, fixing a bug, completing a feature, or wrapping up a session and you want the work to make the system smarter next time. Runs the compound loop — consult memory, do the work, verify with an independent subagent (max 3 cycles), then distill only CONFIRMED lessons into STATE.md and memory. Triggers on "compound", "make this stick", "close the loop", or end-of-task wrap-up.

معلومات المصدر

المستودع
sethdford/claude-toolkit
آخر نشاط في المصدر
٢٤ يونيو ٢٠٢٦ في ١١:٣٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
compound
description
Use when finishing a non-trivial task, fixing a bug, completing a feature, or wrapping up a session and you want the work to make the system smarter next time. Runs the compound loop — consult memory, do the work, verify with an independent subagent (max 3 cycles), then distill only CONFIRMED lessons into STATE.md and memory. Triggers on "compound", "make this stick", "close the loop", or end-of-task wrap-up.
# Compound — the self-improving loop Make this session leave the next one smarter. The loop enforces the five-stage progression **fail → investigate → verify → distill → consult**. The discipline that matters is **never writing a lesson until an independent verifier has confirmed it (stage 3) and you've generalized it into a rule (stage 4)**. Logging raw failures is not compounding. Create a TodoWrite item per step below and work them in order. ## Step 0 — CONSULT (read before doing) - Read `STATE.md` at the repo root if it exists. If it doesn't exist and this is a real project, create it (automatically — don't ask) with exactly these sections: ```markdown # Project memory · <PROJECT NAME> ## Now <!-- what we're actively working on --> ## Verified facts <!-- stage 3: things we stopped guessing about, each with how it was verified --> ## General rules <!-- stage 4: distilled rules that apply beyond the specific case --> ## Open failures <!-- stages 1-2: symptom · hypothesis · reproduction (command or file:line) --> ## Lessons learned <!-- stage 4 distillations not yet promoted to rules --> ## Waiting for human <!-- blocked items after 3 failed verify cycles: what's blocked · tried · needed --> ## Last session <!-- stage 5 resume pointer: timestamp · what landed · what's next --> ``` (The same skeleton also ships as `STATE.template.md` beside this skill, with fuller comments.) - Skim your Claude Code memory (the `MEMORY.md` index is auto-loaded into sessions). Pull the "Verified facts" and "General rules" into your working plan so you don't re-derive what's already known. ## Step 1–2 — WORK, then INVESTIGATE failures - Do the task. - When something fails, do **not** just move on. Spend a beat on *why*, then append to `STATE.md` → **Open failures** with: a one-line symptom, your current hypothesis, and a concrete reproduction path (command or file:line). This is stages 1–2. ## Step 3 — VERIFY (independent, max 3 cycles) Dispatch the **`verifier`** subagent shipped with this plugin — do NOT grade your own work. (It registers as `verifier`, or as `compound-loop:verifier` when installed as a plugin; either name resolves.) ``` Agent(subagent_type: "verifier", prompt: "<what changed, the rubric/acceptance criteria, and where to find the artifacts>") ``` The verifier runs the project's tests/lint/build itself and returns `VERDICT: PASS|FAIL` with evidence and gaps. - **FAIL** → fix the named gaps, re-dispatch. Cap at **3 cycles**. - **3rd FAIL** → stop. Write a clear entry under `STATE.md` → **Waiting for human** (what's blocked, what you tried, what you need) and surface it. Do not declare success. - **PASS** → continue to distill. If there are no runnable checks (e.g. docs/config), give the verifier explicit acceptance criteria so it still grades against something concrete, not vibes. ## Step 4 — DISTILL (only after PASS) Turn the verified outcome into a **general rule**, then write it to the right scope: - **Project-specific fact or rule** → `STATE.md` (Verified facts / General rules). - **Cross-project rule** ("X always breaks on Y") → a new file in your Claude Code user memory directory + a one-line pointer in `MEMORY.md`. - **A repeatable procedure** → sharpen the relevant **skill** (add a "Known failure modes" or "Anti-patterns" note). Procedural memory travels further than a state file. Write the *generalization*, not the incident. "Auth middleware must be rate_limit → jwt → rbac; reversing causes 401s" — not "fixed the 401 today." ## Step 5 — POINTER (resume, don't restart) Update `STATE.md` → **Last session**: timestamp, what landed, what's next. The next session reads this first and resumes instead of rediscovering. ## Guardrails - **Maker never grades maker.** Verification is always the `verifier` subagent. - **No unverified lessons.** Distillation is gated on a verifier PASS. - **Respect the memory budget.** Only the first ~200 lines / 25 KB of `MEMORY.md` auto-loads into subagents. Keep the index lean; consolidate when it grows. - **Bias to honesty.** If the verifier couldn't actually run the checks, treat it as not verified — write to "Waiting for human," not "Verified facts." ## Provenance Patterns adopted from [`cobusgreyling/loop-engineering`](https://github.com/cobusgreyling/loop-engineering) (five primitives, state file, the "Verifier Theater" failure mode; endorsed by Boris Cherny) and Anthropic's official sub-agents / memory-tool docs. Full design in `docs/DESIGN.md`.
عرض على GitHub