commit-push-pr
Full git workflow - creates branch, commits, pushes, and creates or updates a PR with summary and test plan.
Apply agent-starter patterns to an EXISTING project - audits the codebase, proposes components by invasiveness tier (hooks, skills, CLAUDE.md, lint configs, patterns), and applies only what the developer approves. Use when the user says adopt, retrofit, "apply agent-starter to
$ npx -y skills add sneg55/agent-starter --skill adopt-project --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/adopt-projectContext preview
The summary Claude sees to decide when to auto-load this skill.
Apply agent-starter patterns to an EXISTING project - audits the codebase, proposes components by invasiveness tier (hooks, skills, CLAUDE.md, lint configs, patterns), and applies only what the developer approves. Use when the user says adopt, retrofit, "apply agent-starter to
name: adopt-project description: Apply agent-starter patterns to an EXISTING project - audits the codebase, proposes components by invasiveness tier (hooks, skills, CLAUDE.md, lint configs, patterns), and applies only what the developer approves. Use when the user says adopt, retrofit, "apply agent-starter to this project", or wants starter patterns in an existing codebase. user_invocable: true allowed-tools: - Read - Write - Edit - Bash - Glob - Grep
<!-- Mirrors ADOPT.md in the agent-starter repo. If ADOPT.md changes, update this skill to match. -->
Use on an existing codebase. Never on a green field - that's `/new-project`.
An existing project has state to audit, every change is potentially destructive, and adoption must be incremental. So the flow is **audit-first, merge-don't-overwrite, opt-in per component**.
Everything below is reversible by dropping the branch.
the developer wrote.
present). A red suite means stop and surface it.
non-invasive tier only.
never resolve them silently.
Ask one at a time:
1. **Components** - which are you interested in? (hooks / skills / CLAUDE.md + memory / lint configs / code patterns / "audit first, then decide") 2. **Repo path** - local path to agent-starter, e.g. `~/code/agent-starter` (only needed if files will be copied).
Build a gap report before proposing anything.
**Detect the stack:**
**Inventory** (present as a table: component | what exists | starter offering | conflicts):
ruff (`ruff.toml` or `[tool.ruff]` in pyproject), mypy/pyright configs
installed system-wide (`~/.claude/hooks/.agent-starter-version` - record the stamped version to compare against the repo `VERSION`)
`~/.claude/skills/{commit,commit-push-pr,simplify,remember,dream,new-project,adopt-project,reflect}`. Hooks and skills are **user-global**, so anything already installed already covers this project - don't re-propose it.
from the project root, or `find src -name '*.ts' -o -name '*.py' | xargs wc -l | sort -rn | head -20`
types? (grep for scattered `process.env` / `os.environ`, raw `throw new Error` / `raise Exception`)
Present the menu grouped by invasiveness, with per-item conflict notes from the audit. Wait for explicit approval per item (or "all of tier N"). Nothing is applied unapproved.
version matches the repo `VERSION`) - they're user-global and already cover this project. If stale, offer to update by re-running `bash <repo-path>/install.sh` (idempotent). Otherwise run it now: it installs to `~/.claude/hooks/` and merges the settings.json wiring with jq. Note for the developer: hooks are **user-global** - they will also fire in their other projects.
`<repo-path>/skills/` to `~/.claude/skills/`; leave already-present skills as-is (`for s in ...; do [ -d ~/.claude/skills/$s ] || cp -r <repo-path>/skills/$s ~/.claude/skills/; done`).
`mkdir -p .harness/reflections && echo '.harness/ledger.jsonl' >> .gitignore`
name and description.
Git Safety, Implementation Notes, Self-improvement loop. Read the existing file first; if its instructions contradict a starter section, list the contradictions and let the developer choose. The diff must show additions only.
**TypeScript:**
from the repo, install deps (see AGENT.md step 4 there), run on the codebase, and report the damage. Where existing code fails a rule en masse, downgrade that rule to `warn` with a ratchet note instead of fixing hundreds of violations in the adoption branch.
correctness rules from `guides/lint-rules-for-ai.md` into their config, or (b) migrate to the starter flat config, carrying their custom rules over.
adopt the ESLint half only.
**Python:**
`templates/pyrightconfig.json`, run `ruff check`, report counts per rule family, and do
Skills, hooks, templates, and engineering guides for bootstrapping AI-agent-friendly projects, with a per-project self-improvement loop.
Repo: sneg55/agent-starter
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,…
Per-project self-improvement - reads the .harness ledger and feedback memories, then proposes gated rule/threshold/ADR changes so the project stops repeating…