MCPInstall

create-oo-component-documentation

Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards.

Installs
7K
Last 24h
—
Trending rank
—
Security
Warn

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/github/awesome-copilot --skill create-oo-component-documentation
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads create-oo-component-documentation automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

Security audits

Independent scans of the skill's instructions and bundled files.

Gen Agent Trust Hub PassSAFE ·This skill analyzes source code at a user-provided path to generate architectural documentation. While it is designed for helpful documentation purposes, it has an inherent surface area for indirect prompt injection because it processes untrusted external code and can output content that influences subsequent agent actions.
Socket PassNo alerts
Snyk PassLOW ·Risk: LOW · No issues
Runlayer WarnMEDIUM ·1/1 file flagged

SKILL.md

The instructions your agent reads when the skill is triggered.

Generate Standard OO Component Documentation

Create comprehensive documentation for the object-oriented component(s) at: ${input:ComponentPath}.

Analyze the component by examining code in the provided path. If folder, analyze all source files. If single file, treat as main component and analyze related files in same directory.

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 primary audience

Analysis Instructions

  • ANA-001: Determine path type (folder vs single file) and identify primary component
  • ANA-002: Examine source code files for class structures and inheritance
  • ANA-003: Identify design patterns and architectural decisions
  • ANA-004: Document public APIs, interfaces, and dependencies
  • ANA-005: Recognize creational/structural/behavioral patterns
  • ANA-006: Document method parameters, return values, exceptions
  • ANA-007: Assess performance, security, reliability, maintainability
  • ANA-008: Infer integration patterns and data flow

Language-Specific Optimizations

  • LNG-001: C#/.NET - async/await, dependency injection, configuration, disposal
  • LNG-002: Java - Spring framework, annotations, exception handling, packaging
  • LNG-003: TypeScript/JavaScript - modules, async patterns, types, npm
  • LNG-004: Python - packages, virtual environments, type hints, testing

Error Handling

  • ERR-001: Path doesn't exist - provide correct format guidance
  • ERR-002: No source files found - suggest alternative locations
  • ERR-003: Unclear structure - document findings and request clarification
  • ERR-004: Non-standard patterns - document custom approaches
  • ERR-005: Insufficient code - focus on available information, highlight gaps

Output Format

Generate well-structured Markdown with clear heading hierarchy, code blocks, tables, bullet points, and proper formatting for readability and maintainability.

File Location

The documentation should be saved in the /docs/components/ directory and named according to the convention: [component-name]-documentation.md.

Required Documentation Structure

The documentation file must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following:

---
title: [Component Name] - Technical Documentation
component_path: `${input:ComponentPath}`
version: [Optional: e.g., 1.0, Date]
date_created: [YYYY-MM-DD]
last_updated: [Optional: YYYY-MM-DD]
owner: [Optional: Team/Individual responsible for this component]
tags: [Optional: List of relevant tags or categories, e.g., `component`,`service`,`tool`,`infrastructure`,`documentation`,`architecture` etc]
---

# [Component Name] Documentation

[A short concise introduction to the component and its purpose within the system.]

## 1. Component Overview

### Purpose/Responsibility
- OVR-001: State component's primary responsibility
- OVR-002: Define scope (included/excluded functionality)
- OVR-003: Describe system context and relationships

## 2. Architecture Section

- ARC-001: Document design patterns used (Repository, Factory, Observer, etc.)
- ARC-002: List internal and external dependencies with purposes
- ARC-003: Document component interactions and relationships
- ARC-004: Include visual diagrams (UML class, sequence, component)
- ARC-005: Create mermaid diagram showing component structure, relationships, and dependencies

### Component Structure and Dependencies Diagram

Include a comprehensive mermaid diagram that shows:
- **Component structure** - Main classes, interfaces, and their relationships
- **Internal dependencies** - How components interact within the system
- **External dependencies** - External libraries, services, databases, APIs
- **Data flow** - Direction of dependencies and interactions
- **Inheritance/composition** - Class hierarchies and composition relationships

