home / skills / everyinc / compound-engineering-plugin / deploy-docs
This skill validates and preps project docs for GitHub Pages deployment, ensuring HTML existence, JSON validity, and ready workflow setup.
npx playbooks add skill everyinc/compound-engineering-plugin --skill deploy-docsReview the files below or copy the command above to add this skill to your agents.
---
name: deploy-docs
description: Validate and prepare documentation for GitHub Pages deployment
disable-model-invocation: true
---
# Deploy Documentation Command
Validate the documentation site and prepare it for GitHub Pages deployment.
## Step 1: Validate Documentation
Run these checks:
```bash
# Count components
echo "Agents: $(ls plugins/compound-engineering/agents/*.md | wc -l)"
echo "Skills: $(ls -d plugins/compound-engineering/skills/*/ 2>/dev/null | wc -l)"
# Validate JSON
cat .claude-plugin/marketplace.json | jq . > /dev/null && echo "✓ marketplace.json valid"
cat plugins/compound-engineering/.claude-plugin/plugin.json | jq . > /dev/null && echo "✓ plugin.json valid"
# Check all HTML files exist
for page in index agents commands skills mcp-servers changelog getting-started; do
if [ -f "plugins/compound-engineering/docs/pages/${page}.html" ] || [ -f "plugins/compound-engineering/docs/${page}.html" ]; then
echo "✓ ${page}.html exists"
else
echo "✗ ${page}.html MISSING"
fi
done
```
## Step 2: Check for Uncommitted Changes
```bash
git status --porcelain plugins/compound-engineering/docs/
```
If there are uncommitted changes, warn the user to commit first.
## Step 3: Deployment Instructions
Since GitHub Pages deployment requires a workflow file with special permissions, provide these instructions:
### First-time Setup
1. Create `.github/workflows/deploy-docs.yml` with the GitHub Pages workflow
2. Go to repository Settings > Pages
3. Set Source to "GitHub Actions"
### Deploying
After merging to `main`, the docs will auto-deploy. Or:
1. Go to Actions tab
2. Select "Deploy Documentation to GitHub Pages"
3. Click "Run workflow"
### Workflow File Content
```yaml
name: Deploy Documentation to GitHub Pages
on:
push:
branches: [main]
paths:
- 'plugins/compound-engineering/docs/**'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/configure-pages@v4
- uses: actions/upload-pages-artifact@v3
with:
path: 'plugins/compound-engineering/docs'
- uses: actions/deploy-pages@v4
```
## Step 4: Report Status
Provide a summary:
```
## Deployment Readiness
✓ All HTML pages present
✓ JSON files valid
✓ Component counts match
### Next Steps
- [ ] Commit any pending changes
- [ ] Push to main branch
- [ ] Verify GitHub Pages workflow exists
- [ ] Check deployment at https://everyinc.github.io/compound-engineering-plugin/
```
This skill validates and prepares the Compound Engineering documentation site for GitHub Pages deployment. It runs file existence and JSON validation checks, verifies component counts, and guides you through workflow setup and deployment steps. The goal is a quick readiness report and clear next steps to publish docs from the repository.
It inspects the docs directory and plugin metadata to ensure required HTML pages exist and JSON files are syntactically valid. It counts agent and skill markdown files to surface mismatches, checks for uncommitted changes in the docs tree, and produces a deployment readiness summary. It also supplies a recommended GitHub Actions workflow and step-by-step instructions to enable and run GitHub Pages deployment.
What files are validated?
The skill checks marketplace.json and plugin.json for valid JSON, verifies required HTML pages exist in the docs folders, and counts agent and skill markdown files.
How do I deploy if I don’t want auto-deploy on push?
You can trigger the workflow manually from Actions > Deploy Documentation to GitHub Pages and click Run workflow, or keep workflow_dispatch enabled for manual runs.