技能 Prune
- 作者仓库星标 290
- 作者仓库 communitytools
Skill Prune
Inverse of /skill-update. Removes content rather than adding it. Run during quarterly maintenance, after engagements, or when scripts/skill_linter.py reports orphans / duplicates.
When to invoke
- Quarterly cadence.
- After
scripts/skill_linter.py --check-orphansreports orphan reference files. - After a SKILL.md or reference file grows past its cap and needs trimming.
- After a de-specialization sweep, to drop content tied to retired challenges.
Prune criteria (the four signals — same shape as /skill-update, inverted)
A reference / scenario / line is a prune candidate when it satisfies any of:
- Orphan — not linked from any SKILL.md or other reference file in the last 60 days.
- Referenced only by failed engagements — appeared in
attack-chain.mdof runs that endedstatus=BLOCKED, never in a successful chain. - Contradicted by newer content — a later scenario / pattern supersedes it; the older entry no longer reflects current technique.
- Redundant with newer content — same technique covered more clearly elsewhere.
Removing content fails any of these → keep it.
Safety rules
- Never prune a file with
<!-- KEEP: <reason> -->annotation. - Never prune content cited in a still-open engagement's
OUTPUT_DIR/attack-chain.md. - Never prune the canonical-home file for a single-owner rule (brute-force, output-discipline, env-reader, skill-update).
- Bias toward keeping technique-rich content over operational lore.
Procedure
- Run
scripts/skill_linter.py --check-orphansto surface orphans. - For each candidate file or block, evaluate the four signals.
- Build a deletion plan — show files / lines to remove with one-line rationale per item.
- Apply deletions only after the plan is approved (skill-prune does not auto-delete during invocation).
- Re-run
scripts/skill_linter.pyto confirm the change broke no other links and didn't reintroduce duplicates.
Output
Concise change report:
- Removed. File or block + one-line rationale per item.
- Kept (flagged for follow-up). Items that failed all four signals but are worth revisiting next quarter.
- No prunes. State explicitly when nothing warranted removal.
Anti-Patterns
- Pruning content because it's old — age alone is not a signal; relevance is.
- Pruning a reference because its parent SKILL.md is bloated — fix the SKILL.md instead.
- Removing a single-owner canonical file (brute-force / output-discipline / env-reader).
- Pruning during an active engagement that may still cite the content.
- 流狐分类
- 工程开发
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @transilienceai · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Quarterly cadence. After scripts/skilllinter.py --check-orphans reports orphan reference files. After a SKILL.md or reference file grows past its cap and needs trimming.
A reference / scenario / line is a prune candidate when it satisfies any of: Orphan — not linked from any SKILL.md or other reference file in the last 60 days. Referenced only by failed engagements — appeared in attack-chain.md of runs that ended…
Never prune a file with <!-- KEEP: <reason> --> annotation. Never prune content cited in a still-open engagement's OUTPUTDIR/attack-chain.md. Never prune the canonical-home file for a single-owner rule (brute-force, output-discipline, env-reader,…
Run scripts/skilllinter.py --check-orphans to surface orphans. For each candidate file or block, evaluate the four signals. Build a deletion plan — show files / lines to remove with one-line rationale per item.
Concise change report: Removed. File or block + one-line rationale per item. Kept (flagged for follow-up). Items that failed all four signals but are worth revisiting next quarter.
Pruning content because it's old — age alone is not a signal; relevance is. Pruning a reference because its parent SKILL.md is bloated — fix the SKILL.md instead. Removing a single-owner canonical file (brute-force / output-discipline / env-reader).
# Skill Prune
Inverse of `/skill-update`. Removes content rather than adding it. Run during quarterly maintenance, after engagements, or when `scripts/skill_linter.py` reports orphans / duplicates.
## When to invoke
- Quarterly cadence.
- After `scripts/skill_linter.py --check-orphans` reports orphan reference files.
- After a SKILL.md or reference file grows past its cap and needs trimming.
- After a de-specialization sweep, to drop content tied to retired challenges.
## Prune criteria (the four signals — same shape as /skill-update, inverted)
A reference / scenario / line is a **prune candidate** when it satisfies any of:
1. **Orphan** — not linked from any SKILL.md or other reference file in the last 60 days.
2. **Referenced only by failed engagements** — appeared in `attack-chain.md` of runs that ended `status=BLOCKED`, never in a successful chain.
3. **Contradicted by newer content** — a later scenario / pattern supersedes it; the older entry no longer reflects current technique.
4. **Redundant with newer content** — same technique covered more clearly elsewhere.
Removing content fails any of these → keep it.
## Safety rules
- **Never** prune a file with `<!-- KEEP: <reason> -->` annotation.
- **Never** prune content cited in a still-open engagement's `OUTPUT_DIR/attack-chain.md`.
- **Never** prune the canonical-home file for a single-owner rule (brute-force, output-discipline, env-reader, skill-update).
- Bias toward keeping technique-rich content over operational lore.
## Procedure
1. Run `scripts/skill_linter.py --check-orphans` to surface orphans.
2. For each candidate file or block, evaluate the four signals.
3. Build a deletion plan — show files / lines to remove with one-line rationale per item.
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> When to invoke → Prune criteria (the four signals — same shape as /skill-update, inverted) → Safety rules → Procedure → Output → Anti-Patterns
要点 -> prune candidate · Orphan · Referenced only by failed engagements · Contradicted by newer content · Redundant with newer content · Never · Removed. · Kept (flagged for follow-up).
文件/命令 -> /skill-update · scripts/skilllinter.py · scripts/skilllinter.py --check-orphans · attack-chain.md · status=BLOCKED · <!-- KEEP: <reason> --> · OUTPUTDIR/attack-chain.md
内容 SHA-256 -> d9c8e676a64a
原文结构
适用与边界
原文中的明确线索
/skill-update、scripts/skilllinter.py、scripts/skilllinter.py --check-orphans、attack-chain.md、status=BLOCKED、<!-- KEEP: <reason> -->、OUTPUTDIR/attack-chain.md