关于 lvtd-skills-router
lvtd-skills-router 是用于为任务挑选少量适用 LVTD skills 的 Agent 技能,依据领域、目标和所需证据进行路由,并在可用时使用生成的注册表元数据。
主要功能
- 01按领域和目标路由任务
- 02搜索技能与插件元数据
- 03优先选择一个具体主技能
- 04以注册表数据作为目录来源
适用场景
- 01为具体任务查找技能
- 02为工作流选择互补技能
- 03根据已安装插件元数据进行路由
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lvtd-llc/ skills --skill lvtd-skills-router安装后在 Claude Code 中输入/lvtd-skills-router确认已加载。
详细介绍
LVTD 技能路由器
使用此技能,为用户的问题选择最小且有效的 LVTD 技能集。根据领域、目标和所需证据进行路由。优先选择一个主要技能;只有当次要技能能在同一工作流中覆盖独立事项时,才添加次要技能。
权威来源
在此代码库中工作时,请勿在此技能中手动维护静态目录。请使用生成的元数据:
- 如果
dist/registry.json缺失或已过时,请运行npm run build:registry。 - 读取
dist/registry.json。 - 使用每个技能的
name、description、category、tags以及hosts.codex.plugin或hosts.claudeCode.plugin。 - 将没有
hosts.*.plugin值的技能视为直接安装技能。
如果生成的注册表不可用,请检查 skills/*/SKILL.md 中的源 frontmatter,以及 scripts/marketplace-utils.mjs 中的插件分组规则。在此代码库之外使用已安装的插件时,请根据当前客户端中可用的已安装技能和插件元数据进行路由。
路由工作流
- 用一句话重述用户的具体任务。
- 搜索与该任务相关的技能名称、描述、标签和插件名称。
- 选择描述直接涵盖当前请求且匹配度最高的具体技能。
- 如果有多个技能匹配,优先选择最贴近用户实际工作的技能:实现优先于策略,诊断优先于宽泛规划;已知框架时,框架专用技能优先于框架无关技能。
- 仅当用户询问要安装什么,或当前客户端中没有匹配的技能时,才提及 Marketplace 插件名称。
- 如果用户要求执行工作,而不只是寻求建议,请使用选定的技能继续处理。
实用的注册表查询
列出当前 Marketplace 插件及其包含的技能:
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(", ")}`);
}
'
按关键词查找候选技能:
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"
决胜规则
- Django 专用的 htmx 工作:选择
django-htmx;框架无关的模式或更深入的 htmx 机制使用htmx-*技能。 - Rust 游戏开发:如果请求明确与游戏相关,优先选择
rust-game-*或 Bevy、bracket、roguelike 技能,而不是通用 Rust 技能。 - 来自 Traction 的 SEO 渠道测试:选择
traction-seo-content;更广泛的 SEO 策略、路线图、技术 SEO 或链接建设工作属于seo。 - 实验设计、分析、平台策略或长期衡量:选择
practical-ab-testing;增长渠道测试属于traction。 - 开发者文档研究、规划、起草、示例、图表、信息架构或维护工作属于
developer-docs。 - 产品页、定价页、发布页、社交预览或可分享性审计:选择
make-product-viral。 - Calibre 资料库 CLI 工作:选择
calibredb。 - 框架专用技能之外的测试套件架构:选择框架无关的
tdd插件技能。
避免
- 不要为了浏览而加载所有候选技能。先根据元数据进行路由。
- 一旦某个具体技能明显匹配,就不要继续路由。
- 除非插件名称或技能列表是长期有效的决胜规则,否则不要将它们复制到此文件中。生成的注册表数据才是目录的权威来源。
评论
支持 Markdown