danshari-skilllisted
Install: claude install-skill swaylq/danshari-skill
# 断舍离 · skill 减法术
> 「别的 skill 都在教 agent 做更多事,这一个教它少背点东西。」
## 核心理念
skill 不是免费的。每装一个,它的名字和描述就进每一轮的系统提示词——那是常驻的 token 税;描述之间还会互相抢触发,误触发一次比没有 skill 更糟;而模型每变强一代,就有一批「教模型做它已经会的事」的 skill 从资产变成负债。
三分法定生死:
| 类型 | 定义 | 命运 |
|------|------|------|
| **能力型** | 教模型「怎么想 / 怎么做」的通用方法 | 模型升级会淘汰它——审计重点 |
| **环境型** | 包装某个工具,或补 harness 缺的功能 | harness 与 MCP 演进会取代它 |
| **知识型** | 记录模型不可能知道的私有事实(账号、路径、内部约定、口令流程) | 永不因模型变强而过时,只因事实变化而腐烂 |
判决要证据,不要直觉:能力型 skill 判死刑前先盲测(Phase 3)。
## 执行流程
### Phase 0 · 环境快照
审计基准是「现在的你」,先把它写下来:
- **模型**:从系统提示词读当前 model id(如 `claude-fable-5`)与知识截止时间。
- **harness 内建**:清点本会话可用的内建工具与功能——网页搜索 / 抓取、子 agent、计划模式、自动记忆、定时任务、内建评审命令等。以会话内实际可见为准。
- **MCP**:列出已接入的 MCP server 及各自工具。优先读会话内已可见的 `mcp__*` 工具名或 harness 配置文件;别在活会话里跑注册表增删查命令,有的 harness 会因此重连、坏掉当前会话。
- **skill 清单**:跑 `tools/inventory.py`。默认扫个人(`~/.claude/skills`)、项目(`./.claude/skills`)与插件目录;其他 host 用 `--root` 指路径。得到每个 skill 的描述、粗估 token 税、体积、最后改动时间。
### Phase 1 · 三分类
逐个读 SKILL.md(读头部与骨架即可,别全文精读大文件),按三分法归类。常见**混合型**——一层通用说教包着几行私有事实——单独标记,天然的修剪候选。
### Phase 2 · 五问审判
逐个过堂,任何一问坐实即得判决候补:
1. **模型已内化?**(能力型)——拿掉这个 skill,当前模型裸做是否同样好?典型:分步思考脚手架、通用代码评审清单、commit 写法教程、总结 / 翻译模板、提示词格式指南。
2. **harness 已自带?**(环境型)——内建功能是否已覆盖?典型:手搓网页搜索 vs 内建搜索工具,「帮我记住」hack vs 自动记忆,手搓计划流程 vs 计划模式,手搓定时 vs 内建 schedule。
3. **MCP 已接管?**(环境型)——某个已接入的 MCP server 是否用真 API 提供了同样能力?典型:curl 拼 Slack / GitHub 请求的胶水 skill vs 对应 MCP。
4. **被吞并 / 重复?**——另一个已装 skill 是否为它的超集?两个 skill 的触发词是否互相打架、造成误触发?
5. **已腐烂?**——引用的路径 / 模型 / API 版本 / 主机还在吗?带的脚本还能跑吗?腐烂的 skill 比无用