oo-component-documentation
作者: github
使用共享模板以及针对新文档和现有文档的特定模式指南,创建或更新标准化的面向对象组件文档。
npx skills add https://github.com/github/awesome-copilot --skill oo-component-documentationOO Component Documentation
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.
Documentation standards
- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code)
- DOC-002: Align with Arc42 software architecture documentation template
- DOC-003: Comply with IEEE 1016 Software Design Description standard
- DOC-004: Use Agile Documentation principles (just enough documentation that adds value)
- DOC-005: Target developers and maintainers as the primary audience
Shared analysis guidance
- ANA-001: Determine the primary component boundary and whether the input represents a folder, file, or existing documentation target
- ANA-002: Examine source code files for class structures, inheritance, composition, and interfaces
- ANA-003: Identify design patterns, architectural decisions, and integration points
- ANA-004: Document or refresh public APIs, interfaces, dependencies, and usage patterns
- ANA-005: Capture method parameters, return values, asynchronous behavior, exceptions, and lifecycle concerns
- 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
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.
Language-specific optimizations
- LNG-001: C#/.NET - async/await, dependency injection, configuration, disposal, options patterns
- LNG-002: Java - Spring framework, annotations, exception handling, packaging, dependency injection
- LNG-003: TypeScript/JavaScript - modules, async patterns, types, npm dependencies, runtime boundaries
- LNG-004: Python - packages, virtual environments, type hints, testing, dependency management
Error handling
- 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
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.
Completion criteria
- The documentation clearly identifies the component purpose, architecture, interfaces, implementation details, usage patterns, quality attributes, and references.
- Front matter fields are accurate for the selected mode.
- Examples and diagrams match the implementation.
- Any unknowns, gaps, or assumptions are explicitly called out.
来自 github 的更多技能
console-rendering
github
在Go中使用基于结构体标签的控制台渲染系统的说明
official
acquire-codebase-knowledge
github
当用户明确要求映射、记录或熟悉现有代码库时使用此技能。触发词如“映射此代码库”、“记录…
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
通过AgentRC指令命令生成定制化的AI代理指令文件。生成.github/copilot-instructions.md(默认,推荐用于VS Code中的Copilot…
official
acreadiness-policy
github
帮助用户选择、编写或应用AgentRC策略。策略通过禁用无关检查、覆盖影响/级别、设置…来定制就绪评分。
official
add-educational-comments
github
为代码文件添加教育性注释,将其转化为有效的学习资源。根据三个可配置的知识水平(初级、中级、高级)调整解释深度和语气。若未提供文件,自动请求文件,并附带编号列表以便快速选择。仅通过教育性注释将文件扩展最多125%(硬性限制:新增400行;超过1000行的文件限制为300行)。保留文件编码、缩进风格、语法正确性以及...
official
adobe-illustrator-scripting
github
使用ExtendScript(JavaScript/JSX)编写、调试和优化Adobe Illustrator自动化脚本。在创建或修改操作…的脚本时使用。
official
agent-governance
github
声明式策略、意图分类及审计追踪,用于控制AI代理工具访问与行为。可组合的治理策略定义允许/禁止的工具、内容过滤器、速率限制及审批要求——以配置而非代码形式存储。语义意图分类在执行工具前通过基于模式的信号检测危险提示(数据泄露、权限提升、提示注入)。工具级治理装饰器在函数层面强制执行策略...
official