mcpField
L
lvtd-skills-router

lvtd-skills-router

github.com/lvtd-llcAgent 工作流161 次安装7 周前更新
代码仓库

关于 lvtd-skills-router

lvtd-skills-router 是用于为任务挑选少量适用 LVTD skills 的 Agent 技能,依据领域、目标和所需证据进行路由,并在可用时使用生成的注册表元数据。

主要功能

  1. 01按领域和目标路由任务
  2. 02搜索技能与插件元数据
  3. 03优先选择一个具体主技能
  4. 04以注册表数据作为目录来源

适用场景

  1. 01为具体任务查找技能
  2. 02为工作流选择互补技能
  3. 03根据已安装插件元数据进行路由

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lvtd-llc/skills --skill lvtd-skills-router

安装后在 Claude Code 中输入/lvtd-skills-router确认已加载。

详细介绍

LVTD 技能路由器

使用此技能,为用户的问题选择最小且有效的 LVTD 技能集。根据领域、目标和所需证据进行路由。优先选择一个主要技能;只有当次要技能能在同一工作流中覆盖独立事项时,才添加次要技能。

权威来源

在此代码库中工作时,请勿在此技能中手动维护静态目录。请使用生成的元数据:

  1. 如果 dist/registry.json 缺失或已过时,请运行 npm run build:registry。
  2. 读取 dist/registry.json。
  3. 使用每个技能的 name、description、category、tags 以及 hosts.codex.plugin 或 hosts.claudeCode.plugin。
  4. 将没有 hosts.*.plugin 值的技能视为直接安装技能。

如果生成的注册表不可用,请检查 skills/*/SKILL.md 中的源 frontmatter,以及 scripts/marketplace-utils.mjs 中的插件分组规则。在此代码库之外使用已安装的插件时,请根据当前客户端中可用的已安装技能和插件元数据进行路由。

路由工作流

  1. 用一句话重述用户的具体任务。
  2. 搜索与该任务相关的技能名称、描述、标签和插件名称。
  3. 选择描述直接涵盖当前请求且匹配度最高的具体技能。
  4. 如果有多个技能匹配,优先选择最贴近用户实际工作的技能:实现优先于策略,诊断优先于宽泛规划;已知框架时,框架专用技能优先于框架无关技能。
  5. 仅当用户询问要安装什么,或当前客户端中没有匹配的技能时,才提及 Marketplace 插件名称。
  6. 如果用户要求执行工作,而不只是寻求建议,请使用选定的技能继续处理。

实用的注册表查询

列出当前 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