Back to skills
extension
Category: Data & AnalyticsNo API key required

技能资产治理

技能资产治理 / 自动台账生成器。以文件系统为事实源扫描 ~/.workbuddy/skills/,解析 SKILL.md frontmatter(含 agent_created 与 YAML 折叠块标量),对照旧手写清单给出精确偏差(台账失效/自制未登记/卫生)。当用户想治理技能资产、检测台账脱节、自动生成权威技能清单、做技能审计、把台账扫描做成可复用技能时使用。触发词:技能治理、资产台账、技能清单、检测脱节、技能审计、自动台账、skill inventory、扫描技能。

personAuthor: user_58fad8c3hubcommunity

技能资产治理器(Skill Inventory)

文件系统为事实源治理技能资产,取代易过期的手写清单。

本技能自包含:脚本位于 scripts/skill-inventory.py,纯 Python 标准库实现,无需任何第三方依赖、无需建 venv、无需 pip install

何时用

  • 手写《自制技能清单_*.md》与实际技能目录脱节(声明数 ≠ 磁盘数)。
  • 想一键产出权威台账(md + json)并发现陈旧 / 遗漏 / 卫生问题。
  • 新增 / 删除 / 重命名技能后,刷新资产视图。

调用方式(直接用托管 Python)

PY="C:/Users/13301/.workbuddy/binaries/python/versions/3.13.12/python.exe"
SKILL_DIR="C:/Users/13301/.workbuddy/skills/skill-inventory"
"$PY" "$SKILL_DIR/scripts/skill-inventory.py" --out .

说明:--out . 把台账输出到当前工作目录(cwd)cwd 同时决定:

  • 旧台账查找:glob 自制技能清单_*.md
  • 项目级技能扫描:<cwd>/.workbuddy/skills/

用户级技能始终扫描 ~/.workbuddy/skills/(绝对路径,不依赖 cwd)。

参数

| 参数 | 默认值 | 说明 | |------|--------|------| | --skills-dir | ~/.workbuddy/skills | 用户级技能扫描根 | | --ledger | cwd 下《自制技能清单_*.md》 | 旧手写台账路径(对照用,可指定) | | --out | . | 台账输出目录 |

判定逻辑(不盲信手写数字)

  • 自制技能 = SKILL.md frontmatter 含 agent_created: true(用户级真实自制信号)
  • 台账声明 = 旧清单表格第 2 列反引号技能名(正则 \|\s*\d+\s*\|\s*([^]+) `,排除散文反引号)
  • 偏差 = 台账失效(声明但磁盘无) + 自制未登记(agent_created 但台账没记) + 卫生(无 SKILL.md / 无 frontmatter)

关键实现坑(已修复,备忘)

  • YAML 折叠块标量:很多 SKILL.md 用 description: >- / |。朴素 key:val 解析会拿到 >-,需检测 >/| 标记后累加后续缩进行。
  • 台账散文反引号:清单正文里的 skill-creator~/.workbuddy/skills/ 等会被误抓,必须用表格行正则过滤。
  • Windows 控制台:stdout 加 reconfigure(utf-8, errors="replace") 防 GBK 编码炸。

产出(落地即用)

  • skill_inventory_<日期>.json:全量 records + drift(机器可读,供下游编排/审计消费)
  • skill_inventory_<日期>.md:偏差速览 + 自制技能权威台账 + 官方参考 + 卫生 + 用法(含 [TOC]

进阶:设为每周自动化(可选)

可用 automation_update 每周跑一次,使台账永不过期:

  • name:技能资产周度治理
  • prompt:运行 skill-inventory 技能脚本(scripts/skill-inventory.py),把台账输出到当前工作目录
  • rruleFREQ=WEEKLY;BYDAY=MO;BYHOUR=9(每周一 9 点)

衔接

  • 配合 skill-orchestrator先治理后编排——资产理清后再把技能串成流水线。
  • 治理产出的 json 可直接作为编排器的技能目录清单输入。