adopt-project
Apply agent-starter patterns to an EXISTING project - audits the codebase, proposes components by invasiveness tier (hooks, skills, CLAUDE.md, lint configs,…
Per-project self-improvement - reads the .harness ledger and feedback memories, then proposes gated rule/threshold/ADR changes so the project stops repeating mistakes. Run periodically.
$ npx -y skills add sneg55/agent-starter --skill reflect --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/reflectContext preview
The summary Claude sees to decide when to auto-load this skill.
Per-project self-improvement - reads the .harness ledger and feedback memories, then proposes gated rule/threshold/ADR changes so the project stops repeating mistakes. Run periodically.
name: reflect description: Per-project self-improvement - reads the .harness ledger and feedback memories, then proposes gated rule/threshold/ADR changes so the project stops repeating mistakes. Run periodically. user_invocable: true allowed-tools: - Read - Write - Edit - Bash - Glob - Grep
You are performing a reflection - turning the signal this project has captured into durable improvements. Nothing is applied without the developer's approval.
`~/.claude/hooks/harness-ledger-stats.sh --ledger .harness/ledger.jsonl --min-recurr 3` If that path doesn't exist, the hooks aren't installed at `~/.claude/hooks/` - run the copy from wherever this project keeps them. If the script prints all zeros there is no ledger yet (no signal captured) - stop; there is nothing to reflect on.
corrections and are the highest-value signal. Locate the memory directory first (it sits next to `MEMORY.md`; `find . -name MEMORY.md` if unsure), then `grep -l 'type: feedback' <memory-dir>/*.md`.
metric snapshot and what was already changed.
From the stats output and feedback memories, identify recurring problems:
keeps firing in the same area.
For each cluster, draft exactly one proposed change, choosing the fitting type:
| Type | When | Where it lands | |------|------|----------------| | **Project rule** | a convention would stop the repeat | append to `CLAUDE.md` project-specific section | | **Threshold change** | a guardrail is too strict/loose | a diff to `.claude/settings.json` or the hook - **shown, never auto-applied** | | **Lint rule** | the mistake is mechanically catchable | a diff to `eslint.config.mjs` / `biome.jsonc` | | **ADR / knowledge** | durable "why" worth keeping | a new memory file or `docs/adr/` note |
Present all proposals together as a numbered list with the concrete change for each.
reflection report to `.harness/reflections/YYYY-MM-DD.md` containing:
The report is committed; the raw `.harness/ledger.jsonl` stays gitignored. Signal is private; wisdom is shared.
The headline metric is `recurring_events` from the stats output. Compare it to the value in the previous reflection report. If a rule you promoted last time worked, the cluster it targeted should have shrunk. Note the trend explicitly in the new report.
Skills, hooks, templates, and engineering guides for bootstrapping AI-agent-friendly projects, with a per-project self-improvement loop.
Repo: sneg55/agent-starter
Apply agent-starter patterns to an EXISTING project - audits the codebase, proposes components by invasiveness tier (hooks, skills, CLAUDE.md, lint configs,…
Full git workflow - creates branch, commits, pushes, and creates or updates a PR with summary and test plan.
Create a single well-crafted git commit from current changes. Analyzes diff, follows repo's commit style, and writes a concise "why not what" message.
Memory consolidation - review, merge, prune, and index memory files. Run periodically to keep memories organized and up-to-date.
Full project bootstrap - interviews the developer (name, description, stack, components), then scaffolds directory structure, CLAUDE.md, config files, hooks,…