```mermaid
graph TD
    subgraph "Component System"
        A[Main Component] --> B[Internal Service]
        A --> C[Internal Repository]
        B --> D[Business Logic]
        C --> E[Data Access Layer]
    end

    subgraph "External Dependencies"
        F[External API]
        G[Database]
        H[Third-party Library]
        I[Configuration Service]
    end

    A --> F
    E --> G
    B --> H
    A --> I

    classDiagram
        class MainComponent {
            +property: Type
            +method(): ReturnType
            +asyncMethod(): Promise~Type~
        }
        class InternalService {
            +businessOperation(): Result
        }
        class ExternalAPI {
            <<external>>
            +apiCall(): Data
        }

        MainComponent --> InternalService
        MainComponent --> ExternalAPI

3. Interface Documentation

  • INT-001: Document all public interfaces and usage patterns
  • INT-002: Create method/property reference table
  • INT-003: Document events/callbacks/notification mechanisms
Method/PropertyPurposeParametersReturn TypeUsage Notes
[Name][Purpose][Parameters][Type][Notes]

4. Implementation Details

  • IMP-001: Document main implementation classes and responsibilities
  • IMP-002: Describe configuration requirements and initialization
  • IMP-003: Document key algorithms and business logic
  • IMP-004: Note performance characteristics and bottlenecks

5. Usage Examples

Basic Usage

// Basic usage example
var component = new ComponentName();
component.DoSomething();

Advanced Usage

// Advanced configuration patterns
var options = new ComponentOptions();
var component = ComponentFactory.Create(options);
await component.ProcessAsync(data);
  • USE-001: Provide basic usage examples
  • USE-002: Show advanced configuration patterns
  • USE-003: Document best practices and recommended patterns

6. Quality Attributes

  • QUA-001: Security (authentication, authorization, data protection)
  • QUA-002: Performance (characteristics, scalability, resource usage)
  • QUA-003: Reliability (error handling, fault tolerance, recovery)
  • QUA-004: Maintainability (standards, testing, documentation)
  • QUA-005: Extensibility (extension points, customization options)

7. Reference Information

  • REF-001: List dependencies with versions and purposes
  • REF-002: Complete configuration options reference
  • REF-003: Testing guidelines and mock setup
  • REF-004: Troubleshooting (common issues, error messages)
  • REF-005: Related documentation links
  • REF-006: Change history and migration notes

FAQ

What does the create-oo-component-documentation skill do?

Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards.

How do I install create-oo-component-documentation?

Run npx skills add https://github.com/github/awesome-copilot --skill create-oo-component-documentation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/create-oo-component-documentation/ (personal) or .claude/skills/create-oo-component-documentation/ (project).

Which AI agents can use create-oo-component-documentation?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is create-oo-component-documentation safe to install?

Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed; Runlayer flagged items to review. As with any skill, read the SKILL.md and bundled scripts before installing.

Who maintains create-oo-component-documentation?

It is published by github in github/awesome-copilot, and it is an official skill from the maker of the technology it covers. It has 7,006 recorded installs.

More from github/awesome-copilot

View all →

git-commit

github/awesome-copilot

Use this skill when the user wants to make a Git commit or split changes into more than one commit. Also use it when the user types "/commit" or asks for a conventional commit. The skill examines the diff, stages the related files, writes a Conventional Commits message, and runs git commit. Do not use it when the user wants only a commit message and no commit. Do not use it to push, open a pull request, rebase, or change the commit history.

OfficialCode Quality & Workflow47.4K installs

excalidraw-diagram-generator

github/awesome-copilot

Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.

OfficialDocs & Writing31.9K installs

multi-stage-dockerfile

github/awesome-copilot

Create optimized multi-stage Dockerfiles for any language or framework

Official29.8K installs

documentation-writer

github/awesome-copilot

Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.

OfficialDocs & Writing27.9K installs

prd

github/awesome-copilot

Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.

Official24.1K installs

refactor

github/awesome-copilot

Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.

OfficialCode Quality & Workflow22.4K installs

Popular docs & writing skills

View category →

grill-with-docs

mattpocock/skills

A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

Docs & Writing1.2M installs

lark-markdown

open.feishu.cn

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

Docs & Writing778.7K installs

writing-beats

mattpocock/skills

Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.

Docs & Writing490.7K installs

writing-shape

mattpocock/skills

Writing, exploit: shape raw material into an article, paragraph by paragraph.

Docs & Writing490.2K installs

writing-fragments

mattpocock/skills

Writing, explore: mine raw fragments, no structure yet.

Docs & Writing489.6K installs

writing-for-agents

mattpocock/skills

Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.

Docs & Writing479.3K installs