Create new documentation for an object-oriented component or update an existing component documentation file by analyzing the current implementation.
通过分析当前实现,为面向对象组件创建新文档或更新现有组件文档文件。
Determine the mode first
首先确定模式
Choose the workflow before writing anything:
Use update mode when the user provides an existing documentation Markdown file, points to a docs path, or explicitly asks to refresh or revise existing documentation. Follow references/update-mode.md.
Use create mode when the user provides a source file or folder, points to a component path, or asks to generate documentation from code. Follow references/create-mode.md.
If both code and an existing documentation file are provided, treat the existing documentation file as the output target and use the current source code as the source of truth.
If the request is ambiguous, infer the mode from the path type whenever possible: existing Markdown documentation file means update mode; source/component path means create mode.
ANA-006: Assess performance, security, reliability, maintainability, and extensibility characteristics
ANA-007: Infer data flow, collaboration patterns, and relationships with surrounding components
ANA-008: Keep the documentation grounded in the implementation; avoid inventing behavior that is not supported by the code
ANA-001:确定主要组件边界,以及输入内容是文件夹、文件还是现有文档目标
ANA-002:检查源代码文件的类结构、继承关系、组合关系和接口
ANA-003:识别设计模式、架构决策和集成点
ANA-004:记录或更新公共API、接口、依赖关系和使用模式
ANA-005:记录方法参数、返回值、异步行为、异常和生命周期相关事项
ANA-006:评估性能、安全性、可靠性、可维护性和可扩展性特征
ANA-007:推断数据流、协作模式以及与周边组件的关系
ANA-008:文档需基于实际实现;避免编造代码不支持的行为
Shared output requirements
通用输出要求
Use assets/documentation-template.md as the canonical section checklist and baseline structure.
Keep the output in Markdown with a clear heading hierarchy, tables where useful, code blocks for examples, and Mermaid diagrams when architecture relationships need to be visualized.
Make examples and interface descriptions match the current implementation instead of generic placeholders.
Include only information that can be supported by the code, project structure, configuration, or clearly stated assumptions.
When source coverage is incomplete, document the limitation explicitly instead of guessing.
ERR-001: If the path does not exist, explain what path was expected and whether the skill needs a source path or an existing documentation file
ERR-002: If no relevant source files are found, document the gap and suggest the likely locations to inspect next
ERR-003: If the documentation target cannot be inferred from the request, state the ambiguity and ask for the missing path only when inference is not possible
ERR-004: If the code uses non-standard architectural patterns, document the custom approach rather than forcing it into a generic pattern
ERR-005: If source access is incomplete, continue with available evidence and clearly call out any unsupported sections
ERR-001:如果路径不存在,说明预期的路径类型,以及该技能需要的是源路径还是现有文档文件
ERR-002:如果未找到相关源文件,记录该缺口并建议下一步可能需要检查的位置
ERR-003:如果无法从请求中推断出文档目标,说明模糊点,仅在无法推断时请求提供缺失的路径
ERR-004:如果代码使用非标准架构模式,记录该自定义方法,而非强行套用通用模式
ERR-005:如果源代码访问不完整,基于现有信息继续处理,并明确标注所有未得到支持的章节
Workflow
工作流程
Determine whether the task is create mode or update mode.
Inspect the component implementation and any related files needed to understand its public surface area and internal structure.
Use assets/documentation-template.md as the shared documentation scaffold.
Apply the mode-specific rules in references/create-mode.md or references/update-mode.md.
Produce or revise the documentation so that diagrams, examples, interfaces, dependencies, and quality attributes reflect the current implementation.