PluginBench
Skill
Review
Audit score 70

claude-md-progressive-disclosurer

daymade/claude-code-skills

How to install claude-md-progressive-disclosurer

npx skills add https://github.com/daymade/claude-code-skills --skill claude-md-progressive-disclosurer
Claude Code
Cursor
Windsurf
Cline
Full instructions (SKILL.md)

Source of truth, from daymade/claude-code-skills.


name: claude-md-progressive-disclosurer description: | Optimize / slim down / restructure a CLAUDE.md (or AGENTS.md) using progressive disclosure — move low-frequency detail to Level 2 references while keeping Level 1 lean, WITHOUT losing information. Use this whenever the user asks to optimize / 精简 / 瘦身 / 重构 CLAUDE.md, asks "CLAUDE.md 是不是太大了 / 太长了" (is my CLAUDE.md too big / too long / bloated), wants to 把内容拆到 reference / 外部 / Level 2, do 整段外移 / 渐进式披露 / progressive disclosure, or whenever a CLAUDE.md duplicates info across files or the LLM keeps failing to follow its rules. ALSO trigger the moment an optimization turns into moving / cutting / compressing sections of a CLAUDE.md — even mid-task while another claude-md skill is already running. Distinct from claude-md quality auditors / scorers: this is the restructuring-and-offloading methodology that guarantees zero information loss (grep-verified pointers, verbatim moves, 5b content-integrity audit).

CLAUDE.md 渐进式披露优化器

核心理念

"找到最小的高信号 token 集合,最大化期望结果的可能性。" — Anthropic

目标是最大化信息效率、可读性、可维护性。

本 skill 自身遵守渐进式披露:新方法论以"精炼规则 + 触发条件"留在 SKILL.md,深度战例 / 引文沉到 references/。SKILL.md 行数由信息密度决定、不设为硬目标(约 500 行量级;新增高价值规则可略超,但深度永远沉 references)——skill 自己示范它教别人的事:行数不是 KPI,自洽地不拿"≤N 行"约束自己。

铁律:行数禁作 KPI,可作诊断症状

禁作优化目标 / 成功指标(不可削弱——案例 7/8/9 的防线就是这条):

  • 行数少不代表更好,行数多不代表更差
  • 评判标准是:单一信息源(同一信息不在多处维护)、认知相关性(当前任务不需要的信息不干扰注意力)、维护一致性(改一处不需要同步另一处)——不是行数
  • 禁止在优化方案 / 总结中出现"从 X 行精简到 Y 行"、"减少 Z%"作为成果
  • 禁止把"减少行数"作为移动 / 删除某内容的理由
  • 一个结构清晰、信息不重复的长文件,胜过砍掉关键信息的短文件

可作诊断症状(官方依据:Claude Code 文档"文件太长 → 规则被淹没 → Claude 不遵守"):

  • 允许把"行数异常大 + Claude 反复不遵守某规则"当成触发调查的信号,不是结论
  • 调查动作仍是信号分诊(Step 2.1)+ 分层,不是"砍到 N 行"
  • 一句话区分:行数可以让你开始怀疑,不可以成为你优化的目标汇报的成果

触发即 reframe(用户说「太大 / 太长 / 精简 / 瘦身」时——最易在此处跑偏)

这些词触发的本能是「砍行数」。先 reframe,再动手:① 当场声明「行数不是目标,单一信息源 / 认知相关性才是」;② 直接进 Step 2.1 信号分诊,用「这段有没有 canonical source 重复 / 是不是反信号」决定去留,不是用「文件多长」;③ 把「太大吗」当调查的起点,不是砍的许可。用户连续追问「还是太大」时同理——回应是「再做一轮分诊找重复 / 反信号」,分诊空了就诚实说「剩下都是高频核心,再砍会丢信号」,不是继续砍有信息的内容。(实战:把「太大吗」做成减行数任务、一路用「省 39%」当成果汇报、被连续追问拽着越砍越多 → 案例 15、16。)

两层架构

