From skillry-skill-library-and-installation
Use when you need to map skills to agents, departments, optional bindings, exclusions, and activation rules.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skillry-skill-library-and-installation:73-skill-to-agent-routerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Given a task description or skill name, determine which agent (or agents) in the roster is the correct executor — and which skills that agent should activate. Produce a routing decision with binding type (primary/optional/excluded), department assignment, and activation conditions. This is the dispatch layer between a task and the agent+skill combination that fulfils it, designed to prevent amb...
Given a task description or skill name, determine which agent (or agents) in the roster is the correct executor — and which skills that agent should activate. Produce a routing decision with binding type (primary/optional/excluded), department assignment, and activation conditions. This is the dispatch layer between a task and the agent+skill combination that fulfils it, designed to prevent ambiguous self-selection and routing a privileged action to an agent that lacks the right tool access.
71-skill-librarian.name:, description:, and skills: frontmatter from each AGENT.md (see Commands).Domain-to-agent map:
| Task domain | Likely agent family |
|---|---|
| Product / PRD / requirements | product-manager, product-analyst |
| Market research / competitive | researcher, analyst |
| Business model / unit economics | finance-analyst, strategy |
| Pricing / packaging | product-manager, revenue-ops |
| Technical writing / docs | technical-writer, developer-relations |
| ADR / architecture decisions | architect, senior-engineer |
| Skill library meta-tasks | skill-librarian-agent, orchestrator |
| Installation / path hygiene | sysadmin, devops |
| Code / engineering | engineer, developer |
# Roster scan: name, description, and skill bindings per agent
grep -rn "^name:\|^description:\|^skills:" ~/.claude/agents/*/AGENT.md | head -200
# Which agents already bind a given skill?
grep -rln "security-and-secrets-review" ~/.claude/agents/*/AGENT.md
# Detect agents with NO skills binding (routing gap candidates)
for d in ~/.claude/agents/*/; do
grep -q "^skills:" "$d/AGENT.md" 2>/dev/null || echo "no skills bound: $(basename "$d")"
done
## Skill-to-Agent Routing Decision
Task: [parsed task] Domain: [domain] Action: [action]
### Primary routing
Agent: [agent-name]
Skill binding: [skill-name] — Primary
Rationale: [one sentence]
Activation conditions: [none / list]
### Optional bindings
| Agent | Skill | Condition for activation |
|-------|-------|--------------------------|
### Excluded agents
| Agent | Reason |
|-------|--------|
### Multi-agent handoff (if applicable)
Step 1: [agent-A] runs [skill-X] → produces [artifact]
Step 2: [agent-B] consumes [artifact] → runs [skill-Y] → produces [final]
Orchestrator merges: [yes/no]
### Unresolved routing gaps
[task aspects no current agent covers — flag for roster expansion]
Task: "draft a PRD for the new export feature, backed by a competitor comparison, and turn it into an ADR for the storage-format decision." Parsed: three domains (product, research, architecture), action = generate, audience = internal, no production touch.
This is a multi-agent task — no single agent owns all three. The routing decision:
product-manager with 65-product-requirements-review (owns the PRD).researcher with 66-market-research-synthesis must run first — the PRD's positioning section consumes its competitor comparison. So step 1 is research, step 2 is the PRD.architect with 70-adr-generator consumes the PRD's storage requirement to produce the ADR (step 3).engineer (no implementation in scope yet); the orchestrator is the dispatcher, not an executor.Handoff chain: researcher → product-manager → architect, with the orchestrator owning the final merged deliverable (PRD + ADR). Stating the direction explicitly prevents the common failure of two agents both producing a half-PRD with no agreed owner of the final artifact.
The primary/optional/excluded distinction is what makes routing deterministic. Apply it with this test:
The rule: bind as primary only the skills the task actually requires, list optionals as on-demand, and always populate the exclusion list — routing without exclusions is routing by guess.
Return the routing decision block above: parsed task with domain/action, the primary agent and its skill binding with rationale and activation conditions, optional and excluded agent tables, a multi-agent handoff chain where applicable (with explicit direction and merge ownership), and any unresolved routing gaps flagged for roster expansion.
Done means the task was parsed, the roster was scanned by frontmatter only, a primary agent and skill binding were designated with rationale, optional/excluded agents and any handoff chain were listed, activation conditions were stated, and destructive routes carry an approval gate.
npx claudepluginhub fluxonlab/skillry --plugin skillry-skill-library-and-installationCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.