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 one compounding repo-technical learning while a solved problem is still fresh. Use when: after a bug fix, diagnosis, delivery, review, or incident reveals a reusable pattern worth adding to `docs/solutions/`. Trigger: /compound, /capture-learning, /learning.
testing
Route Misty Step factory application capabilities. Use when choosing, auditing, integrating, or operating Canary, Powder, Landmark, Aesthetic, or Bitterblossom: production observability, incidents, health checks, error logging, backlog/work-card state, release intelligence, UI/UX system adoption, or supervised/unsupervised agent dispatch. Trigger: /factory-apps, /factory-stack.
testing
Prove a skill beats no-skill with a falsifiable A/B eval, or retire it. Design, generate, run, and maintain a skill-specific eval: name the one claim the skill must earn, run it skill-on vs raw same-model, grade blind with objective checks first, return a keep/adapt/cut verdict. Use when: "eval this skill", "does this skill help", "prove the skill beats no skill", "write an eval for", "benchmark a skill", "is this skill worth it", "skill A/B", "skill regression test", "generate skill evals". Trigger: /skill-eval, /eval-skill, /prove-skill.
tools
> Template. Copy to `<target-repo>/.agents/skills/<repo>-<domain>/SKILL.md` > and fill every bracketed placeholder from the live target repo. Delete this > line and every other `> ` guidance line before committing. See > `../../references/repo-local-skill-generation.md` for the full process. --- name: <repo>-<domain> description: | [One paragraph: what this skill verifies/runs/operates for <repo>, stated in terms of the repo's real shape (service/CLI/library/etc.), not generic process. En