{"slug":"compact-bensz-skills","title":"compact-bensz-skills","summary":"当用户明确要求“压缩/瘦身/精简某个 Agent Skill 的 Markdown 文档”“在不改变功能前提下降低 skill 上下文开销”时使用。先理解目标 skill 的真实能力与安全边界，再在忽略 `tests/`、`plans/` 以及目标 skill 的 `README.md`、`CHANGELOG.md` 的前提下，压缩 `SKILL.md`、`references/*.md` 等工作型 Markdown，并把中间产物隔离到 `.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skill","platform":"Claude","tags":["agent-skills"],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-27T17:01:24.870415Z","repo":{"url":"https://github.com/huangwb8/skills","stars":48,"forks":8,"license":"MIT","updatedAt":"2026-09-25T04:25:50Z"},"bodyHtml":"<h1>compact-bensz-skills</h1>\n<p><code>compact-bensz-skills</code> 用来压缩某个 Agent Skill 里的工作型 Markdown 文档，目标是在<strong>不改变原有功能</strong>的前提下，显著降低上下文体积。</p>\n<h2>最推荐用法</h2>\n<pre><code>请使用 compact-bensz-skills skill 压缩这个 Agent Skill 的工作型 Markdown 文档。\n输入：/path/to/target-skill\n输出：更新后的 skill 源文件；所有中间文件保存在目标目录下的 .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/\n</code></pre>\n<h2>适用场景</h2>\n<ul>\n<li>目标 skill 的 <code>SKILL.md</code>、<code>references/*.md</code> 明显冗长</li>\n<li>你希望节省上下文，但不想动脚本逻辑</li>\n<li>你需要先理解 skill，再做保守压缩</li>\n</ul>\n<h2>默认行为</h2>\n<ul>\n<li>工作区根：<code>&lt;skill_root&gt;/.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/</code></li>\n<li>每次运行目录：<code>&lt;skill_root&gt;/.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/{yyyy-mm-dd-hh-mm}/</code></li>\n<li>最近一次运行指针：<code>&lt;skill_root&gt;/.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/latest-run.txt</code></li>\n<li>测试区：<code>&lt;skill_root&gt;/tests/compact-bensz-skills/</code></li>\n<li>自动忽略：<code>tests/</code>、<code>plans/</code>、目标 skill 根目录下的 <code>README.md</code>、<code>CHANGELOG.md</code></li>\n<li>优先保留：frontmatter、输入输出契约、安全边界、命令与路径</li>\n<li>如果你显式指定外部 <code>workspace_dir</code>，脚本会接受，但验证报告会提示“中间文件已离开 skill 根目录”</li>\n</ul>\n<h2>常用示例</h2>\n<h3>示例 1：压缩单个 skill</h3>\n<pre><code>请使用 compact-bensz-skills skill 压缩 `git-pr-review` 这个 skill 的工作型 Markdown 文档。\n输入：/workspace/skills/git-pr-review\n输出：原 skill 目录内更新后的 Markdown；中间文件放到 `.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/`\n</code></pre>\n<h3>示例 2：指定额外约束</h3>\n<pre><code>请使用 compact-bensz-skills skill 压缩这个 skill 的工作型 Markdown。\n输入：/workspace/skills/my-skill\n输出：更新后的 skill 源文件\n另外，还有下列参数约束：\n- 只压缩 Markdown，不改 Python/Bash 脚本\n- 默认不要动 README.md / CHANGELOG.md\n- 不要改变 SKILL.md frontmatter 的 name\n- 压缩完成后要输出压缩前后统计\n</code></pre>\n<h2>运行时会生成什么</h2>\n<ul>\n<li><code>.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/latest-run.txt</code></li>\n<li><code>.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/{yyyy-mm-dd-hh-mm}/analysis/file-inventory.json</code></li>\n<li><code>.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/{yyyy-mm-dd-hh-mm}/analysis/compaction-plan.md</code></li>\n<li><code>.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/{yyyy-mm-dd-hh-mm}/reports/size-before.json</code></li>\n<li><code>.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/{yyyy-mm-dd-hh-mm}/reports/size-after.json</code></li>\n<li><code>.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/{yyyy-mm-dd-hh-mm}/reports/size-delta.md</code></li>\n<li><code>.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/compact-bensz-skills/{yyyy-mm-dd-hh-mm}/reports/validation.json</code></li>\n</ul>\n<h2>备选用法（脚本）</h2>\n<pre><code>python3 compact-bensz-skills/scripts/init_workspace.py --skill-root /path/to/target-skill\npython3 compact-bensz-skills/scripts/measure_markdown.py --skill-root /path/to/target-skill --phase after\npython3 compact-bensz-skills/scripts/validate_compaction.py --skill-root /path/to/target-skill\n</code></pre>\n<p>如果你想显式锁定某一轮：</p>\n<pre><code>python3 compact-bensz-skills/scripts/init_workspace.py --skill-root /path/to/target-skill\n# 记下输出里的 run_id\npython3 compact-bensz-skills/scripts/measure_markdown.py --skill-root /path/to/target-skill --run-id 2026-03-28-15-52 --phase after\npython3 compact-bensz-skills/scripts/validate_compaction.py --skill-root /path/to/target-skill --run-id 2026-03-28-15-52\n</code></pre>\n<h2>WHICHMODEL</h2>\n<p>最后核对：2026-03-28。</p>\n<ul>\n<li>OpenAI 路线：\n<ul>\n<li>复杂 skill 压缩、跨多份 <code>references/</code> 去重、需要保守保留约束时，优先 <code>gpt-5.4</code>；OpenAI 官方把它列为复杂推理、coding 和 agentic workflows 的起点。</li>\n<li>如果你主要在 Codex 里工作，且任务是“读文档 + 改文档 + 跑脚本验证”的 agentic coding 流程，可优先 <code>gpt-5-codex</code>；官方说明它是面向 Codex 一类环境优化的 agentic coding 模型。</li>\n<li>只做轻量统计、跑 helper scripts、整理测试记录时，可降到 <code>gpt-5.4-mini</code> 或同级快模型。</li>\n</ul>\n</li>\n<li>Anthropic 路线：\n<ul>\n<li>最复杂的压缩任务优先 <code>Opus</code>；Anthropic 官方建议复杂任务先从 Opus 开始。</li>\n<li>日常 skill 压缩、文档改写和一般验证优先 <code>Sonnet</code>；官方将其定位为速度与智能的最佳平衡，并在 Claude Code 中作为日常 coding 默认推荐档位。</li>\n<li>只做简单检查或批量轻任务时可用 <code>Haiku</code>。</li>\n</ul>\n</li>\n<li>长上下文优先级：\n<ul>\n<li>如果目标 skill 很大，优先选支持更长上下文的模型。OpenAI 当前前沿模型页给 <code>gpt-5.4</code> 标注了 1M context；Anthropic 也为 Sonnet/Opus 提供了 1M context 选项或长会话模式。</li>\n</ul>\n</li>\n</ul>\n<p>参考：</p>\n<ul>\n<li>OpenAI Models: <a href=\"https://developers.openai.com/api/docs/models\">https://developers.openai.com/api/docs/models</a></li>\n<li>OpenAI GPT-5-Codex: <a href=\"https://developers.openai.com/api/docs/models/gpt-5-codex\">https://developers.openai.com/api/docs/models/gpt-5-codex</a></li>\n<li>Anthropic Models Overview: <a href=\"https://platform.claude.com/docs/en/about-claude/models/overview\">https://platform.claude.com/docs/en/about-claude/models/overview</a></li>\n</ul>\n<h2>FAQ</h2>\n<h3>它会改 <code>tests/</code> 和 <code>plans/</code> 吗？</h3>\n<p>不会。这个 skill 默认忽略目标 skill 里的 <code>tests/</code> 和 <code>plans/</code>。</p>\n<h3>它会处理 <code>README.md</code> 或 <code>CHANGELOG.md</code> 吗？</h3>\n<p>默认不会。这个 skill 只把工作型 Markdown 视为主要目标；目标 skill 根目录下的 <code>README.md</code>、<code>CHANGELOG.md</code> 一般属于面向人类的说明或发布记录，不纳入默认压缩范围。</p>\n<h3>它会自动改脚本代码吗？</h3>\n<p>默认不会。它的核心目标是压缩 Markdown 文档；只有当文档与脚本明显不一致时，才应先指出风险，再做最小修正。</p>\n<h3>它怎么保证不破坏功能？</h3>\n<p>它要求先理解 <code>SKILL.md</code>、<code>config.yaml</code>、<code>scripts/</code>，然后再压缩文档，并在最后运行统计和校验脚本。</p>\n<h3>为什么现在要用 `</h3>\n<p>因为这个 skill 可能会反复执行。按分钟级 run 目录隔离后，每一轮的快照、统计和验证结果都能独立追溯，不会被下一轮覆盖；同一分钟重复运行时脚本会自动追加后缀。</p>\n<h3>它会检查相对链接是否越界吗？</h3>\n<p>会。<code>validate_compaction.py</code> 现在不仅检查链接是否存在，也会拒绝链接跳出目标 skill 根目录。</p>\n","files":[{"path":"CHANGELOG.md","sizeBytes":2573,"isText":true},{"path":"config.yaml","sizeBytes":1683,"isText":true},{"path":"README.md","sizeBytes":6455,"isText":true},{"path":"references/compaction-playbook.md","sizeBytes":1712,"isText":true},{"path":"references/preservation-checklist.md","sizeBytes":891,"isText":true},{"path":"references/validation-checklist.md","sizeBytes":902,"isText":true},{"path":"scripts/common.py","sizeBytes":10164,"isText":true},{"path":"scripts/init_workspace.py","sizeBytes":3846,"isText":true},{"path":"scripts/measure_markdown.py","sizeBytes":3020,"isText":true},{"path":"scripts/validate_compaction.py","sizeBytes":4788,"isText":true},{"path":"SKILL.md","sizeBytes":10156,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-08T11:57:29.155285Z","sha256":"F1D5EF7620F997AB06D579ADFE01CFD4013C30C328AE2D90D6D52C4A04FC0DB5","sizeBytes":20832},"review":null,"source":{"repositoryUrl":"https://github.com/huangwb8/skills","path":"skills/alpha/compact-bensz-skills","license":"MIT","commit":"9cba9fd64cd22f38af2c2503a11d8247be2090cd","subtreeSha":"3F00E848F43BF02694B8A1624156250B135178024B26922248B8F8685508E0C4","lastSyncedAt":"2026-09-25T07:37:25.617865Z"},"reviewedAt":"2026-09-08T12:08:02.753536Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/huangwb8/skills/tree/main/skills/alpha/compact-bensz-skills"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install huangwb8-skills@llmmart"},{"target":"git","command":"git clone https://github.com/huangwb8/skills.git"}]}