关于 ln-100-documents-pipeline
ln-100-documents-pipeline 是编排技能,通过协调专门的文档工作者来建立项目文档体系。它先检查现有文件并征求确认,再验证生成内容、清理重复项并检查交叉链接。
主要功能
- 01按顺序协调文档技能
- 02创建前检查现有文档
- 03生成项目、参考、任务和测试文档
- 04执行最终文档质量检查
- 05清理重复项并验证交叉链接
适用场景
- 01为新 IT 项目建立文档体系
- 02保留现有文件并补齐缺失文档
- 03通过单一编排工作流生成文档
- 04生成后查找孤立文件和失效交叉链接
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-100-documents-pipeline安装后在 Claude Code 中输入/ln-100-documents-pipeline确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/coordinator_runtime_contract.mdcoordinator_summary_contract.mddocs_generation_summary_contract.mddocs_pipeline_runtime_contract.mddocs_quality_contract.mddocumentation_creation.mdlegacy_detection_patterns.mdmeta_analysis_protocol.mdreferences/scripts/docs-quality/cli.mjsreferences/scripts/docs-quality/lib/manifest.mjsrules.mjsverify.mjsreferences/templates/adr_template.mdguide_template.mdmanual_template.mdresearch_template.md详细介绍
路径: 文件路径(
references/、../ln-*)均相对于此技能目录。
类型: L1 顶层编排器 类别: 1XX 文档流水线
文档流水线(编排器)
此技能通过调用 1 个 L2 协调器和 3 个 L2 工作器,编排完整文档系统的创建。协调器(ln-110)会委派 5 个 L3 工作器处理项目文档;其他 L2 工作器负责参考资料、任务和测试领域。每个组件都会验证自己的输出,最终的文档质量验收关卡由编排器负责。
用途
顶层编排器,可通过一次调用创建完整的项目文档系统。依次串联 ln-110 协调器和 ln-120/130/140 工作器,然后执行全局清理(去重、孤立文件报告、交叉链接验证)。
运行时契约
必须读取: 加载 references/coordinator_runtime_contract.md、references/docs_pipeline_runtime_contract.md、references/docs_generation_summary_contract.md
运行时系列:docs-pipeline-runtime
标识符:
docs-pipeline
阶段:
PHASE_0_CONFIGPHASE_1_LEGACY_SCANPHASE_2_CONFIRMATIONPHASE_3_DELEGATEPHASE_4_QUALITY_GATEPHASE_5_CLEANUPPHASE_6_SELF_CHECK
组件摘要契约:
ln-110、ln-120、ln-130、ln-140会写入或返回docs-generation封装ln-100将这些摘要和文档质量检查点作为编排的 SSOT
架构
ln-100-documents-pipeline (L1 Top Orchestrator - this skill)
|- ln-110-project-docs-coordinator (L2 Coordinator)
| |- ln-111-root-docs-creator (L3 Worker) -> 5 docs
| |- ln-112-project-core-creator (L3 Worker) -> 3 docs
| |- ln-113-backend-docs-creator (L3 Worker) -> 2 conditional
| |- ln-114-frontend-docs-creator (L3 Worker) -> 1 conditional
| `- ln-115-devops-docs-creator (L3 Worker) -> 1 always + 1 conditional
|- ln-120-reference-docs-creator (L2 Worker)
|- ln-130-tasks-docs-creator (L2 Worker)
`- ln-140-test-docs-creator (L2 Worker - optional)
何时使用此技能
以下情况应使用此技能:
- 启动新的 IT 项目,并需要一次性创建完整的文档系统
- 使用自动化工作流,而不是手动调用多个工作器
- 一次性创建完整的文档结构(
AGENTS.md为规范文件,CLAUDE.md为导入存根 ->docs/) - 优先使用编排式 CREATE 路径,而不是手动串联技能
- 需要自动全局清理(去重、孤立文件、整合)
替代方案:如果希望进行精细控制,可手动调用工作器:
- ln-110-project-docs-coordinator - 根目录和项目文档(协调 5 个 L3 工作器)
- ln-120-reference-docs-creator -
reference/结构 - ln-130-tasks-docs-creator -
tasks/README.md+ 看板 - ln-140-test-docs-creator -
tests/README.md(可选)
必须读取: 加载 references/docs_quality_contract.md。
注意:每个工作器都会在第 2/3 阶段验证自己的本地输出。编排器仍负责最终的文档质量清单、验证和修复循环,完成后才能继续清理。
工作流
此技能遵循一个包含 5 个阶段的编排工作流:旧版迁移(可选) -> 用户确认 -> 依次调用协调器和工作器 -> 全局清理 -> 摘要。
阶段 0:源文档清理(可选)
目标:检测非规范文档,规范化有用信息,并在生成前移除重复的文档路径。
触发条件:当仓库中已有规范目录结构之外的文档时,在流水线启动时运行。
流程:
0a. 检测非规范源文件:
- 使用
references/legacy_detection_patterns.md中的模式扫描项目,查找非标准文档:- 根目录下的 .md 文件:
ARCHITECTURE.md、REQUIREMENTS.md、STACK.md、API.md、DATABASE.md、DEPLOYMENT.md - 非规范文件夹:
documentation/、doc/、wiki/,或结构不正确的docs/ - README.md 章节:
## Architecture、## Tech Stack、## Requirements等 - CONTRIBUTING.md 章节:
## Development、## Code Style、## Coding Standards
- 根目录下的 .md 文件:
- 构建
source_manifest:包含 { path, detected_type, target_doc, confidence } 的列表 - 如果未找到非规范文档 -> 跳至阶段 1
0b. 提取信息:
- 对每个检测到的源文件:
- 解析 Markdown 结构(标题、列表、代码块)
- 应用特定类型的提取器(**必须阅读:**加载
references/legacy_detection_patterns.md):architecture_extractor-> { layers[], components[], diagrams[] }requirements_extractor-> { functional[], non_functional[] }tech_stack_extractor-> { frontend, backend, database, versions }principles_extractor-> { principles[], anti_patterns[] }api_spec_extractor-> { endpoints[], authentication }database_schema_extractor-> { tables[], relationships[] }runbook_extractor-> { prerequisites[], install_steps[], env_vars[] }infrastructure_extractor-> { servers[], domains[], ports[], services[], artifacts{}, cicd{} }
- 评估内容质量(0.0-1.0)
- 将结果存储在
source_notes中
0c. 用户确认:
- 显示检测到的非规范文件:
Non-Canonical Documentation Detected: | File | Type | Confidence | Target | |------|------|------------|--------| | README.md (## Architecture) | architecture | HIGH | docs/project/architecture.md | | docs/ARCHITECTURE.md | architecture | HIGH | docs/project/architecture.md | | CONTRIBUTING.md (## Development) | principles | MEDIUM | docs/principles.md | Cleanup Options: 1. NORMALIZE (recommended): Extract facts -> Archive -> Remove duplicate sources 2. ARCHIVE ONLY: Backup without extraction 3. SKIP: Leave non-canonical docs as-is (may cause duplication) Choose option (1/2/3): _ - 如果用户选择 "1"(规范化):
- 可选:"在将提取的信息并入规范上下文之前,是否先检查?(是/否)"
- 确认:"是否继续清理并归档非规范文件?"
- 如果用户选择 "2"(仅归档):
- 确认:"是否将非规范文件归档到 .archive/?内容将不会被规范化。"
- 如果用户选择 "3"(跳过):
- 警告:"非规范文件将保留。这可能导致重复问题。"
- 继续执行阶段 1
0d. 备份和归档:
- 创建
.archive/source-docs-{timestamp}/目录 - 结构:
.archive/ `- source-docs-YYYY-MM-DD-HHMMSS/ |- README_cleanup.md # Rollback instructions |- original/ # Exact copies of non-canonical files | |- README.md | |- ARCHITECTURE.md | `- documentation/ `- extracted/ # Extracted facts (for reference) |- architecture_content.md `- principles_content.md - 将所有检测到的源文件复制到
original/ - 将提取的信息保存到
extracted/ - 生成包含回滚说明的
README_cleanup.md
0e. 上下文规范化:
- 根据提取的信息构建
SOURCE_DOC_NOTES:{ "SOURCE_DOC_NOTES": { "architecture_notes": { "sections": [...], "diagrams": [...] }, "requirements_notes": { "functional": [...] }, "principles_notes": { "principles": [...] }, "tech_stack_notes": { "frontend": "...", "backend": "..." }, "api_notes": { "endpoints": [...] }, "database_notes": { "tables": [...] }, "runbook_notes": { "install_steps": [...] }, "infrastructure_notes": { "servers": [...], "domains": [...], "ports": {} } } } - 仅将提取的信息作为辅助证据合并到协调器输入中
- Worker 直接使用规范化的上下文字段和当前源信息;不存在仅适用于旧文档的分支
- 优先级顺序:当前源信息 + 规范化的项目文档 > 模板默认值
0f. 清理(非规范文件):
- 对于根目录级文件(README.md、CONTRIBUTING.md):
- 不要删除
- 使用 Edit 工具移除重复章节
- 添加指向新位置的链接:
## Architecture-> 替换为链接:[Architecture](docs/project/architecture.md)## Tech Stack-> 替换为链接:[Tech Stack](docs/project/tech_stack.md)
- 对于独立的非规范文件(ARCHITECTURE.md、documentation/):
- 删除文件(已备份)
- 记录:"Deleted: ARCHITECTURE.md (migrated to docs/project/architecture.md)"
- 清理空的非规范目录
输出:cleanup_summary { normalized_count, archived_count, skipped_count, source_doc_notes }
阶段 1:用户确认
目标:检查现有文件、说明工作流程并获得用户批准。
流程:
-
清理摘要(如果运行了阶段 0):
- 显示:“已规范化 {N} 个非规范文档”
- 显示:“已归档至 .archive/source-docs-{date}/”
- 显示:“已使用规范化的源文档备注补充协调器输入”
-
预检(扫描现有文档):
- 使用 Glob 工具检查所有可能的文件:
- 根目录文档:
AGENTS.md、CLAUDE.md、docs/README.md、docs/documentation_standards.md、docs/principles.md - 参考资料结构(5 项):
docs/reference/README.md、docs/reference/adrs/、docs/reference/guides/、docs/reference/manuals/、docs/reference/research/ - 任务文档(2 个文件):
docs/tasks/README.md、docs/tasks/kanban_board.md - 项目文档(最多 8 个文件):
docs/project/requirements.md、architecture.md、tech_stack.md、api_spec.md、database_schema.md、design_guidelines.md、infrastructure.md、runbook.md - 测试文档(2 个文件):
docs/reference/guides/testing-strategy.md、tests/README.md - 统计现有文件与缺失文件
- 向用户显示摘要:
文档状态: 已找到:X 个现有文件 缺失:Y 个文件 流程只会创建缺失的文件。 现有文件将予以保留(不会覆盖)。
-
向用户说明将创建的内容:
- 根目录 + 项目文档(
AGENTS.md规范文件 +CLAUDE.md导入存根 +docs/README.md+documentation_standards.md+principles.md+ 通过 ln-110-project-docs-coordinator 创建的docs/project/) - 参考资料结构(通过 ln-120-reference-docs-creator 创建的 docs/reference/)
- 任务管理文档(通过 ln-130-tasks-docs-creator 创建的 docs/tasks/)
- 测试文档(通过 ln-140-test-docs-creator 创建的 tests/,可选)
- 预计耗时:交互式对话需 15-20 分钟
- 根目录 + 项目文档(
-
询问:“是否继续创建缺失文件?(是/否)”
-
询问:“是否包含测试文档(tests/README.md)?(是/否)”
输出:文件扫描摘要 + 用户批准 + 测试文档偏好
阶段 2:依次调用协调器和工作者
目标:按顺序调用 L2 协调器和 4 个 L2 工作者,创建完整的文档系统。
流程(使用 Skill 工具自动调用):
2a. 创建根目录和项目文档:
- 调用:
Skill(skill: "ln-110-project-docs-coordinator")-> 自动 - 输入:如果阶段 0 执行了清理,则传入规范化后的源笔记
- 行为:协调器仅收集一次上下文,然后委派给 5 个 L3 工作者:
- ln-111-root-docs-creator -> 根目录文档(AGENTS.md 为规范文档 + CLAUDE.md 存根 + docs/README.md + documentation_standards.md + principles.md)
- ln-112-project-core-creator -> 3 份核心文档
- ln-113-backend-docs-creator -> 2 份条件文档
- ln-114-frontend-docs-creator -> 1 份条件文档(如果 hasFrontend)
- ln-115-devops-docs-creator -> 2 份文档:1 份始终创建 + 1 份条件创建
- 输出:根目录文档(
AGENTS.md规范文档 +CLAUDE.md@AGENTS.md导入存根 +docs/README.md+docs/documentation_standards.md+docs/principles.md)+ 项目文档(docs/project/requirements.md、architecture.md、tech_stack.md、infrastructure.md+ 条件文档:api_spec.md、database_schema.md、design_guidelines.md、runbook.md) - 存储:保存 ln-110 结果中的
context_store(包含供 ln-120 使用的 TECH_STACK) - 验证:每个 L3 工作者都会验证输出(SCOPE、元数据标记、顶部章节、维护情况)
- 确认:继续之前,确认所有文档均已存在
2b. 创建参考结构和智能文档:
- 调用:
Skill(skill: "ln-120-reference-docs-creator")-> 自动 - 输入:传入 ln-110 中的
context_store(TECH_STACK 支持智能文档创建) - 输出:
docs/reference/README.md+adrs/、guides/、manuals/、research/目录 + 有充分依据的 ADR、指南和手册 - 智能创建:仅为非平凡的技术选择创建文档(参见 ln-120 的依据规则)
- 验证:ln-120 在阶段 2/3 中验证输出
- 确认:继续之前,确认参考文档中心已存在
2c. 创建任务管理文档:
- 调用:
Skill(skill: "ln-130-tasks-docs-creator")-> 自动 - 输出:
docs/tasks/README.md+ 可选的kanban_board.md(如果用户提供 Linear 配置) - 验证:ln-130 在阶段 2/3 中验证输出
- 确认:继续之前,确认任务 README 已存在
2d. 创建测试文档(可选):
- 条件:如果用户在阶段 1 批准了测试文档
- 调用:
Skill(skill: "ln-140-test-docs-creator")-> 自动 - 输出:
tests/README.md(包含 Story-Level Test Task Pattern 的测试文档) - 跳过:如果答案为“否” -> 之后可手动运行 ln-140-test-docs-creator
2e. 从文档中提取技能(可选):
- 条件:用户在阶段 1 批准了技能提取,或之后手动调用
- 调用:
Skill(skill: "ln-160-docs-skill-extractor")-> 自动 - 输入:ln-110 到 ln-140 创建的所有文档
- 输出:从过程性文档章节中提取的
.claude/commands/*.md文件 - 跳过:如果未获批准 -> 之后可手动运行 ln-160-docs-skill-extractor
输出:完成并验证由协调器和 4 个工作者创建的完整文档系统
工作者调用(必须)
**宿主技能调用:**必须委派调用 Skill(skill: "...", args: "...")。
- Claude:严格按照所示调用 Skill 工具。
- Codex:如果没有 Skill 工具,请在可用技能中找到指定技能,阅读其
SKILL.md,将args视为$ARGUMENTS,执行该技能工作流,然后携带结果/产物返回此处。 - 不要内联工作者逻辑,也不要在未执行目标技能的情况下将工作者标记为已完成。
TodoWrite 格式(必须)
开始之前,将所有调用添加到待办事项中:
- Invoke ln-110-project-docs-coordinator (pending)
- Invoke ln-120-reference-docs-creator (pending)
- Invoke ln-130-tasks-docs-creator (pending)
- Invoke ln-140-test-docs-creator (pending)
- Run Global Cleanup (Phase 3) (pending)
- Show Summary (Phase 4) (pending)
每项开始时标记为 in_progress;工作者成功返回后标记为 completed。
阶段 3:全局清理与整合
目标:删除重复内容和孤立文件,整合所有文档中的知识。
触发条件:仅在所有 worker 完成第 2/3 阶段验证后。
流程:
3a. 构建文档质量清单
在进行任何清理前,根据 worker 的输出创建一份规范化清单:
- 收集 ln-110、ln-120、ln-130 和 ln-140 的
created_files、skipped_files和quality_inputs - 合并
quality_inputs.doc_paths和quality_inputs.owners,去重路径;如果任何 worker 未提供规范化返回契约,则立即失败 - 使用共享验证器写入明确的清单:
node {skills_repo_root}/references/scripts/docs-quality/cli.mjs manifest \ --project-root . \ --files "AGENTS.md,CLAUDE.md,docs/README.md,docs/project/requirements.md" \ --output docs/project/.audit/ln-100/docs-quality-manifest.json - 将该清单作为所有第 3 阶段质量决策的唯一事实来源
3b. 运行集中式文档质量验证器
针对该清单运行共享验证器:
node {skills_repo_root}/references/scripts/docs-quality/cli.mjs verify \
--project-root . \
--manifest docs/project/.audit/ln-100/docs-quality-manifest.json \
--output docs/project/.audit/ln-100/docs-quality-report.json
验证器检查项来自共享的文档质量契约/规则,包括:
- 必需文档中的 SCOPE 标签
- Maintenance 章节和标记
- 禁止使用的占位符和泄露的模板元数据
- 失效的内部链接
- 不允许使用的代码围栏
- 过时的行内日期
- 非官方技术栈文档链接
关卡:继续第 3 阶段清理前,不得有任何 HIGH/CRITICAL 级别的问题。
3c. 有限次数的修复循环
如果验证器报告了 HIGH/CRITICAL 级别的问题:
- 第 1 轮——确定性的行内修复:
- 添加缺失的 SCOPE 标签
- 添加或补全
## Maintenance - 在目标明确时规范化失效的内部链接
- 更新过时的生成日期
- 删除泄露的模板元数据和未解析的标记
- 将非法的代码围栏替换为表格、命令或链接
- 第 2 轮——按负责人范围进行语义修复:
- 按
quality_inputs.owners[path]对剩余问题分组 - 仅针对其文件中的限定范围问题,重新调用对应的 worker
- 不要重新运行无关的 worker
- 按
- 每轮修复后重新运行验证器
- 总共最多进行 2 轮修复
- 如果仍有任何 HIGH/CRITICAL 级别的问题,则让流水线失败,不要输出低质量文档
在第 5 阶段的最终输出中记录验证器摘要和文档注册表输出。
3d. 扫描重复内容
-
读取
docs/中的所有 .md 文件- 使用 Glob 工具:
pattern: "docs/**/*.md" - 保存所有文档文件的列表
- 使用 Glob 工具:
-
识别重复章节:
- 对每个文件:
- 读取文件内容
- 提取章节标题(##、###)
- 提取章节内容(标题之间的文本)
- 跨文件比较章节:
- 如果 2 个或更多章节具有:
- 相同标题(不区分大小写)
- 内容相似度 >80%(简单的词语重叠检查)
- 标记为重复内容
- 如果 2 个或更多章节具有:
- 对每个文件:
-
确定规范版本:
- 规范位置规则:
- “Development Principles” -> principles.md(始终为规范版本)
- “Testing Strategy” -> testing-strategy.md(始终为规范版本)
- “Linear Configuration” -> tasks/kanban_board.md(始终为规范版本)
- 对于其他重复内容:保留在首先遇到的文件中(按字母顺序)
- 规范位置规则:
-
删除重复内容:
- 对于每个重复章节:
- 使用 Edit 工具从非规范文件中删除
- 使用 Edit 工具添加指向规范位置的链接:
规范来源:[Development Principles](../principles.md#development-principles)
- 统计删除的重复内容数量
- 对于每个重复章节:
-
记录结果:
- “已删除 {count} 个重复章节”
- 列出:“{section_name} 已从 {file} 中删除(规范版本:{canonical_file})”
3e. 报告意外文件(仅供参考)
-
列出
docs/中的所有 .md 文件- 使用 Glob 工具:
pattern: "docs/**/*.md"
- 使用 Glob 工具:
-
根据预期结构检查(worker 创建的文件 + 用户创建的参考文档)
-
报告结果(不要移动/删除/归档):
- 列出意外文件并附上提示信息
- 由用户决定如何处理
- 记录:“发现 {count} 个意外文件(不在预期结构中)-> 列出供用户审查”
3f. 整合知识
-
识别分散的信息:
- 已知模式:
- Linear 配置分散在:kanban_board.md + tasks/README.md
- 开发原则分散在:AGENTS.md + principles.md + architecture.md
- 测试信息分散在:testing-strategy.md + tests/README.md + architecture.md
- 已知模式:
-
针对每个分散的概念:
- 确定唯一可信来源(SSoT):
- Linear 配置 -> kanban_board.md
- 开发原则 -> principles.md
- 测试策略 -> testing-strategy.md
- 确定唯一可信来源(SSoT):
-
更新非 SSoT 文件:
- 使用 Edit 工具,将重复内容替换为链接:
Canonical source: [Linear Configuration](../tasks/kanban_board.md#linear-configuration) - 记录整合数量
- 使用 Edit 工具,将重复内容替换为链接:
-
记录结果:
- “已整合 {count} 项分散的概念”
- 列出:“{concept} 已整合至 {SSoT_file}”
3g. 交叉链接验证
-
扫描所有 .md 文件中的内部链接:
- 对每个文件:
- 读取内容
- 提取所有 Markdown 链接:
[text](path) - 筛选内部链接(相对路径,不含 http://)
- 对每个文件:
-
验证链接目标是否存在:
- 对每个链接:
- 解析相对路径
- 检查目标文件是否存在(Glob 工具)
- 如果缺失:标记为失效
- 对每个链接:
-
修复失效链接:
- 对每个失效链接:
- 如果目标已归档:将链接更新为归档路径
- 如果目标从未存在:移除链接(转换为纯文本)
- 记录修复数量
- 对每个失效链接:
-
添加缺失的关键链接:
- AGENTS.md -> docs/README.md:
- 读取 AGENTS.md
- 检查是否链接到 docs/README.md
- 如果缺失:在“文档中心”部分添加
- docs/README.md -> 各部分 README:
- 检查是否链接到 project/、reference/、tasks/、tests/ 的 README
- 如果缺失:添加
- 记录新增链接数量
- AGENTS.md -> docs/README.md:
-
记录结果:
- “已修复 {count} 个失效链接”
- “已添加 {count} 个缺失的关键链接”
- 列出更改
3h. 最终报告
Global Cleanup Complete:
Structure:
- Removed {N} duplicate sections (canonical: principles.md)
- Found {N} unexpected files (listed for user review)
- Consolidated {N} scattered concepts
Links:
- Fixed {N} broken links
- Added {N} missing critical links:
- list of added links
输出:清理所有文档、移除重复内容、报告意外文件、整合知识并验证交叉链接
阶段 4:总结与后续步骤
目标:全面概述所创建的系统。
流程:
-
列出所有已创建文件及其大小:
AGENTS.md(项目的规范入口)CLAUDE.md(供 Claude Code 使用的@AGENTS.md导入存根)docs/README.md(根文档中心)docs/documentation_standards.md(60 项通用要求)docs/principles.md(11 项开发原则)docs/project/requirements.md、architecture.md、tech_stack.md+ 条件性文档(共 3-7 个)docs/reference/README.md(参考资料中心,包含空的 adrs/、guides/、manuals/、research/ 目录)docs/tasks/README.md+ 可选的kanban_board.mdtests/README.md(如果已创建)
-
展示文档系统的特性:
- SCOPE 标签(已定义文档边界)
- 维护章节(更新触发条件 + 验证)
- README 中心(集中导航)
- DAG 结构(有向无环图导航)
- 已为持续维护的文档做好准备
- 内容已去重(仅保留规范来源)
- 交叉链接已验证(无失效链接)
-
推荐后续步骤:
- “审阅生成的文档(AGENTS.md 为规范入口 + CLAUDE.md 存根 -> docs/)”
- “运行 ln-210-epic-coordinator,将范围拆解为 Epic”
- “与技术利益相关者分享文档”
-
总结文档质量门禁:
Verifier score: X/10Repair passes used: 0-2Remaining warnings: list LOW/MEDIUM only
输出:包含文件列表、验证器状态和建议的总结消息
完整输出结构
project_root/
|- AGENTS.md # Canonical project entry point (map-first root)
|- CLAUDE.md # Derived Anthropic entrypoint
|- docs/
| |- README.md # Root documentation hub (general standards)
| |- documentation_standards.md # 60 universal requirements (Claude Code + industry standards)
| |- principles.md # 11 development principles (Standards First, YAGNI, KISS, DRY, etc.)
| |- project/
| | |- requirements.md # Functional Requirements (NO NFR per project policy)
| | |- architecture.md # arc42-based architecture with C4 Model
| | |- tech_stack.md # Technology versions, Docker config
| | |- api_spec.md # API endpoints (conditional)
| | |- database_schema.md # Database schema (conditional)
| | |- design_guidelines.md # UI/UX system (conditional)
| | |- infrastructure.md # Infrastructure inventory (always)
| | `- runbook.md # Operations guide (conditional)
| |- reference/
| | |- README.md # Reference documentation hub (registries)
| | |- adrs/ # Empty, ready for ADRs
| | |- guides/ # Empty, ready for guides
| | |- manuals/ # Empty, ready for manuals
| | `- research/ # Empty, ready for research
| |- tasks/
| | |- README.md # Task management system rules
| | `- kanban_board.md # Linear integration (optional)
`- tests/
`- README.md # Test documentation (optional)
与项目工作流集成
新项目的推荐工作流:
- ln-100-documents-pipeline(此技能)- 创建完整的文档系统
- ln-210-epic-coordinator - 将范围拆分为 Epic(Linear 项目)
- ln-220-story-coordinator - 为每个 Epic 创建用户故事(自动拆分 + 重新规划)
- ln-300-task-coordinator - 将故事拆分为实施任务(自动拆分 + 重新规划)
- ln-310-multi-agent-validator - 在开发前验证故事
- ln-400-story-executor - 协调故事实施
- 故事质量门禁 - 审查已完成的故事
权衡
权衡:
- 控制粒度较低(无法跳过协调器阶段)
- 执行时间较长(15-20 分钟)
- 即使只创建了一个文件,也会执行全局清理
适合改用手动方式的情况:
- 只需要一份特定的 ADR/指南/手册 -> 使用 references/templates/ + references/documentation_creation.md
文档标准
此流水线创建的所有文档都必须遵循以下规则:
| 规则 | 描述 | 执行方式 |
|---|---|---|
| NO_CODE 规则 | 文档描述契约,而非实现 | 代码块不超过 5 行;使用表格/ASCII/链接 |
| 技术栈适配 | 链接必须与项目的 TECH_STACK 匹配 | .NET -> Microsoft 文档,JS -> MDN |
| 格式优先级 | 表格/ASCII > 列表(仅用于枚举)> 文本 | 参数、配置、备选方案使用表格 |
这些标准由 L3 workers(ln-111-115)、ln-120/130/140 以及共享的 docs-quality 门禁执行。
错误处理
如果任何被调用的技能失败:
- 告知用户哪个技能失败
- 显示失败技能的错误消息
- 建议手动调用以进行调试
- 列出已完成的步骤(部分进度)
技术实现说明
技能调用:
- 使用带 command 参数的 Skill 工具
- 等待每个技能完成后再继续
- 进入下一阶段前,验证输出文件是否存在
文件验证:
- 使用 Glob 工具检查 docs/project/ 结构
- 列出文件大小供用户确认
- 如果缺少预期文件,则发出警告
全局清理:
- 使用 Glob 工具查找所有 .md 文件
- 使用 Read 工具分析内容
- 使用 Edit 工具删除重复内容并添加链接
- 报告意外文件(仅供参考,不会自动归档)
Docs-Quality 门禁:
- 使用
references/scripts/docs-quality/cli.mjs根据 worker 输出构建清单 - 清理前以及修复后,再次使用共享验证器
- 对未解决的 HIGH/CRITICAL 发现快速失败,而非输出低质量文档
标准合规性:
- 所有输出均遵循底层技能采用的相同标准
- ISO/IEC/IEEE 29148:2018(需求)
- ISO/IEC/IEEE 42010:2022(架构)
- arc42 + C4 Model + Michael Nygard 的 ADR 格式
关键规则
- **幂等:**仅创建缺失文件;保留现有文件,不覆盖
- **按顺序调用:**必须按顺序调用 workers(ln-110 -> ln-120 -> ln-130 -> ln-140);每个 worker 都必须在调用下一个之前通过验证
- **Docs-Quality 门禁为强制要求:**第 3 阶段必须构建清单 -> 运行验证器 -> 执行有界修复循环,然后才能继续清理
- **全局清理为强制要求:**只有通过 docs-quality 门禁后,才运行第 3 阶段(去重、孤立项报告、SSoT 整合、交叉链接验证)
- **必须获得用户确认:**在创建任何文件之前,执行预检并获得明确批准
- **NO_CODE 规则:**所有生成的文档均使用表格/ASCII/链接;代码块不超过 5 行
第 5 阶段:元分析
可选参考:仅当用户要求运行后元分析或按协议格式进行运行反思时,才加载 references/meta_analysis_protocol.md。
技能类型:planning-coordinator。收到请求后,在所有阶段完成后运行。使用 planning-coordinator 格式在聊天中输出。
参考文件
- 非规范的源模式:
references/legacy_detection_patterns.md - Worker 技能:
ln-110-project-docs-coordinator、ln-120-reference-docs-creator、ln-130-tasks-docs-creator、ln-140-test-docs-creator - 共享的文档质量约定:
references/docs_quality_contract.md - 共享的验证器 CLI:
references/scripts/docs-quality/cli.mjs
完成定义
完成工作前,请核验所有检查项:
源文档清理(阶段 0——如适用):
- 应用非规范文档模式(Glob + Grep)
- 已构建源清单:{ path, type, confidence, target }
- 用户已选择清理选项(NORMALIZE / ARCHIVE / SKIP)
- 如果选择 NORMALIZE:已使用特定类型的提取器提取事实
- 已创建备份:
.archive/source-docs-{timestamp}/original/ - 已保存提取的事实:
.archive/source-docs-{timestamp}/extracted/ - 已生成 README_cleanup.md,包含回滚说明
- 已准备好供协调器输入的 SOURCE_DOC_NOTES
- 已清理非规范文件(从 README.md 中移除章节,删除独立文件)
用户确认(阶段 1):
- 已显示迁移摘要(如果运行了阶段 0)
- 已向用户说明工作流(协调器 + 4 个工作器:ln-110 -> ln-120 -> ln-130 -> ln-140)
- 用户已批准:“是否继续创建完整文档系统?(是/否)”
- 已记录测试文档偏好:“是否包含测试文档?(是/否)”
依次调用协调器和工作器(阶段 2):
- 已调用 ln-110-project-docs-coordinator -> 已验证输出:根文档(
AGENTS.md+CLAUDE.md+docs/README.md+docs/documentation_standards.md+docs/principles.md)+ 项目文档(docs/project/requirements.md、architecture.md、tech_stack.md+ 条件文件) - 已调用 ln-120-reference-docs-creator -> 已验证输出:
docs/reference/README.md+ 目录(adrs/、guides/、manuals/、research/)+ 基于 TECH_STACK 且理由充分的 ADR、指南和手册 - 已调用 ln-130-tasks-docs-creator -> 已验证输出:
docs/tasks/README.md+ 可选的kanban_board.md - 已调用 ln-140-test-docs-creator(如果已启用)-> 已验证输出:
tests/README.md - 每个组件均已验证自身输出(SCOPE、元数据标记、顶部章节、维护、POSIX 合规性)
- 每个工作器均已返回规范化的
created_files、skipped_files、quality_inputs和validation_status
文件验证完成:
- 所有预期文件均已存在(使用 Glob 工具验证结构)
- 已列出文件大小,供用户确认
- 如果缺少预期文件,已显示警告
全局清理完成(阶段 3):
- 3a:已根据规范化的工作器输出构建清单
- 3b:已根据清单运行共享验证器
- 3c:已完成有界修复循环;不再存在 HIGH/CRITICAL 级别的问题
- 3d:已识别并移除重复章节(相似度 >80%)
- 3d:已将链接添加到规范位置(principles.md、testing-strategy.md、kanban_board.md)
- 3e:已报告意外文件(仅供参考,不自动归档)
- 3f:已将分散的概念整合到单一事实来源(SSoT)
- 3g:已验证内部链接(修复失效链接,补充关键链接)
- 3h:已生成最终报告(质量门禁摘要、计数、列表、操作)
已显示摘要(阶段 4):
- 已列出所有创建的文件及其大小
- 已突出显示文档系统功能(SCOPE、元数据标记、快速导航、Agent 入口、维护、README 导航页、DAG 结构、去重内容、已验证的链接)
- 已显示 docs-quality 验证器摘要(评分、修复轮次、剩余的 LOW/MEDIUM 级警告)
- 已建议后续步骤(ln-210-epic-coordinator)
错误处理(如适用):
- 如果任何工作器失败:已告知用户失败的工作器、显示错误消息、建议手动调用,并列出已完成的部分工作
输出: 完整文档系统(AGENTS.md 为规范文件 + CLAUDE.md @AGENTS.md 导入存根 + docs/,其中包含 README.md、documentation_standards.md、principles.md + 可选的 tests/),并完成全局清理(无重复项、已报告孤立文件、已整合知识、已验证交叉链接)
版本: 8.1.0
最后更新: 2025-01-12