home / skills / ratacat / claude-skills / release-docs

release-docs skill

/skills/release-docs

This skill helps you generate up-to-date release documentation for the compound-engineering plugin by syncing agents, commands, skills, and servers.

npx playbooks add skill ratacat/claude-skills --skill release-docs

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
6.0 KB
---
name: release-docs
description: Build and update the documentation site with current plugin components
---

## Arguments
[optional: --dry-run to preview changes without writing]

# Release Documentation Command

You are a documentation generator for the compound-engineering plugin. Your job is to ensure the documentation site at `plugins/compound-engineering/docs/` is always up-to-date with the actual plugin components.

## Overview

The documentation site is a static HTML/CSS/JS site based on the Evil Martians LaunchKit template. It needs to be regenerated whenever:

- Agents are added, removed, or modified
- Commands are added, removed, or modified
- Skills are added, removed, or modified
- MCP servers are added, removed, or modified

## Step 1: Inventory Current Components

First, count and list all current components:

```bash
# Count agents
ls plugins/compound-engineering/agents/*.md | wc -l

# Count commands
ls plugins/compound-engineering/commands/*.md | wc -l

# Count skills
ls -d plugins/compound-engineering/skills/*/ 2>/dev/null | wc -l

# Count MCP servers
ls -d plugins/compound-engineering/mcp-servers/*/ 2>/dev/null | wc -l
```

Read all component files to get their metadata:

### Agents
For each agent file in `plugins/compound-engineering/agents/*.md`:
- Extract the frontmatter (name, description)
- Note the category (Review, Research, Workflow, Design, Docs)
- Get key responsibilities from the content

### Commands
For each command file in `plugins/compound-engineering/commands/*.md`:
- Extract the frontmatter (name, description, argument-hint)
- Categorize as Workflow or Utility command

### Skills
For each skill directory in `plugins/compound-engineering/skills/*/`:
- Read the SKILL.md file for frontmatter (name, description)
- Note any scripts or supporting files

### MCP Servers
For each MCP server in `plugins/compound-engineering/mcp-servers/*/`:
- Read the configuration and README
- List the tools provided

## Step 2: Update Documentation Pages

### 2a. Update `docs/index.html`

Update the stats section with accurate counts:
```html
<div class="stats-grid">
  <div class="stat-card">
    <span class="stat-number">[AGENT_COUNT]</span>
    <span class="stat-label">Specialized Agents</span>
  </div>
  <!-- Update all stat cards -->
</div>
```

Ensure the component summary sections list key components accurately.

### 2b. Update `docs/pages/agents.html`

Regenerate the complete agents reference page:
- Group agents by category (Review, Research, Workflow, Design, Docs)
- Include for each agent:
  - Name and description
  - Key responsibilities (bullet list)
  - Usage example: `claude agent [agent-name] "your message"`
  - Use cases

### 2c. Update `docs/pages/commands.html`

Regenerate the complete commands reference page:
- Group commands by type (Workflow, Utility)
- Include for each command:
  - Name and description
  - Arguments (if any)
  - Process/workflow steps
  - Example usage

### 2d. Update `docs/pages/skills.html`

Regenerate the complete skills reference page:
- Group skills by category (Development Tools, Content & Workflow, Image Generation)
- Include for each skill:
  - Name and description
  - Usage: `claude skill [skill-name]`
  - Features and capabilities

### 2e. Update `docs/pages/mcp-servers.html`

Regenerate the MCP servers reference page:
- For each server:
  - Name and purpose
  - Tools provided
  - Configuration details
  - Supported frameworks/services

## Step 3: Update Metadata Files

Ensure counts are consistent across:

1. **`plugins/compound-engineering/.claude-plugin/plugin.json`**
   - Update `description` with correct counts
   - Update `components` object with counts
   - Update `agents`, `commands` arrays with current items

2. **`.claude-plugin/marketplace.json`**
   - Update plugin `description` with correct counts

3. **`plugins/compound-engineering/README.md`**
   - Update intro paragraph with counts
   - Update component lists

## Step 4: Validate