Level 1 (CLAUDE.md) - 每次对话都加载
├── 信息记录原则               ← 防止未来膨胀的自我约束
├── Reference 索引(开头)     ← 入口1:遇到问题查这里
├── 核心命令表
├── 铁律/禁令(含代码示例)
├── 常见错误诊断(症状→原因→修复)
├── 代码模式(可直接复制)
├── 目录映射(功能→文件)
├── 修改代码前必读             ← 入口2:改代码前查这里
└── Reference 触发索引(末尾) ← 入口3:长对话后复述

Level 2 (references/) - 按需即时加载
├── 详细 SOP 流程
├── 边缘情况处理
├── 完整配置示例
└── 历史决策记录

多入口原则(重要!)

同一 Level 2 资源可以有多个入口,服务于不同查找路径:

入口位置触发场景用户心态
Reference 索引开头遇到错误/问题"出 bug 了,查哪个文档?"
修改代码前必读中间准备改代码"我要改 X,要注意什么?"
Reference 触发索引末尾长对话定位"刚才说的那个文档是哪个?"

这不是重复,是多入口。 就像书有目录(按章节)、索引(按关键词)、快速参考卡(按任务)。

边界(与 SSOT 的张力,必须守住):多入口成立仅当——每个入口 keyed 方式不同(错误索引 / 任务索引 / 末尾复述),且都只指向同一 Level 2 资源、不复制它的正文。如果你把同一段规则正文抄到 3 个地方,那是违反 SSOT 的重复(会各自漂移),不是多入口。一句话判据:入口存的是"路标 + 触发条件",不是"内容副本"。


优化工作流

Step 1: 备份

cp CLAUDE.md CLAUDE.md.bak.$(date +%Y%m%d_%H%M%S)

Step 2: 内容分类

分两阶段。先分诊,再分层——跳过分诊会把噪音忠实搬进 Level 2,把 reference 变垃圾场。

2.1 信号分诊(必要性闸门,先决)

对每个章节先问 Anthropic 官方 litmus:"删掉这一条,Claude 会不会犯错?"

  • 会犯错 → 是信号,进入 2.2 分层
  • 不会犯错,且属以下任一 → 是反信号,列入"候选删除"清单:
    • 能从代码 / 项目结构 / 文件名推断的(如"本项目用 TypeScript")
    • 语言 / 框架的标准约定(如"遵循 PEP 8")
    • 自明常识(如"写干净的代码""提交前测试")
    • 已有独立 canonical source 覆盖的(注明 source 在哪)
    • 已过时的一次性修复(不会再复发)
    • 确定性必须每次发生的(如"提交前必跑 lint")→ 标记"建议转 hook",不替用户实现(散文保证不了确定性)

安全栏(与移动同等严格,不可削弱):候选删除 ≠ 立即删除。必须事前逐项列出 + 注明属上面哪类 + 征求用户确认。说不出理由 = 不是反信号,回 2.2 当信号处理。

与案例 8/9 的边界:8/9 是把真信号(debug 提示、代码模式)在移动时压缩掉 = 永远错;这一步是移除已确认反信号(可推断 / 自明)= 正确。区别在"删的是不是信号",不在"删不删"。详见 references/progressive_disclosure_principles.md 案例 10。

2.2 分层分类

通过分诊的信号分类:

问题
高频使用?Level 1
违反后果严重?Level 1
有代码模式需要直接复制?Level 1 保留模式
有明确触发条件?Level 2 + 触发条件
历史/参考资料?Level 2考虑删除

Step 3: 创建 Reference 文件

命名:docs/references/{主题}-sop.md

铁律:原样移动,禁止压缩

移动内容到 Level 2 时,必须完整保留原始内容。不要在移动的同时"顺便精简"。

✅ 正确:把 100 行原封不动搬到 Level 2(100 行 → Level 2 100 行)
❌ 错误:把 100 行"精简"到 60 行搬到 Level 2(100 行 → Level 2 60 行,40 行消失)

为什么:压缩 = 变相删除。你认为"不重要"而删掉的内容,可能是某个未来 debug session 的关键线索。优化的目标是改变信息的位置(Level 1 → Level 2),不是改变信息的存在

怎么做

  1. 从原始 CLAUDE.md 中精确复制要移动的段落
  2. 原样粘贴到 Level 2 文件中
  3. 可以在 Level 2 中添加结构(标题、分隔线),但不要删减、改写、合并原始内容
  4. 如果确实有冗余(同一段话在原文中出现了多次),在 Level 2 中保留一份完整的,注释说明去重

