← ClaudeAtlas

docs-driven-workflowlisted

Use when starting or finishing any coding/editing task in a project that follows a documentation-first AI collaboration workflow — declare scope before editing, log every change afterward with a changelog entry, scaffold a brand-new project with this discipline (AGENTS.md/README/docs skeleton), or audit and reorganize a project's folder structure against its own documented conventions.(中文触发词:初始化新项目/搭 AGENTS.md 骨架、存量项目接入文档驱动规范、整理文件夹/文件归档、改动前声明范围、改动后写 CHANGELOG/留痕)
MNICKZ/docs-driven-workflow · ★ 4 · AI & Automation · score 75
Install: claude install-skill MNICKZ/docs-driven-workflow
# Docs-Driven Workflow 文档先行的 AI 协作纪律:改前声明范围,改后必须留痕,按需脚手架新项目或整理文件夹。提炼自两个项目实测过的 AGENTS.md 规则。 **本 skill 只有 `SKILL.md` 这一个文件,不允许有任何附属文件夹或模板文件。** 初始化模式需要的六个文件模板全部内嵌在下方「初始化模式」小节里,直接用当前环境提供的文件写入能力按模板内容建文件,不依赖外部骨架目录。 ## 强制规则(三种模式共用,不可跳过) **只要这次调用动过任何文件(代码/文档/资产),结束前必须在 CHANGELOG 追加一条记录。** 没有 CHANGELOG 就先创建一个,用下面「初始化模式」里 `CHANGELOG.md` 模板的格式。 唯一例外:这次调用完全没有修改任何文件、纯讨论/纯方案,此时不写 CHANGELOG,但必须显式声明"本次未修改文件,仅提供方案"——不能什么都不说就结束。 **留档不能事后补写**——必须在同一轮对话内完成,不能"先改完代码,回头再补文档"。用户确认"这次改动完成了"但对应文档没有同步更新,这次任务本身就要按"未完成"处理,不能因为对话已经过去几轮就当作已经交代过去了。 **文档里任何字段/占位符如果问不出来**(用户没提供,也无法从对话推断),必须显式写成 `TBD(原因:…)`,不能删掉整节,也不能编造内容顶替——空着的 TBD 是"需要去问"的信号,不是可以自由发挥的空白。 **决策/方案被后续推翻时,旧记录不删除、不改写**,标注"已被 {{日期}} 的新决策/新记录推翻,当前有效见……",保留可追溯的完整历史,不能悄悄改写成好像从没犯过错。 | 借口 | 现实 | |---|---| | "改动太小,不值得记" | 可追溯性不看改动大小,看有没有改。一行也要记。 | | "等任务全部做完再一起补" | 中途被打断或忘记,留痕就丢了。当场记,不拖到最后。 | | "用户没要求写 changelog" | 这是本 skill 的强制规则,不需要用户每次重申。 | | "用户已经说完成了/这轮对话快结束了" | 文档没同步,按规则就是没做完,需要主动说明或当场补上,不能揣着掖着。 | ## 三种模式 ### 1. 初始化模式 — 脚手架新项目 触发:用户要新建一个应遵循文档驱动纪律的项目,或明确要求"初始化"。分两种场景: **1a. 全新项目**(没有既存代码/历史决策): 1. 在目标项目目录下建立空目录:`docs/`、`src/`、`assets/design/`、`assets/bug/`、`assets/reference/`、`notes/`、`archive/`(有 shell 的环境用 `mkdir -p` 一次性建好;没有的话在写文件时按路径带出目录即可)。 2. 依次用当前环境的文件写入能力,把下面六个「文件模板」的内容写到对应路径(`AGENTS.md`、`README.md`、`CHANGELOG.md`、`TODO.md`、`docs/decision-log.md`、`docs/project-context.md`),同时把其中 `{{占位符}}`(项目身份、目录规范细节、禁止事项清单等)结合与用户的对话内容改成真实内容,不能留着 `{{...}}` 交给用户;问不出来的按【强制规则】标 TBD,不编造。项目专属的"禁止事项清单"尤其重要——不要套用其他项目的清单,问用户这个项目具体不能做什么。填 `AGENTS.md`