Documentation Update

geoffjay/claude-plugins/plugins/claude-plugin/skills/documentation-update

作者 geoffjay0ab5ae1b22bf無授權條款8 個星標收錄於 2026年10月9日更新於 2026年10月8日儲存庫11 個月前更新

Regenerates documentation files (agents.md, agent-skills.md, plugins.md, usage.md) from marketplace data using Jinja templates. Use when plugins are added, updated, or removed to keep documentation in sync.

AI 產生的概覽

使用 Jinja2 範本根據市集目錄資料重新產生文件檔案。

功能
此技能會讀取市集目錄與外掛中繼資料,然後渲染四個 Jinja2 範本,在 docs 目錄中產生 agents.md、agent-skills.md、plugins.md 與 usage.md。隨附的 Python 指令碼會載入 marketplace.json,掃描外掛檔案中的代理、命令與技能中繼資料,建立範本內容並寫出產生的文件。它支援產生全部檔案或單一檔案、試執行,以及自訂市集、範本與輸出路径。
適用情境
在外掛新增、更新或移除後,或代理與技能中繼資料變更時使用,以讓文件與市集狀態保持同步。它也設計成由外掛建立與更新命令自動呼叫。
執行需求
需要 Python 3.8 或更新版本,僅使用標準函式庫,沒有外部相依套件。需要 .claude-plugin/marketplace.json 與外掛目錄的讀取權限、docs 目錄的寫入權限,以及 assets/ 中的四個 Jinja2 範本。隨附可執行的 Python 指令碼 doc_generator.py。

Documentation Update Skill

This skill automatically regenerates documentation files in the docs/ directory by reading the marketplace catalog and applying Jinja2 templates.

Purpose

Maintain synchronized documentation by:

  • Generating agent reference documentation
  • Creating skill catalog documentation
  • Building plugin directory
  • Updating usage guides
  • Ensuring consistency across all docs

When to Use

Use this skill when:

  • A new plugin is added to the marketplace
  • An existing plugin is updated (components added/removed)
  • Agent or skill metadata changes
  • Documentation needs to be regenerated
  • Ensuring docs match marketplace state

Documentation Files

This skill generates four main documentation files:

1. agents.md

Complete reference of all agents across all plugins:

  • Organized by plugin
  • Lists agent name, description, and model
  • Includes links to agent files
  • Shows agent capabilities and use cases

2. agent-skills.md

Catalog of all skills with progressive disclosure details:

  • Organized by plugin
  • Lists skill name and description
  • Shows "Use when" triggers
  • Includes skill structure information

3. plugins.md

Directory of all plugins in the marketplace:

  • Organized by category
  • Shows plugin name, description, and version
  • Lists components (agents, commands, skills)
  • Provides installation and usage information

4. usage.md

Usage guide and command reference:

  • Getting started instructions
  • Command usage examples
  • Workflow patterns
  • Integration guides

Template Structure

Templates are stored in assets/ using Jinja2 syntax:

assets/├── agents.md.j2├── agent-skills.md.j2├── plugins.md.j2└── usage.md.j2

Template Variables

All templates receive the following context:

python
{  "marketplace": {    "name": "marketplace-name",    "owner": {...},    "metadata": {...},    "plugins": [...]  },  "plugins_by_category": {    "category-name": [plugin1, plugin2, ...]  },  "all_agents": [    {      "plugin": "plugin-name",      "name": "agent-name",      "file": "agent-file.md",      "description": "...",      "model": "..."    }  ],  "all_skills": [    {      "plugin": "plugin-name",      "name": "skill-name",      "path": "skill-path",      "description": "..."    }  ],  "all_commands": [    {      "plugin": "plugin-name",      "name": "command-name",      "file": "command-file.md",      "description": "..."    }  ],  "stats": {    "total_plugins": 10,    "total_agents": 25,    "total_commands": 15,    "total_skills": 30  }}

Python Script

The skill includes a Python script doc_generator.py that:

  1. Loads marketplace.json

    • Reads the marketplace catalog
    • Validates structure
    • Builds component index
  2. Scans Plugin Files

    • Reads agent/command frontmatter
    • Extracts skill metadata
    • Builds comprehensive component list
  3. Prepares Template Context

    • Organizes plugins by category
    • Creates component indexes
    • Calculates statistics
  4. Renders Templates

    • Applies Jinja2 templates
    • Generates documentation files
    • Writes to docs/ directory

Usage

bash
# Generate all documentation filespython doc_generator.py
# Generate specific file onlypython doc_generator.py --file agents
# Dry run (show output without writing)python doc_generator.py --dry-run
# Specify custom pathspython doc_generator.py \  --marketplace .claude-plugin/marketplace.json \  --templates plugins/claude-plugin/skills/documentation-update/assets \  --output docs

Integration with Commands

The /claude-plugin:create and /claude-plugin:update commands should invoke this skill automatically after marketplace updates:

Workflow

1. Plugin operation completes (add/update/remove)2. Marketplace.json is updated3. Invoke documentation-update skill4. Documentation files regenerated5. Changes ready to commit

Example Integration

python
# After creating/updating pluginprint("Updating documentation...")
# Run doc generatorimport subprocessresult = subprocess.run(    ["python", "plugins/claude-plugin/skills/documentation-update/doc_generator.py"],    capture_output=True,    text=True)
if result.returncode == 0:    print("✓ Documentation updated")else:    print(f"❌ Documentation update failed: {result.stderr}")