Step 4: 更新 Level 1

  1. 在开头添加「信息记录原则」(项目概述之后,Reference 索引之前)
  2. 添加 Reference 索引(紧随信息记录原则之后)
  3. 用触发条件格式替换详细内容
  4. 保留代码模式和错误诊断
  5. 添加「修改代码前必读」表格(按"要改什么"索引)
  6. 在末尾再放一份触发索引表

⚠️ 写指针前的硬 gate(事中验证,最易跳过、本次最大踩坑):每写一条「→ 某 reference / 详见 X」指针前,当场 grep 确认目标文件真有这段内容。三种结果:① 目标已有完整内容 → 写指针;② 目标没有 / 不确定是否完整 → 先把原文 verbatim cut 到目标(回 Step 3),再写指针;③ 绝不写「指向一个其实没有该内容的文件」的假指针。假指针比丢内容更隐蔽——它让 5a「文件存在」通过、却在读者点进去时才发现是空的。Why:5a/5b 是事后验证,假指针那一刻已写进文件;事中 gate 才能在源头拦住。(实战:写「详见 anti-patterns」但那里 0 命中 Stripe 端点 → 案例 15。)

Step 5: 验证(三项全部通过才算完成)

5a. 引用文件存在性

# 检查引用文件存在
grep -oh '`docs/references/[^`]*\.md`' CLAUDE.md | sed 's/`//g' | while read f; do
  test -f "$f" && echo "✓ $f" || echo "✗ MISSING: $f"
done

5b. 内容完整性(最关键)

对每个从原始 CLAUDE.md 移走的章节,逐一检查:

  1. 恢复原始文件git show HEAD:CLAUDE.md > /tmp/claude-md-original.md

  2. 逐节对比:对原始文件的每个 ## 章节,确认其内容在以下位置之一完整存在:

    • 新 CLAUDE.md 中(保留在 Level 1)
    • 某个 Level 2 reference 文件中(完整移动)

    📖 快速暴露整章遗漏的辅助脚本见 references/progressive_disclosure_principles.md 附录 C:触发场景——做下面逐节对比前的第一道筛查(脚本不替代人工逐节对比,只查章节标题是否存在)。

  3. 标记所有差异

    • 如果某段内容在新文件中被缩短 → 必须补回被删减的部分
    • 如果某段内容在两个位置都不存在 → 必须补回
    • 唯一允许删除的情况:该信息已有独立的 canonical source(如 docs/README.md 已是文档索引的 canonical source),且在 Level 1 中有明确的指向

禁止将"故意删除"作为分类来掩盖信息丢失。 每一项"故意删除"都必须说明 canonical source 在哪里。如果说不出来,就不是"故意删除",而是"遗漏"。

大量压缩时用独立 agent 做 5b(强烈推荐):执行者自审有「乐观偏差」——倾向相信自己砍掉的内容都有归属。压缩涉及多段 / 整章时,启动一个独立 sub-agent 做完整逐节 5b(读 /tmp/claude-md-original.md + 当前文件 + 所有 reference,逐个信息点 grep 验证归属,只返回「真丢失 / 指针失准」清单)。它没有你的 sunk-cost,能抓到你抽查会放过的。Why:本 skill 的真实使用中,执行者抽查 5 点「自我感觉良好」,独立 agent 逐节查 55 点才暴露真问题。prompt 模板 + 批量内容点 grep 脚本见 references/progressive_disclosure_principles.md 附录 D。

5c. 行数不进验证标准

验证不以行数为通过条件,不计算"原始 X 行 vs 新 Y 行 = 减少 Z%"——这种对账会把你拉回 KPI 思维。

验证标准只有三条:

  • 每段信息都有归属(Level 1 或 Level 2 或 canonical source)
  • 没有信号丢失(反信号经确认删除不算丢失)
  • Level 2 引用都有触发条件

(注:诊断阶段可以看行数当怀疑信号,见开头「铁律」;但验证阶段行数不是任何标准——这两个阶段对行数的态度不同,别混。)


Level 1 内容分类

🔴 绝对不能移走

