mcpField
S
skill-library

skill-library

github.com/mathews-tomAgent 工作流33788 次安装2 天前更新
代码仓库

关于 skill-library

skill-library 是供 Agent 会话浏览和管理 Armory 目录包的技能。它支持搜索及旧版包类型的生命周期操作;原生扩展则须按单独流程明确确认主机后处理。

主要功能

  1. 01查看包及安装状态
  2. 02按关键词或类别搜索
  3. 03按识别出的类型安装包
  4. 04同步、更新和移除包
  5. 05原生扩展采用独立生命周期

适用场景

  1. 01按名称或类别查找包
  2. 02安装目录中的技能或 Agent
  3. 03检查包是否有更新
  4. 04查看原生扩展元数据

安装

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

$npx skills add https://github.com/mathews-tom/armory --skill skill-library

安装后在 Claude Code 中输入/skill-library确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
cookbook/
info.md
list.md
remove.md
search.md
sync.md
update.md
use.md
evals/
cases.yaml

详细介绍

软件包库

在 Agent 会话中浏览和搜索所有 armory 软件包类型。通过现有流程安装、更新、同步和移除七种旧版软件包类型;原生扩展则使用独立的、针对每个主机的显式生命周期管理方式。

变量

  • ARMORY_REPO:Mathews-Tom/armory
  • ARMORY_BRANCH:main
  • ARMORY_CATALOG_URL:https://raw.githubusercontent.com/{ARMORY_REPO}/{ARMORY_BRANCH}/manifest.yaml
  • DEFAULT_INSTALL_DIR:~/.claude/
  • CATALOG_CACHE_PATH:/tmp/armory-manifest.yaml
  • CATALOG_CACHE_TTL:600(秒)

支持的软件包类型

类型安装目标方法
skill~/.claude/skills/复制目录
agent~/.claude/agents/复制目录
hook~/.claude/hooks/复制目录
rule~/.claude/rules/仅文件正文
command~/.claude/commands/仅文件正文
utility~/.claude/utilities/复制 + chmod +x
preset~/.claude/presets/复制目录
extension每个主机的显式根目录仅限原生生命周期 CLI

命令参考

命令操作手册用途
/library listcookbook/list.md显示所有软件包及其类型、版本、安装状态和可用更新
/library list --type <type>cookbook/list.md按软件包类型筛选列表(skill、agent、hook、rule 等)
/library use <name>cookbook/use.md从 armory 拉取软件包(从清单自动检测类型)
/library search <keyword>cookbook/search.md按关键词搜索所有软件包类型、名称和描述
/library search --category <name>cookbook/search.md按类别筛选搜索结果(development、review、security 等)
/library synccookbook/sync.md重新拉取所有有可用更新的已安装软件包
/library info <name>cookbook/info.md显示软件包的完整详情(类型、版本、标签、类别)
/library updatecookbook/update.md检查所有已安装软件包是否有版本更新(同步试运行)
/library remove <name>cookbook/remove.md移除已安装的软件包
/library profilescookbook/profiles.md显示可用的安装配置及软件包数量

操作手册分派

根据子命令,将用户命令路由到相应的操作手册文件。收到 /library 命令后,提取子命令(/library 后的第一个词),并从相对于此技能的 cookbook/ 目录中加载匹配的操作手册文件。该文件包含对应操作的完整执行流程。

例如,/library use commit-standards 会分派到 cookbook/use.md,并将 commit-standards 作为软件包名称参数。/library list --type agent 会分派到 cookbook/list.md,并将 --type agent 作为筛选条件。

如果子命令与任何已知操作手册都不匹配,请报告错误并列出上表中的有效子命令。

原生扩展边界

此边界优先于旧版操作手册中的流程。

  • 在检查已安装路径或获取软件包文件之前,先根据对应的清单章节确定类型。检查目录时可以获取清单,但不得获取或复制原生扩展载荷。
  • 查询原生目录时,读取 packages.extensions 并显示目录元数据。不得根据 ~/.claude/skills/、旧版插件清单或任何其他提示词软件包目录推断原生安装状态;应报告未检查原生安装状态。
  • 拒绝对 extension 执行 /library use、同步、更新或移除文件系统操作。绝不将原生制品复制到技能、Agent 或其他旧版目录,绝不隐式启用它们,也绝不将配置文件或预设视为原生安装授权。
  • 用户明确确认原生宿主、生命周期操作和目标根目录后,将操作移交给现有 Armory 检出目录中的 uv run python scripts/install.py,并明确指定所有原生标志:--type extension --platform <omp|claude> --name <name> --action <install|update|disable|remove> --target-root <explicit-root> --yes。未经确认,绝不提供 --yes。不得代用户选择宿主或持久根目录,也不得将移交操作作为旧版库操作的一部分执行。
  • 原生条目仍可在目录中查找,但绝不计入旧版配置文件成员或软件包数量。执行批量旧版操作时,在展开所选内容前排除 packages.extensions。

类型检测

调用 /library use <name> 时,搜索清单的所有章节(packages.skills、packages.agents、packages.hooks 等),以确定软件包类型。第一个包含匹配 name 条目的章节决定其类型。使用该类型来:

  1. 解析正确的源路径:{type_dir}/{name}/
  2. 确定安装目标:~/.claude/{install_subdir}/
  3. 选择安装方式:复制目录或仅提取正文

行为说明

  • 所有 bash 操作都必须使用绝对路径。绝不 cd 进入临时目录。
  • 获取操作使用三级回退链:稀疏检出,然后 gh api,最后 curl。按顺序逐一尝试;只有失败时才继续下一种方式。
  • 缓存位于 /tmp/,有效期为 10 分钟。缓存文件缺失视为已过期(触发重新获取),而非错误。
  • 目录从 GitHub 上的 manifest.yaml(位于 ARMORY_CATALOG_URL)读取,而非来自单独的目录文件。此清单格式与 Armory 仓库使用的格式相同。
  • 所有软件包类型章节共用相同的条目格式:name、version、description、path、source,以及可选的 tags、category、difficulty。

评论

支持 Markdown