Template Examples

agents.md.j2

jinja2
# Agent Reference
This document lists all agents available across plugins in the marketplace.
{% for category, plugins in plugins_by_category.items() %}## {{ category|title }}
{% for plugin in plugins %}### {{ plugin.name }}
{{ plugin.description }}
**Agents:**
{% for agent in all_agents %}{% if agent.plugin == plugin.name %}- **{{ agent.name }}** (`{{ agent.model }}`)  - {{ agent.description }}  - File: `plugins/{{ plugin.name }}/agents/{{ agent.file }}`{% endif %}{% endfor %}
{% endfor %}{% endfor %}
---*Last updated: {{ now }}**Total agents: {{ stats.total_agents }}*

agent-skills.md.j2

jinja2
# Agent Skills Reference
This document catalogs all skills with progressive disclosure patterns.
{% for plugin in marketplace.plugins %}## {{ plugin.name }}
{{ plugin.description }}
**Skills:**
{% for skill in all_skills %}{% if skill.plugin == plugin.name %}### {{ skill.name }}
{{ skill.description }}
- **Location:** `plugins/{{ plugin.name }}/skills/{{ skill.path }}/`- **Structure:** SKILL.md + assets/ + references/
{% endif %}{% endfor %}
{% endfor %}
---*Last updated: {{ now }}**Total skills: {{ stats.total_skills }}*

Error Handling

Marketplace Not Found

Error: Marketplace file not found: .claude-plugin/marketplace.jsonSuggestion: Ensure marketplace.json exists

Template Not Found

Error: Template file not found: assets/agents.md.j2Suggestion: Ensure all template files exist in assets/

Invalid Plugin Structure

Warning: Plugin 'plugin-name' missing componentsSuggestion: Verify plugin has agents or commands

Frontmatter Parse Error

Warning: Could not parse frontmatter in agents/agent-name.mdSuggestion: Check YAML frontmatter syntax

Best Practices

  1. Always Regenerate After Changes

    • Run after every plugin add/update/remove
    • Ensure docs stay synchronized
    • Commit documentation with plugin changes
  2. Validate Before Generation

    • Run marketplace validation first
    • Fix any errors or warnings
    • Ensure all files exist
  3. Review Generated Output

    • Check generated files for correctness
    • Verify formatting and links
    • Test any code examples
  4. Template Maintenance

    • Keep templates simple and readable
    • Use consistent formatting
    • Document template variables
  5. Version Control

    • Commit documentation changes
    • Include in pull requests
    • Document significant changes

Template Customization

Adding New Sections

To add a new section to a template:

  1. Modify Template

    jinja2
    ## New Section
    {% for plugin in marketplace.plugins %}### {{ plugin.name }}[Your content here]{% endfor %}
  2. Update Context (if needed)

    • Add new data to template context in doc_generator.py
    • Process additional metadata
  3. Test Output

    • Run generator with dry-run
    • Verify formatting
    • Check for errors

Creating New Templates

To add a new documentation file:

  1. Create Template

    • Add assets/newdoc.md.j2
    • Define structure and content
  2. Update Script

    • Add to doc_generator.py template list
    • Define output path
  3. Test Generation

    • Run generator
    • Verify output
    • Commit template and output

File Structure

plugins/claude-plugin/skills/documentation-update/├── SKILL.md                      # This file├── doc_generator.py              # Python implementation├── assets/                       # Jinja2 templates│   ├── agents.md.j2│   ├── agent-skills.md.j2│   ├── plugins.md.j2│   └── usage.md.j2└── references/                   # Optional examples    └── template-examples.md

Requirements

  • Python 3.8+
  • No external dependencies (uses standard library only)
  • Access to .claude-plugin/marketplace.json
  • Read access to plugin directories
  • Write access to docs/ directory

Success Criteria

After running this skill:

  • ✓ All documentation files generated
  • ✓ Content matches marketplace state
  • ✓ All links are valid
  • ✓ Formatting is consistent
  • ✓ Statistics are accurate
  • ✓ No template rendering errors

Maintenance

Updating Templates

When marketplace structure changes:

  1. Assess Impact

    • Identify affected templates
    • Determine required changes
  2. Update Templates

    • Modify Jinja2 templates
    • Test with current data
  3. Update Script

    • Adjust context preparation if needed
    • Add new data processing
  4. Validate Output

    • Regenerate all docs
    • Review changes
    • Test links and formatting

Version Compatibility

  • Templates should handle missing fields gracefully
  • Use Jinja2 default filters for optional data
  • Validate marketplace version compatibility

Example Output

The skill generates comprehensive, well-formatted documentation:

  • agents.md: ~500-1000 lines for 20-30 agents
  • agent-skills.md: ~300-600 lines for 30-50 skills
  • plugins.md: ~400-800 lines for 10-20 plugins
  • usage.md: ~200-400 lines of usage information

All files include:

  • Clear structure and headings
  • Formatted tables where appropriate
  • Links to source files
  • Statistics and metadata
  • Last updated timestamp

來源與署名

來源:geoffjay/claude-plugins位於plugins/claude-plugin/skills/documentation-update提交0ab5ae1

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架