内容类型原因
核心命令高频使用
铁律/禁令违反后果严重,必须始终可见
代码模式LLM 需要直接复制,避免重新推导
错误诊断完整的症状→原因→修复流程
目录映射帮助 LLM 快速定位文件
触发索引表帮助 LLM 在长对话中定位 Level 2

🟡 保留摘要 + 触发条件

内容类型Level 1Level 2
SOP 流程触发条件 + 关键陷阱完整步骤
配置示例最常用的 1-2 个完整配置
API 文档常用方法签名完整参数说明

🟢 可以完全移走

内容类型原因
历史决策记录低频访问
性能数据参考性质
技术债务清单按需查看
边缘情况有明确触发条件时再加载

引用格式(四种)

四种引用格式各服务不同场景;规范的"触发条件"写法见下方 原则 2(已含可复制示例)。

格式用途触发场景
详细格式正文中的重要引用单条 reference 需展开说明何时读
问题触发表格开头/末尾 Reference 索引按"错误/问题"查
任务触发表格「修改代码前必读」按"要改什么"查
内联格式简短引用正文一句话带过

📖 四种格式的完整可复制模板见 references/progressive_disclosure_principles.md 附录 B:触发场景——产出 Reference 索引 / 任务表 / 内联 / 详细引用时。

多样性原则:不要所有引用都用同一格式。

⚠️ @import 不省上下文(技术正确性,最易踩)

@path import 在启动时全量展开载入——拆成 @import 只改善组织,不减少任何上下文(官方 memory 文档原文)。"我把内容拆进 @import 了所以优化了"是假优化。

全局 ~/.claude/CLAUDE.md 真正能省上下文的杠杆只有三条:

  1. 把非通用内容移到项目级 CLAUDE.md(全局文件会被无关项目加载)
  2. 纯文字指针("需要时 Read references/xxx.md",不是 @),让模型按需拉
  3. skill(描述常驻、正文按需)

本 skill 产出的引用一律用反引号路径,禁止用 @import 做卸载。详见 references/progressive_disclosure_principles.md 案例 11。


核心原则

原则 0:添加「信息记录原则」(防止未来膨胀)

问题:优化完成后,用户会继续要求 Claude "记录这个信息到 CLAUDE.md",如果没有规则指导,CLAUDE.md 会再次膨胀。

解决:在目标 CLAUDE.md 开头(项目概述之后)注入一段「信息记录原则」——规定 Level 1 只记核心命令 / 铁律 / 代码模式 / 触发索引,Level 2 记详细 SOP / 边缘情况 / 历史决策,并定义"用户要求记录信息时"的高频→L1、低频→L2 判断流程(引用 L2 必带触发条件)。

📖 完整可注入模板见 references/progressive_disclosure_principles.md 附录 A:触发场景——执行 Step 4 更新 Level 1 时;附录含可整块复制进目标 CLAUDE.md 的 markdown。

原因:这条规则让 Claude 自己知道什么该记在哪里,实现"自我约束",避免后续对话中 CLAUDE.md 再次膨胀。

原则 1:触发索引表放开头和末尾

原因:LLM 注意力呈 U 型分布——开头和末尾强,中间弱。

位置作用
开头对话开始时建立全局认知:"有哪些 Level 2 可用"
末尾对话变长后复述提醒:"现在应该读哪个 Level 2"

📖 首/尾索引表完整写法示例见 references/progressive_disclosure_principles.md 案例 4:触发场景——决定触发索引表放哪、按什么格式写时。

原则 2:引用必须有触发条件

错误详见 native-modules-sop.md

正确

**📖 何时读 `native-modules-sop.md`**:
- 遇到 `ERR_DLOPEN_FAILED` 错误
- 需要添加新的原生模块

> 包含:ABI 机制、懒加载模式、手动修复命令

原因:没有触发条件,LLM 不知道什么时候该去读。

原则 3:代码模式必须保留在 Level 1

错误:把代码示例移到 Level 2,Level 1 只写"使用懒加载模式"。

正确:Level 1 保留完整的可复制代码:

// ✅ 正确:懒加载,只在需要时加载
let _Database = null;
function getDatabase() {
  if (!_Database) {
    _Database = require("better-sqlite3");
  }
  return _Database;
}

