用途
ln-112-project-core-creator 是一个 L3 Worker 技能,负责创建 4 个核心项目文档。这些文档无论项目类型如何都会创建,属于项目文档体系的基础部分。它由 ln-110-project-docs-coordinator 协调器作为第二个 worker 调用(在 ln-111 之后),不直接由用户调用。
主要能力
该技能创建以下 4 个文档:
- docs/project/requirements.md:功能需求,使用 FR-XXX-NNN 格式,包含 MoSCoW 标签。
- docs/project/architecture.md:包含 11 个 arc42 章节和 C4 图(Context、Container、Component),遵循 ISO/IEC/IEEE 42010:2022 结构,第 8 节链接 ADR。
- docs/project/tech_stack.md:前端、后端、数据库及其他技术栈信息,包含版本和选型理由。
- docs/architecture/patterns_catalog.md:模式摘要、4 分模型、趋势跟踪。自动检测代码中的模式(如作业处理、事件驱动、缓存、弹性),标记为“Status: Detected”,并链接匹配的 ADR。
技能会从协调器接收完整 Context Store,包括 PROJECT_NAME、PROJECT_DESCRIPTION、TECH_STACK、DEPENDENCIES、SRC_STRUCTURE、EXTERNAL_SYSTEMS、CODE_CONVENTIONS、ADR_LIST 等。它通过大量自动发现(扫描源码树、依赖、配置文件、ADR、环境变量示例、代码规范)来填充模板占位符,并生成 Mermaid 格式的 C4 图。
使用方式
该技能不直接由用户调用,而是由 ln-110-project-docs-coordinator 协调器在文档生成流程中作为第二个 worker 调用。它接收协调器提供的 Context Store 和 targetDir(项目根目录)。工作流程分为四个阶段:
- 接收 Context:解析 Context Store,验证必需键(PROJECT_NAME、TECH_STACK),提取架构相关数据。
- 创建文档:对每个文档检查是否已存在(幂等),若不存在则从 references/templates/ 复制模板,用 Context Store 值替换 {{PLACEHOLDER}},保留共享开头契约(SCOPE、DOC_KIND、DOC_ROLE、READ_WHEN、SKIP_WHEN、PRIMARY_SOURCES)和标准顶部章节(Quick Navigation、Agent Entry、Maintenance),生成 C4 图,插入 ADR 链接。
- 自校验:检查 SCOPE 标签、元数据标记、必需章节、格式要求(如 FR-XXX 标识符、MoSCoW 标签、11 个章节、C4 图、ADR 引用、版本和理由),并检查文档质量契约合规性,自动修复问题。
- 返回状态:向协调器返回 created_files、skipped_files、quality_inputs、validation_status、diagrams_generated 等信息。
技能强制读取 references/docs_quality_contract.md 和 references/markdown_read_protocol.md,可选加载 references/docs_quality_rules.json。
适用场景
适用于任何需要生成核心项目文档的项目,无论项目类型。它作为文档生成流水线的一部分,由协调器统一调度,确保项目具备需求、架构、技术栈和模式目录等基础文档。
限制
- 该技能从不自行收集上下文,只使用协调器输入。
- 具有幂等性,不会覆盖已存在的文件。
- 文档必须可发布,不能包含 [TBD: ...]、TODO 或泄露的模板元数据。
- 遵循 NO_CODE_EXAMPLES 规则:禁止超过 5 行的代码块、函数实现、导入、依赖注入配置;允许 Mermaid 图、组件表、方法签名(1 行)、ADR 链接。
- 遵循 Stack Adaptation 规则:链接必须引用与技术栈匹配的文档,不混用技术栈引用。
- 格式优先级:表格 > Mermaid/ASCII 图 > 列表 > 文本。
- 若数据缺失,省略声明或使用简洁中性回退,不输出 [TBD: ...]。
- 版本 2.2.0,最后更新 2025-01-12。