Skip to content
Back to skills

Deploy Docs

ASecurity

This skill should be used when validating the documentation build and preparing for Cloudflare Pages deployment. It runs the Eleventy build, validates output, checks component counts, and provides deployment instructions.

  • 16 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aigobashnodegitdocumentation

Works with

  • claude code

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add jikig-ai/soleur --skill deploy-docs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Deploy Docs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Deploy Docs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jikig-ai-deploy-docs/badge)](https://www.skillsdirectory.com/skills/jikig-ai-deploy-docs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: deploy-docs
description: "This skill should be used when validating the documentation build and preparing for Cloudflare Pages deployment. It runs the Eleventy build, validates output, checks component counts, and provides deployment instructions."
---

<!-- grok-harness-invoke:start -->
**Grok Build (`plugins/soleur/lib/harness.ts` `invokeSkill()`):** Read this SKILL.md in this process and run it to completion. A one-segment `soleur:<name>` in this document names a SKILL — on Grok Build, Read `plugins/soleur/skills/<name>/SKILL.md` in this process; it is not a nested tool_use. A multi-segment id such as `soleur:<domain>:<name>` names an AGENT: spawn it, never Read it, and on Grok Build spawn_subagent takes the id with its colons replaced by hyphens (`agentIdToGrokSubagentType`). **Claude Code:** Skill tool for a skill (`soleur:<name>`), Task tool with `subagent_type` for an agent. Forbidden is executing a subset, not the Read.
<!-- grok-harness-invoke:end -->

# Deploy Documentation Command

Validate the documentation build and prepare it for Cloudflare Pages deployment.

## Step 1: Build and Validate

```bash
# Install dependencies (if needed)
npm ci --ignore-scripts

# Run Eleventy build
npx @11ty/eleventy

# Verify build output
test -f _site/index.html && echo "OK index.html"
test -f "_site/pages/agents.html" && echo "OK agents.html"
test -f "_site/pages/skills.html" && echo "OK skills.html"
test -f "_site/pages/changelog.html" && echo "OK changelog.html"
test -f "_site/pages/getting-started.html" && echo "OK getting-started.html"
test -f _site/404.html && echo "OK 404.html"
test -f _site/css/style.css && echo "OK style.css"
test -f _site/CNAME && echo "OK CNAME"
test -f _site/sitemap.xml && echo "OK sitemap.xml"
```

## Step 2: Verify Component Counts

Use Grep to count occurrences of `component-card` in `_site/pages/agents.html` and `_site/pages/skills.html`.

Then compare with source counts using Glob:

- Agent files: count `.md` files (excluding README.md) under `plugins/soleur/agents/`
- Skill files: count `SKILL.md` files under `plugins/soleur/skills/`

Cards in the output must match source file counts exactly.

## Step 3: Check for Uncommitted Changes

```bash
git status --porcelain plugins/soleur/docs/ eleventy.config.js package.json
```

If there are uncommitted changes, warn the user to commit first.

## Step 4: Deployment

Deployment is automated via `.github/workflows/deploy-docs.yml`:

- **Trigger:** Push to `main` that changes docs, agents, skills, commands, plugin.json, or eleventy.config.js
- **Manual:** Go to Actions > "Deploy Documentation to Cloudflare Pages" > "Run workflow"

The workflow:

1. Checks out the repo
2. Installs Node.js 20 and npm dependencies
3. Runs `npx @11ty/eleventy` to build
4. Verifies all required files are present
5. Stamps `_site/version.txt` with the commit SHA
6. Deploys `_site/` to the `soleur-docs` Cloudflare Pages project with wrangler
7. Fetches `version.txt` back and fails the job unless it matches the SHA just built

## Step 5: Report Status

Provide a summary:

```
## Deployment Readiness

OK All HTML pages present
OK CSS and fonts present
OK Component counts match source
OK CNAME and sitemap present

### Next Steps
- [ ] Commit any pending changes
- [ ] Push to main branch
- [ ] Verify deployment at https://soleur.ai/ (the live apex)

> **The ADR-194 cutover is COMPLETE (2026-09-03).** `https://soleur.ai/` is
> served by Cloudflare Pages and DOES advance with these deploys — verify at the
> apex, not at `pages.dev`. Until PR4b this block said the opposite and sent the
> operator to the `pages.dev` hostname; that was correct then and is misdirection
> now. `soleur-docs.pages.dev` still resolves and is still a useful
> origin-vs-edge discriminator, but it is not where a deploy is confirmed. See
> `knowledge-base/engineering/operations/runbooks/cloudflare-pages-cutover.md`.
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.