原因:LLM 需要直接复制代码,移走后每次都要重新推导或读取 Level 2。

原则 4:用三态优先级,不要"全标铁律"

问题:把每条规则都标"铁律 / HIGHEST / 全局" = 没有优先级。模型无法 triage,注意力被摊薄,最关键的不可逆规则反而被淹没。指令遵循存在约 150–200 条的上限,远超即整体衰减。

解决(GitHub 2500 仓库实证最有效的结构):输出 Level 1 规则时用三态,而不是一律"铁律":

标记含义
总是这样做✅ 提交前跑测试套件
⚠️先停下问 / 谨慎⚠️ 改 schema 前先确认迁移脚本
🚫绝不🚫 绝不提交 secret

位置即优先级(Lost-in-the-Middle,TACL 2024):LLM 注意力 U 型分布,最高危的不可逆规则放文件首或尾,不要埋中间。真正"违反即不可逆伤害"的应是少数(5–7 条),其余降为普通规则——稀缺才有信号。

原则 5:每条保留规则带一行 Why

问题:不带原因的规则,一旦场景变化就被忽略(Builder.io 实证)。带 Why 的规则能跨场景泛化。

解决:Level 1 保留的每条铁律 / 禁令,跟一行 Why:,说明违反会发生什么具体坏事。

错误🚫 禁止 fallback 默认值

正确🚫 禁止 fallback 默认值。Why:一个 || 'sk-xxx' 兜底在 .env 缺失时静默回退明文 key,曾在 48h 内被公开仓库扫描器用掉额度。

⚠️ 重述规则时的硬边界:若原句嵌在 case study 混合段落里,原则 4/5 不得直接改写原句——见反模式 6(先整段 verbatim 移 L2,案例 14)。


反模式警告

⚠️ 反模式 1:以行数为目标的过度精简

案例:为了"减少行数",移走了代码模式、诊断流程、目录映射

结果

  • 丢失代码模式,LLM 每次重新推导
  • 丢失诊断流程,遇错不知查哪
  • 丢失目录映射,找文件效率低

正确:保留所有高频使用的内容。优化的判断标准是信息是否重复维护、是否与当前任务无关,而不是"文件太长"。

⚠️ 反模式 2:无触发条件的引用

案例详见 xxx.md

问题:LLM 不知道何时加载,要么忽略,要么每次都读。

正确:触发条件 + 内容摘要。

⚠️ 反模式 3:移走代码模式

案例:把常用代码示例移到 Level 2

问题:LLM 每次写代码都要先读 Level 2,增加延迟和 token 消耗。

正确:高频使用的代码模式保留在 Level 1。

⚠️ 反模式 4:删除而非移动

案例:删除"不重要"的章节

问题:信息丢失,未来需要时无处可查。

正确:移到 Level 2,保留触发条件。

⚠️ 反模式 5:用行数当 KPI

案例:优化方案写"从 2000 行精简到 500 行,减少 75%"

问题:把行数当成功指标,会驱动错误决策——为了凑数字而砍掉有用的信息。

正确:用信息质量评估优化效果——信息是否有重复?维护负担是否降低?LLM 是否能更快找到需要的信息?

⚠️ 反模式 6:移动时压缩(变相删除)

规则:移动是移动,精简是精简。这是两个独立操作,不要同时执行

  • 移动内容到 Level 2 时,必须原样复制,不改一字
  • 如果发现冗余需要精简:作为单独的后续步骤,逐项列出要删除的内容及理由,征求用户确认
  • "既然都在改了,顺便精简一下"是最隐蔽的删除——它披着"优化"的外衣,做着"删除"的事
  • 混合段落(规则句 + case study/叙事)的硬边界:原则 4/5、反模式 8 想把规则重述成 ✅/🚫+Why,但混合段落与本反模式冲突——整段必须先 verbatim 移 L2(规则句原句一字不改);L1 的重述是派生副本,与 L2 原句共存、不取代。判据:优化后 grep 原规则句逐字节文本仍命中(在 L2 verbatim 块)。原则 4/5 管 L1 如何呈现,不授权销毁信号原句

完整案例分析见 references/progressive_disclosure_principles.md 案例 8、案例 14

⚠️ 反模式 7:用"故意删除"掩盖信息丢失

