compact-bensz-skillslisted
Install: claude install-skill huangwb8/skills
# compact-bensz-skills
## 与 bensz-collect-bugs 的协作约定
- 因本 skill 设计缺陷导致的 bug,先用 `bensz-collect-bugs` 规范记录到 `~/.bensz-skills/bugs/`,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。
- 只有用户明确要求“report bensz skills bugs”等公开上报时,才用本地 `gh` 上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个仓库。
面向“**压缩某个 Agent Skill 的工作型 Markdown 文档,但不破坏其原有功能**”的维护型 skill。
## 输入
1. `skill_root`(必需)
- 目标 Agent Skill 根目录
2. `workspace_dir`(可选)
- 默认把本轮工作区建在 `<skill_root>/.compact-bensz-skills/run-{timestamp}/`
- 如果用户显式指定其它目录,则把它视为“run 容器根目录”,本轮仍落到其中的 `run-{timestamp}/`
3. `run_id`(可选)
- 用于在 `init -> measure -> validate` 间显式复用同一轮工作区
4. `test_dir`(可选)
- 默认 `<skill_root>/tests/compact-bensz-skills/`
## 核心原则
- **先理解,再压缩**:先读 `SKILL.md`、`config.yaml`、`scripts/` 和必要的 `references/`,再判断哪些 Markdown 可以缩短。
- **不改行为,只改表达**:压缩的是文档体积,不是功能边界;不得擅自新增、删除或扭曲目标 skill 的能力。
- **保护触发语义**:`SKILL.md` frontmatter 的 `name` 必须保持不变;`description` 只能等价压缩,不能丢失关键触发条件。
- **保护硬约束**:输入、输出、默认路径、安全限制、必跑脚本、失败条件、与其它 skill 的协作约定都必须保留。
- **只动源工作文件**:忽略目标 skill 的 `tests/`、`plans/` 及其内容,不把它们视为待压缩源文件。
- **默认不动说明文档**:目标 skill 根目录下的 `README.md`、`CHANGELOG.md` 一般属于面向人类的说明或发布记录,不视为默认压缩目标。
- **中间文件隔离**:分析、快照、统计、验证结果都写到隐藏目录 `.compact-bensz-skills/`;除非用户另有指定,不向外泄露中间文件。
- **按轮次隔离**:每次运行都应在 `.compact-bensz-skills/run-{timestamp}/` 内工作,避免多次压缩会话互相覆盖。
- **链接不能越界**:压缩后保留的本地 Markdown 链接必须仍位于目标 skill 根目录内,不能借相对路径跳到 skill 外部。
## 标准工作流
### 1. 初始化隐藏工作区
优先使用确定性脚本创建工作区、快照和 Markdown 清单:
```bash
python3 compact-bensz-skills/scripts/init_wo