About lvtd-skills-router
lvtd-skills-router is an agent skill for selecting the smallest relevant set of LVTD skills for a task. It routes by domain, outcome, and evidence, using generated registry metadata when available.
Key features
- 01Routes tasks by domain and outcome
- 02Searches skill and plugin metadata
- 03Prefers one specific primary skill
- 04Uses registry data as catalog source
Use cases
- 01Finding a skill for a concrete task
- 02Choosing complementary skills for a workflow
- 03Routing from installed plugin metadata
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ lvtd-llc/ skills --skill lvtd-skills-routerAfter installing, type/lvtd-skills-routerin Claude Code to confirm it loaded.
Details
From the project READMELVTD Skills Router
Use this skill to choose the smallest useful set of LVTD skills for the user's problem. Route by domain, outcome, and evidence needed. Prefer one primary skill; add secondary skills only when they cover a separate concern in the same workflow.
Source Of Truth
When working inside this repository, do not hand-maintain a static catalog in this skill. Use generated metadata:
- Run
npm run build:registryifdist/registry.jsonis missing or stale. - Read
dist/registry.json. - Use each skill's
name,description,category,tags, andhosts.codex.pluginorhosts.claudeCode.plugin. - Treat skills without a
hosts.*.pluginvalue as direct-install skills.
When the generated registry is not available, inspect source frontmatter in
skills/*/SKILL.md and plugin grouping rules in scripts/marketplace-utils.mjs.
When using an installed plugin outside this repository, route from the installed
skills and plugin metadata available in the current client.
Routing Workflow
- Restate the user's concrete task in one phrase.
- Search skill names, descriptions, tags, and plugin names for that task.
- Choose the most specific matching skill whose description directly covers the current request.
- If several skills match, prefer the one closest to the user's actual work: implementation over strategy, diagnosis over broad planning, framework-specific over framework-neutral when the framework is known.
- Name the marketplace plugin only when the user asks what to install or when the matching skill is unavailable in the current client.
- Continue with the selected skill when the user asked for work, not just advice.
Useful Registry Queries
List current marketplace plugins and included skills:
node --input-type=module -e '
import { readFile } from "node:fs/promises";
const registry = JSON.parse(await readFile("dist/registry.json", "utf8"));
const plugins = new Map();
const direct = [];
for (const skill of registry.skills) {
const plugin = skill.hosts?.codex?.plugin || skill.hosts?.claudeCode?.plugin;
if (!plugin) {
direct.push(skill.name);
continue;
}
plugins.set(plugin, [...(plugins.get(plugin) || []), skill.name]);
}
for (const [plugin, skills] of [...plugins.entries()].sort()) {
console.log(`${plugin}: ${skills.sort().join(", ")}`);
}
if (direct.length) {
console.log(`direct-install: ${direct.sort().join(", ")}`);
}
'
Find candidate skills by keyword:
node --input-type=module -e '
import { readFile } from "node:fs/promises";
const query = process.argv.slice(1).join(" ").toLowerCase();
const registry = JSON.parse(await readFile("dist/registry.json", "utf8"));
for (const skill of registry.skills) {
const haystack = [
skill.name,
skill.displayName,
skill.description,
skill.category,
...(skill.tags || []),
].join(" ").toLowerCase();
if (haystack.includes(query)) {
const plugin = skill.hosts?.codex?.plugin || "direct-install";
console.log(`${skill.name} (${plugin}) - ${skill.description}`);
}
}
' "calibredb"
Tie-Breakers
- Django-specific htmx work: choose
django-htmx; usehtmx-*skills for framework-neutral patterns or deeper htmx mechanics. - Rust game work: choose
rust-game-*or Bevy/bracket/roguelike skills before general Rust skills when the request is explicitly game-related. - SEO channel tests from Traction: choose
traction-seo-content; broader SEO strategy, roadmap, technical SEO, or link-building work belongs inseo. - Experiment design, analysis, platform strategy, or long-term measurement:
choose
practical-ab-testing; growth channel tests belong intraction. - Developer documentation research, planning, drafting, samples, diagrams,
information architecture, or maintenance belongs in
developer-docs. - Product page, pricing page, launch page, social preview, or shareability audit:
choose
make-product-viral. - Calibre library CLI work: choose
calibredb. - Test suite architecture outside a framework-specific skill: choose the
framework-neutral
tddplugin skills.
Avoid
- Do not load every candidate skill just to browse. Route from metadata first.
- Do not continue routing once a specific skill clearly fits.
- Do not copy plugin names or skill lists into this file unless they are durable tie-breakers. Generated registry data is the catalog source of truth.