技能整理(我的技能清单生成器)
Overview
本技能把散落在 ~/.workbuddy/skills/ 下的所有技能,整理成一份可交互的单页 HTML 清单,方便随时盘点:自己开发了哪些、下载了哪些、分别属于什么类别、开发于何时、各自用途是什么。
生成结果包含:
- 顶部统计(总数 / 自研 / 下载 / 待确认)
- 搜索框 + 来源筛选(全部 / 自研 / 下载 / 未知)+ 分类标签
- 卡片视图 / 表格视图(表格点表头可排序)
- 点击任意技能 → 弹窗看完整磁盘路径与完整说明(v1.1.0 起不再截断,旧版仅显示 90 字摘要;卡片仍显示摘要)
- 「未知」来源的技能可在弹窗里改来源/分类(本机浏览器记住);并提供「复制永久修正」标注,可贴回技能文件或生成器永久生效
适用场景(何时触发)
- 用户说「整理一下我的技能」「做个我的技能清单」「盘点技能」「我的技能页面」
- 用户想看自己开发 vs 下载的技能分布、某个技能的用途/日期
- 用户新增或删除了技能,希望清单自动同步
核心流程
Step 1:运行生成器
脚本仅依赖 Python 标准库(无需 pip 安装任何包)。
# 默认输出到当前目录的 我的技能.html
python3 gen_my_skills.py
# 指定输出位置与扫描根(可选)
python3 gen_my_skills.py --out /path/to/我的技能.html --root ~/.workbuddy/skills
Step 2:打开页面
双击生成的 我的技能.html(纯前端、离线可用)。后续新增/删除技能,重跑脚本即刷新。
Step 3:长期维护(可选)
- 来源标记约定:今后新建技能时,在
SKILL.md头部加一行source: self(自研)或source: downloaded(下载),页面会自动归类,不再落入「未知」。 - 分类纠偏:若某技能分类不准,在生成器同目录建
skill_overrides.json,写入{"文件夹名": {"category": "目标分类"}},重跑即生效。
依赖
- Python 3.8+,仅用标准库(os / re / json / datetime / argparse)。
备注
- 扫描范围:
~/.workbuddy/skills/*/SKILL.md - 来源判定:
agent_created: true或source: self→ 自研;文件夹含__skillhub或带市场字段 → 下载;都无 → 未知 - 分类:内置关键词表自动归类,未命中归「其他」
- 日期:优先 frontmatter 日期 → 正文
vX·YYYY-MM-DD→ 文件夹创建时间兜底