skills/tailor-skills/SKILL.md
Per-repo skill subset selector. Reads the current project, reads the spellbook catalog, picks 10-20 skills that fit this repo, writes the selection to .spellbook.yaml so bootstrap only symlinks that subset. Use when: "tailor skills", "select skills", "prune skills", "tailor catalog for this repo", "scope skills to this repo", "reduce context bloat". Trigger: /tailor-skills.
npx skillsauth add phrazzld/spellbook tailor-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pick the skill subset that fits this repo and record it. Every skill costs context in every session; most skills don't fit most repos. This skill is the commit-tracked filter that makes bootstrap honor a local catalog.
Read repo context. Inspect the current project: language, manifest files (package.json, Cargo.toml, pyproject.toml, go.mod, Gemfile, etc.), test framework, CI config, README. Form a one-paragraph mental model of what this repo is and what work happens here.
Read the catalog. Resolve $SPELLBOOK: prefer the $SPELLBOOK
env var if set; otherwise readlink -f this SKILL.md and walk up
two directories (works for symlink installs). Fail loud if neither
resolves to a dir containing index.yaml. Read
$SPELLBOOK/index.yaml — the generated catalog has name +
description + source per skill. That's your input, not a glob of
SKILL.md files.
Pick 10-20 skills. For each, write one line of justification tied to the repo's actual characteristics. Prefer first-party over externals. Skip speculative picks ("we might need X someday"). Aim for 10-20; fewer is fine for tiny repos. Emit all picks + justifications to stdout so the human can review.
Write $PROJECT_ROOT/.spellbook.yaml. Resolve $PROJECT_ROOT
via git rev-parse --show-toplevel of the invoking repo. Format:
# Tailored skill set for this repo. Bootstrap honors this allowlist.
# Delete this file to restore the global set.
skills:
- deliver
- shape
- implement
# ... one per line
With --dry-run, emit the proposed list + justifications to stdout
and stop — don't touch the file.
.spellbook.yaml goes into git, not .gitignore.
Every dev / agent session gets the same scoped set../bootstrap.sh
restores the global set. No migration.--dry-run proposes without writing.index.yaml with source: external. Named
the same way in .spellbook.yaml. Prefer them only when the repo
genuinely needs that tool (skill-creator for Docker-heavy repos,
pptx for deck-producing repos, etc.)./deliver,
/flywheel), also name its phase skills (/shape, /implement,
/code-review, /ci, /refactor, /qa). There is no declarative
dependency graph — enumerate them yourself.harness,
research, ceo-review — if the repo does anything AI-adjacent,
include them.index.yaml is regenerated by
scripts/generate-index.sh. If a chosen skill disappeared after
regeneration, bootstrap prints a warning and skips it — the
allowlist is intersected with what actually exists.testing
Capture agent-session work records as local JSONL audit evidence. Links a backlog/spec, branch, commits, review verdicts, QA/demo evidence, transcript refs, and shipped ref without storing raw private transcripts. Use when: "trace this work", "write work record", "agent session trace", "journal this delivery", "link transcript evidence". Trigger: /trace, /journal.
data-ai
Turn proven agent-session patterns into first-party Harness Kit skills. Use when: "skillify this conversation", "make this into a skill", "generate a skill from current transcript", "extract reusable workflow". Trigger: /skillify.
documentation
Final mile from merge-ready branch to shipped: squash-merge, archive backlog tickets with trailers, update touched docs, run /reflect, apply outputs. Assumes /deliver or /deliver --polish-only already made the branch ready. Use when: "ship it", "merge and close out", "final mile", "land and reflect", "finish this ticket". Trigger: /ship.
testing
Vendor the system-wide Harness Kit catalog into the current repo when a project needs checked-in local copies instead of relying on global bootstrap symlinks. Copies first-party skills and agents into a repo-local shared skill layer, then bridges harness-specific entrypoints back to that shared copy. Use when: "seed this repo", "vendor harness kit here", "initialize the agent here", "set me up offline". Trigger: /seed.