skills/harness/progressive-disclosure-docs/SKILL.md
Design, audit, or refactor project documentation so AI agents navigate by progressive disclosure: AGENTS.md/OVERVIEW.md as maps, feature/reference/archive indexes as routing layers, and detailed docs/task boards loaded only on demand. Use when creating or refactoring project docs for AI coding agents, auditing docs compatibility with context engineering, adding AGENTS.md or docs indexes, or migrating scattered Markdown into a navigable docs-first structure.
npx skillsauth add escapewu/skills progressive-disclosure-docsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Keep AI agents from loading an entire repository's documentation at once. Instead, expose a small stable map first, then route the agent into only the 1-3 documents relevant to the current task.
Do not make agents read the city.
Give them a map, then signs, then the room they actually need.
AGENTS.md, AGENTS.md, docs/OVERVIEW.md, or docs indexes.Do not use for general prose editing, API reference generation alone, or one-off README cleanup.
AGENTS.md / CLAUDE.md
↓
docs/OVERVIEW.md
↓
docs/feature/INDEX.md docs/reference/INDEX.md docs/archive/INDEX.md
↓ ↓ ↓
docs/feature/<module>/ stable technical facts historical plans / bugfixes / RCA
↓
README.md or INDEX.md
↓
design.md / dataflow.md / changelog.md / RCA.md
(separate: .agents/skills/harness/harness-engineering-plan/tasks/<module>/taskBoard.md — WIP execution, 非 SSOT)
docs/ 与 tasks/ 的分离:
| 目录 | 职责 | 生命周期 |
|------|------|------|
| docs/ | SSOT — 描述系统"是什么" | 任务完成后更新,长期维护 |
| .agents/.../tasks/ | WIP — 描述"正在做什么" | 任务启动→推进→归档,临时存在 |
Layer responsibilities:
| Level | File | Job |
|---|---|---|
| 0 | AGENTS.md / AGENTS.md | Stable agent contract. Short enough to always load. |
| 1 | docs/OVERVIEW.md | Project map: what the system is, main modules, where to go next. |
| 2F | docs/feature/INDEX.md | Feature routing table: module categories and entrypoints. |
| 2R | docs/reference/INDEX.md | Stable facts: architecture, API references, contracts, runbooks. |
| 2A | docs/archive/INDEX.md | Historical material: completed plans, bugfix notes, RCA. Default: do not read. |
| 3 | docs/feature/<module>/INDEX.md | Module-level map or summary. |
| 4 | Detailed module docs | Design, data flow. Read only when task-relevant. |
| — | .agents/.../tasks/<module>/taskBoard.md | WIP execution plan. Read only when continuing, supervising, or auditing execution. |
Include in AGENTS.md and docs/OVERVIEW.md:
文档遵循渐进式披露(Progressive Disclosure),Agent 逐层深入、禁止全量读取:
Level 0: AGENTS.md / CLAUDE.md → 项目开发规约与读取入口
Level 1: docs/OVERVIEW.md → 项目是什么?有哪些模块?去哪里找?
Level 2F: feature/INDEX.md → 功能模块索引,先选目标模块
Level 2R: reference/INDEX.md → 架构 / API / 测试 / 运维等稳定参考
Level 2A: archive/INDEX.md → 已完成计划 / bugfix / RCA 归档,默认不读
Level 3: feature/<module>/INDEX.md → 大型模块内部导航
Level 4: 具体设计 / 数据流 / RCA,仅按需读取
(执行层: tasks/<module>/taskBoard.md → WIP 控制平面,仅在继续实现/监督/审计时读取)
Agent 读取规则:OVERVIEW → INDEX → 按需读 1-3 个相关文档。禁止全量读取 docs。
taskBoard 是执行过程文件,非 SSOT,存放于 .agents/skills/harness/harness-engineering-plan/tasks/。
Stay small and stable. Include:
> 项目上下文入口:[docs/OVERVIEW.md](docs/OVERVIEW.md)First docs file an agent reads. Must answer:
Keep it compact. If it grows into full design documentation, split details into feature/reference docs.
Classify modules by reading depth — not just list files:
module/INDEX.mdmodule/README.mdmodule/README.mdInclude agent routing: "先读本 INDEX.md 确定目标模块,再按需进入子目录。禁止全量读取。"
Large module:
docs/feature/<module>/
├── INDEX.md # module map, always read before details
├── design.md # detailed design
├── dataflow.md # data flow / sequence / diagrams
├── changelog.md # active changelog
└── rca-*.md # root-cause analysis when relevant
taskBoard 不在此目录。执行过程文件统一存放在 .agents/skills/harness/harness-engineering-plan/tasks/<module>/taskBoard.md。
Module INDEX.md should route by task:
README.mddesign.mddataflow.md.agents/skills/harness/harness-engineering-plan/tasks/<module>/taskBoard.mdrca-*.mdMedium: README.md + optional sub-docs. Small: single README.md.
Design proposals (under docs/feature/<module>/proposals/) often carry three different audiences:
| Audience | What they want | What hurts them | |----------|----------------|-----------------| | Reviewer / decision-maker | "Why, big direction, key decisions, risks" | Drowning in schema details and SQL DDL | | Implementer | "Full schema, DDL, pseudocode, integration points" | Hunting through high-level prose to find concrete spec | | Progress tracker | "Task matrix, stage gates, week-by-week path" | Reading the entire proposal each time |
Hard rule: if a single proposal file grows to ≥ 500 lines, decompose into a subfolder:
docs/feature/<module>/proposals/<topic>/
├── README.md # 30-50 lines — entry, routing, audience map
├── design.md # 200-400 lines — why, direction, decisions, risks
├── spec.md # 400-700 lines — schema, DDL, pseudocode, integration
└── acceptance.md # 150-300 lines — task matrix, stage gates, path map
Avoid revising a proposal by appending "v1 → v2 review feedback summary" + "T1-Tn task list" sections at the bottom while leaving the v1 body intact. This produces a Frankenstein document where:
Correct pattern (after each review round):
inline rewrite the relevant section in design.md / spec.mddocs/archive/<module>-reviews/README.md if audience routing changesOnce a review is consumed (findings inlined into design/spec), move the review file to docs/archive/<module>-reviews/ with a versioned name (e.g. review-<topic>-v1.md → review-<topic>-v2.md → review-<topic>-v3-synthesis.md). Keep the top-of-file frontmatter pointing back to the current authoritative location, but preserve in-body line-number references to the version that was reviewed.
docs/feature/ai-evaluation/proposals/oracle-batch-verdict/ (created 2026-05-14):
docs/archive/ai-evaluation-reviews/review-oracle-batch-verdict-{v1,v2,v3-synthesis}.mdReference: stable technical facts (architecture, interfaces, runbooks, external API). Not feature work logs.
Archive: completed plans, bugfix notes, RCA, old changelogs, deprecated proposals. Default: do not read. Only enter when task explicitly requires historical context.
Both must include agent routing instructions and forbid full reads.
README.md / INDEX.md explains what the module is.
taskBoard.md (under .agents/.../tasks/) explains what is being or was executed.
taskBoard 是临时执行文件,不是 docs/ 的一部分。
任务完成后移入 tasks/archive/,然后提炼稳定结论更新 docs/。
Agent 读取 taskBoard.md 的时机:继续实现、监督执行、验证任务完成、审计任务历史。
默认不读 — taskBoard 是执行上下文,不是项目真相。
If a task board grows beyond a few hundred lines, add a Current status section at the top and move old completed tasks to tasks/archive/.
For feature, archive, and RCA docs:
---
type: feature | bugfix | rca | changelog | plan | reference | archive
scope: backend | frontend | fullstack | docs | ops
module: module-name
date: YYYY-MM-DD
status: active | implemented | deprecated | archived | draft
keywords: [short, searchable, terms]
read_by_default: false
---
OVERVIEW.md and INDEX.md do not need frontmatter unless project already enforces it.read_by_default: false.status: archived or under docs/archive/.AGENTS.md, AGENTS.md, README.md, docs/OVERVIEW.md.OVERVIEW.md, feature/INDEX.md, reference/INDEX.md, archive/INDEX.md.AGENTS.md.INDEX.md for large modules.AGENTS.md — it should be rules and navigation, not full design.OVERVIEW.md becomes a giant manual — overview is a map; move details down a layer.taskBoard.md becomes default context — load only for execution continuity.AGENTS.md and reach the right module without reading unrelated docs.docs/OVERVIEW.md has a clear module table and docs navigation table.feature/INDEX.md tells agents which module entrypoint to read.禁止全量读取 or equivalent appears in agent-facing rules.development
Use when working with the news fetcher REST API at <news-fetcher-host> for supported-site lookup, domain article discovery, URL fetching, batch fetch/crawl workflows, fetch history queries, and Bearer-authenticated integration examples.
development
create and refresh repository-specific development standards for an existing local codebase. use when the user wants to analyze a local repository, extract coding conventions from real files, generate docs/ai-dev-standards, create code review checklists, or update existing agents.md or claude.md files so future coding agents load the right standards before development. do not use for generic programming advice detached from a repository.
documentation
analyze postgresql or mysql database schemas from ddl files, schema-only dumps, migration sql, or read-only database metadata. use when the user wants table structure summaries, primary keys, foreign keys, indexes, inferred table relationships, er diagrams, dbml, mermaid erd, schema documentation, or database relationship analysis for postgres/mysql schemas.
tools
Replace with description of the skill and when Claude should use it.