规则:任何"删除"都必须是事前决策(征求用户确认),不是事后分类(发现少了再编理由)。

  • 对每项计划删除的内容,必须说明其 canonical source 在哪里
  • 如果无法指出 canonical source → 不是"故意删除",是"信息丢失",必须补回
  • 对丢失内容分类"严重性"(高/低风险)是在为自己的错误找台阶。正确的态度是:任何丢失都是 bug,fix it

完整案例分析见 references/progressive_disclosure_principles.md 案例 9

⚠️ 反模式 8:纯否定规则(不给替代)

案例🚫 不要用 X —— 没说改用什么。

问题:纯否定会让 agent 瘫痪——它知道不能走这条路,但不知道该走哪条,于是要么卡住要么乱试(Shankar + GitHub 2500 仓库均实证)。

正确:每条 🚫 必配一个 ✅ 改用 Y

🚫 不要用全局 mutable 单例存请求状态
✅ 改用显式参数传递或 request-scoped context

优化时遇到孤立的禁令,补上正向替代再保留;补不出替代的禁令,说明规则本身没想清楚。

⚠️ 但若禁令原句嵌在 case study 混合段落里,先按反模式 6 整段 verbatim 移 L2,再在 L1 派生重述——不可改写原句(案例 14)。

⚠️ 反模式 9:假指针(指向不存在的内容)

案例:移走一段内容后写「详见 X.md」,但 X.md 里根本没有这段——指针指向空。

问题:比直接丢内容更隐蔽。5a「文件存在」会通过(X.md 确实存在),但内容不在那里;读者点进去才发现,且此时已无从知道原文是什么。本质是反模式 6(移动时压缩)+ 反模式 7(掩盖丢失)的组合:内容被砍 + 用一个看似合规的指针掩盖。

正确:写指针前当场 grep 验证目标真有该内容(Step 4 硬 gate)。指针指错文件(内容在 A、却写「详见 B」)是同类问题,按内容实际所在地修正、不是删指针。

完整案例分析见 references/progressive_disclosure_principles.md 案例 15


信息量检验

✅ 正确的信息量

检验项通过标准
日常命令不需要读 Level 2
常见错误有完整诊断流程
代码编写有可复制的模式
特定问题知道读哪个 Level 2
触发索引在文档末尾,表格形式

❌ 不足的信号

  • LLM 反复问同样的问题
  • LLM 每次重新推导代码模式
  • 用户需要反复提醒规则

❌ 过多的信号

  • 大段低频详细流程在 Level 1
  • 完全相同的内容在多处(注意:多入口指向同一资源 ≠ 重复)
  • 边缘情况和常见情况混在一起

项目级 vs 用户级

维度用户级项目级
位置~/.claude/CLAUDE.md项目/CLAUDE.md
References~/.claude/references/docs/references/
信息范围个人偏好、全局规则项目架构、团队规范

硬检查:scope 错放(官方层级文档裁定)

用户级 ~/.claude/CLAUDE.md 会被所有项目加载,只能放普遍适用的东西。优化时对每节做 scope 检查:

内容特征归属不这样做的后果
项目名 / 部署目标 / 逐项目路径 / 项目凭据项目级,绝不全局无关项目被污染;没人按项目维护 → 路径/状态腐烂(典型 staleness)
个人偏好、跨项目行为规则用户级
团队规范、项目架构项目级(入 VCS)

工作流加一条:Step 2.1 分诊时,项目特定内容在用户级文件 = 自动判"搬到项目级",不是搬 Level 2、更不是原地修路径。详见 references/progressive_disclosure_principles.md 案例 13。


金丝雀检测法(可选,长期维护)

来源:HN 社区单源("Mr Tinkleberry"),方法论成立、成本极低,作诊断不作保证。

优化后想知道 CLAUDE.md 哪天又膨胀到"规则开始被忽略"——在文件里植入一条无害的命名指令(如"提到临时变量时命名为 tinkle_tmp")。日常对话中观察:Claude 还遵守 = 文件仍在遵守度阈值内;Claude 开始无视这条 = 文件已越过阈值,该重新分诊。比凭感觉判断"是不是太长了"廉价且客观。


快速检查清单

优化完成后,必须逐项检查(不可跳过):