Run validation checks:

```bash
# Validate JSON files
cat .claude-plugin/marketplace.json | jq .
cat plugins/compound-engineering/.claude-plugin/plugin.json | jq .

# Verify counts match
echo "Agents in files: $(ls plugins/compound-engineering/agents/*.md | wc -l)"
grep -o "[0-9]* specialized agents" plugins/compound-engineering/docs/index.html

echo "Commands in files: $(ls plugins/compound-engineering/commands/*.md | wc -l)"
grep -o "[0-9]* slash commands" plugins/compound-engineering/docs/index.html
```

## Step 5: Report Changes

Provide a summary of what was updated:

```
## Documentation Release Summary

### Component Counts
- Agents: X (previously Y)
- Commands: X (previously Y)
- Skills: X (previously Y)
- MCP Servers: X (previously Y)

### Files Updated
- docs/index.html - Updated stats and component summaries
- docs/pages/agents.html - Regenerated with X agents
- docs/pages/commands.html - Regenerated with X commands
- docs/pages/skills.html - Regenerated with X skills
- docs/pages/mcp-servers.html - Regenerated with X servers
- plugin.json - Updated counts and component lists
- marketplace.json - Updated description
- README.md - Updated component lists

### New Components Added
- [List any new agents/commands/skills]

### Components Removed
- [List any removed agents/commands/skills]
```

## Dry Run Mode

If `--dry-run` is specified:
- Perform all inventory and validation steps
- Report what WOULD be updated
- Do NOT write any files
- Show diff previews of proposed changes

## Error Handling

- If component files have invalid frontmatter, report the error and skip
- If JSON validation fails, report and abort
- Always maintain a valid state - don't partially update

## Post-Release

After successful release:
1. Suggest updating CHANGELOG.md with documentation changes
2. Remind to commit with message: `docs: Update documentation site to match plugin components`
3. Remind to push changes

## Usage Examples

```bash
# Full documentation release
claude /release-docs

# Preview changes without writing
claude /release-docs --dry-run

# After adding new agents
claude /release-docs
```

Overview

This skill builds and updates the documentation site for the compound-engineering plugin, ensuring docs reflect the current plugin components. It inventories agents, commands, skills, and MCP servers, regenerates relevant HTML pages and metadata, validates outputs, and can run in a dry-run preview mode. The tool is designed for repeatable documentation releases tied to the plugin source tree.

How this skill works

The skill reads component files under plugins/compound-engineering (agents, commands, skills, mcp-servers), extracts frontmatter and metadata, and counts components. It regenerates specific static pages (index, agents, commands, skills, mcp-servers), updates plugin JSON/marketplace metadata and README content, then runs JSON and content validation. With --dry-run it reports proposed changes and diffs without writing files.

When to use it

  • After adding, removing, or modifying agents, commands, skills, or MCP servers
  • Before publishing a plugin release or marketplace update
  • When stats or component lists on the docs site are out of sync with source files
  • To validate metadata and JSON consistency across plugin files
  • When preparing a changelog entry for documentation updates

Best practices

  • Run the tool locally with --dry-run first to review diffs and catch frontmatter errors
  • Keep component frontmatter (name, description, category) consistent and complete to avoid skipped items
  • Commit source component changes before running to ensure accurate counts
  • Validate JSON output (jq) and fix errors before applying updates
  • Update CHANGELOG.md and use a descriptive commit message after successful regen

Example use cases

  • Full documentation release after finishing multiple agents: claude /release-docs
  • Preview documentation changes after editing a command: claude /release-docs --dry-run
  • Regenerate only pages to reflect new MCP server integrations and tools
  • Automated CI job that runs validation and fails if counts or JSON are inconsistent
  • Pre-release checklist step to ensure docs, plugin.json, marketplace.json and README are synchronized

FAQ

What does --dry-run do?

--dry-run performs the full inventory, validation, and generates diffs for proposed changes but does not write any files.

What happens if a component has invalid frontmatter?

The tool reports the frontmatter error and skips that component; it halts JSON validation failures and aborts updates to avoid partial writes.