技能盘点助手 (skill-inventory)
扫描本机所有已安装技能,逐个读出 SKILL.md 的功能说明并展示。覆盖三个来源:
本地自创(~/.workbuddy/skills)、内置(plugins/cache/workbuddy-builtin)、
市场(plugins/cache/cb_teams_marketplace)。
何时使用
- 用户说"列出/盘点已装技能""我有哪些 skill""技能清单"。
- 用户想了解"某个技能是干嘛的 / 有什么用"。
- 用户按关键词找技能(如"电气相关的技能有哪些")。
- 用户怀疑技能有重复、缺功能说明、版本混乱,需要体检。
如何运行
脚本仅用 Python 标准库,用本机托管的 Python 运行(不依赖任何第三方包):
- 运行时自动定位托管 Python(版本号会变,切勿写死具体版本):
PY=$(ls "$HOME/.workbuddy/binaries/python/versions/"*/python.exe 2>/dev/null | head -1) - 用该 Python 执行脚本:
"$PY" "$HOME/.workbuddy/skills/skill-inventory/scripts/inventory.py" - 若上一步的 Python 不存在,降级尝试
python3/python(需在 PATH 中)。
脚本本身不需要联网,也不需要 pip 安装;只读本机技能目录,不修改任何已装文件。
命令与用途
在脚本后追加参数:
- 无参数:输出全量盘点(按来源分组表格 + 统计 + 轻量体检)。
--search 关键词:按 名称/显示名/功能说明 模糊筛选(大小写不敏感)。
(例:--search 电气列出所有与电气相关的技能)--detail 名称或显示名:查看某个技能的完整 SKILL.md 正文与路径。
(例:--detail kdocs)--cluster:按功能标签(电气/仪表/文档/设计/设备…)聚类分组展示;一个技能可挂多个标签,便于"按用途找技能"。--deps:输出技能引用关系图(mermaidgraph LR)+ 被提及排行。边A → B表示「A 的 SKILL.md / references 中提及了 B 的名称」,属启发式(可能含非真正依赖的提及)。建议配合--scope user使用,只看本地技能间关系,图更干净。--scope user|builtin|marketplace:只看某一来源。--export 文件路径:把盘点报告写成 Markdown 文件(便于留存/分享)。--json:输出 JSON(含 records 与 issues),供进一步处理。
输出说明
- 表格列:序号 / 名称 / 显示名 / 功能简介(截断)/ 版本 / 可见性。
- 功能简介取自 SKILL.md frontmatter 的
description(无则回退 description_zh/en)。 - "轻量体检"段会标出:
- ⚠️ 缺
description(功能说明为空,别人看不懂这个技能干嘛) - ⚠️ 无 frontmatter / 未标
version(建议补,便于版本管理) - 🔁 名称或显示名重复(同一技能在多处安装,或本地与内置撞名)
- 统计段给出总数、各来源数量、public 数量。
注意事项
- 本技能只读,不修改任何已装技能文件。
- 内置/市场技能很多没有
description(它们靠其它机制触发),体检里的
"缺 description" 对内置技能属正常,重点关注本地自创技能的缺失项。 - 同名重复多为"本地覆盖了内置同名技能"或"市场/内置多版本并存",按需清理。
发布与归档(v1.0.1 起)
本技能本体纯本地运行(读本地 skills 目录),不依赖云文档读写。版本发布/归档默认落地乐享知识库《7.workbuddy.skill》(由技能全生命周期管家执行);用户特别说明"归档到 WPS 云文档"时走 WPS 版。