信息完整性(最重要)

  • 原始文件的每个章节都有归属——在新 Level 1、Level 2、或有明确 canonical source
  • Level 2 文件内容与原始内容完全一致——没有在移动过程中被"精简"
  • 没有信号被静默删除——每项删除是反信号且有用户确认/canonical source(反信号删除正当,见 Step 2.1)
  • 没有把行数当成果/KPI/移动理由/汇报指标(诊断性观察不在此限,见「铁律」)
  • 每条「→ reference」指针都 grep 验证过目标真有该内容(无假指针 / 指针失准,Step 4 硬 gate;反模式 9)
  • 大量压缩时跑了独立 agent 5b 审计(执行者自审有乐观偏差,Step 5b)

结构质量

  • 「信息记录原则」在文档开头(防止未来膨胀)
  • Reference 索引在文档开头(入口1:遇到问题查这里)
  • 核心命令表完整
  • 铁律/禁令有代码示例
  • 常见错误有完整诊断流程(症状→原因→修复)
  • 代码模式可直接复制
  • 目录映射(功能→文件)
  • 「修改代码前必读」表格(入口2:按"要改什么"索引)
  • Reference 触发索引在文档末尾(入口3:长对话后复述)
  • 每个 Level 2 引用都有触发条件
  • 引用的文件都存在
  • 信号分诊已执行:反信号有候选删除清单 + 用户确认(Step 2.1)
  • 每条铁律/禁令带一行 Why:(原则 5)
  • 优先级用 ✅/⚠️/🚫 三态,不是一律"铁律"(原则 4)
  • 每条 🚫 都配了 ✅ 替代(反模式 8)
  • 项目特定内容没有留在用户级文件(scope 硬检查)
  • 引用未使用 @import 做卸载(@import 不省上下文)

Related skills

More from daymade/claude-code-skills and the wider catalog.

TW

twitter-reader

daymade/claude-code-skills

Fetch Twitter/X post content including long-form Articles with full images and metadata. Use when Claude needs to retrieve tweet/article content, author info, engagement metrics, and embedded media. Supports individual posts and X Articles (long-form content). Automatically downloads all images to local attachments folder and generates complete Markdown with proper image references. Preferred over Jina for X Articles with images.

1.9k installs
PR

prompt-optimizer

daymade/claude-code-skills

Transform vague prompts into precise, well-structured specifications using EARS (Easy Approach to Requirements Syntax) methodology. This skill should be used when users provide loose requirements, ambiguous feature descriptions, or need to enhance prompts for AI-generated code, products, or documents. Triggers include requests to "optimize my prompt", "improve this requirement", "make this more specific", or when raw requirements lack detail and structure.

1.2k installs
PP

ppt-creator

daymade/claude-code-skills

Create professional slide decks from topics or documents. Generates structured content with data-driven charts, speaker notes, and complete PPTX files. Applies persuasive storytelling principles (Pyramid Principle, assertion-evidence). Supports multiple formats (Marp, PowerPoint). Use for presentations, pitches, slide decks, or keynotes.

1.2k installs
I1

i18n-expert

daymade/claude-code-skills

This skill should be used when setting up, auditing, or enforcing internationalization/localization in UI codebases (React/TS, i18next or similar, JSON locales), including installing/configuring the i18n framework, replacing hard-coded strings, ensuring en-US/zh-CN coverage, mapping error codes to localized messages, and validating key parity, pluralization, and formatting.

1.1k installs
QA

qa-expert

daymade/claude-code-skills

This skill should be used when establishing comprehensive QA testing processes for any software project. Use when creating test strategies, writing test cases following Google Testing Standards, executing test plans, tracking bugs with P0-P4 classification, calculating quality metrics, or generating progress reports. Includes autonomous execution capability via master prompts and complete documentation templates for third-party QA team handoffs. Implements OWASP security testing and achieves 90% coverage targets.

1.1k installs
MA

macos-cleaner

daymade/claude-code-skills

Analyze and reclaim macOS disk space through intelligent cleanup recommendations. This skill should be used when users report disk space issues, need to clean up their Mac, or want to understand what's consuming storage. Focus on safe, interactive analysis with user confirmation before any deletions.

887 installs