feat(pouch): add skill structure audit to cut token waste

Teach pouch to optimize a named skill's loading layout: keep SKILL.md as a
router, move mode-specific steps to references, and measure footprint with
an audit script instead of dumping the whole skill into context.
This commit is contained in:
2026-08-26 10:36:24 +08:00
parent 681aa9e237
commit 2be0964d73
6 changed files with 465 additions and 5 deletions
+34 -5
View File
@@ -1,16 +1,26 @@
---
name: pouch
description: >-
创建和维护 ~/.pouch 自研 skill:把项目开发中产生的想法提炼为草稿,完善并校验后发布
用 pouch add/remove 在项目及全局挂卸 skill,或用 pouch init 初始化 skill 项目状态
触发词:pouch、skiff、自研 skill、创建 skill、想做一个 skill、publish skill、安装自研 skill、
更新 skill 到项目、初始化 skill。
创建、校验、转正、安装或发布 ~/.pouch 自研 skill,初始化 skill 项目状态
或优化 skill 分层加载结构以减少 token 浪费
触发词:pouch、skiff、自研 skill、创建 skill、publish skill、安装自研 skill、
初始化 skill、优化 skill 结构、减少 token 浪费、skill 太长、分层加载
---
# pouch 自研 Skill 工作流
SSOT 固定在 `~/.pouch/skills/<name>/`。内容通过 **symlink** 分发到各 agent,改 SSOT 即全项目生效。
开始时解析当前 `SKILL.md` 所在目录,记为 `<pouch-skill-dir>`
## 选择模式
- 创建、完善、转正草稿:执行「创建新的 skill」。
- 行为不对、触发不准、校验失败、可复用优化回流:执行「问题或优化回流」。
- 优化结构、减少 token 浪费、skill 太长、分层加载:执行「优化 skill 结构」。先读
[token-structure.md](references/token-structure.md)。
- 安装、卸载、浏览、init、status:执行「安装与维护」。
---
## 在项目中使用 skill
@@ -38,7 +48,8 @@ pouch add <name> -a cursor -a claude -a codex -a agents -y
pouch create <name> --idea "<用户原始想法>" --from-project .
```
4. 编辑 `~/.pouch/.drafts/<name>/SKILL.md`完善触发条件、不适用场景、步骤、边界与验证方法。
4. 编辑 `~/.pouch/.drafts/<name>/SKILL.md`
[token-structure.md](references/token-structure.md) 写触发条件、步骤、边界与验证。
5. 编辑同目录的 `README.md`,用面向人类的语言说明用途、准备事项、可直接复制的请求示例、Agent 会做什么以及如何判断完成。README 不应复述 Agent 内部指令。
6. 仅在确有必要时增加 `references/``scripts/``assets/`。不要把项目专属路径、私有业务规则、一次性命令或密钥复制到通用 skill。
7. 运行校验并修复所有问题:
@@ -86,6 +97,24 @@ pouch publish skills/<name> -m "update <name>" --push
软链正确时无需重新安装;SSOT 保存后项目立即读取新内容。
## 优化 skill 结构
用户要求优化某个 skill 的结构、减少 token 浪费、skill 太长或分层加载时执行。只改
builtin 或草稿的 SSOT。第三方 catalog skill 不改安装目录,除非用户明确要维护 fork。
1. 确认目标名称。SSOT 为 `~/.pouch/skills/<name>/``~/.pouch/.drafts/<name>/`
2. 读取 [token-structure.md](references/token-structure.md)。
3. 只读审计输出,不要把目标 skill 的 `references/` 全量读进上下文:
```bash
python3 <pouch-skill-dir>/scripts/audit_skill_structure.py <name>
```
4. 审计 `status: within-budget` 且无空泛引用、无条件批量加载警告:按该文件报告 Keep,不改文件。
5. 否则按该文件改 SSOT。一次只改点名的那一个 skill。
6. 运行 `pouch check <name>`,并按该文件做模式场景核对。
7. 再跑审计脚本,按该文件报告。不自动 commit 或 `pouch publish`。
## 安装与维护
安装本项目的 `pouch` skill 到所有 Agent