Agent skill

Publish Docs

by vfarcic in vfarcic/dot-agent-deck

Publish the docs site to GHCR with a main-<sha tag and bump site/helm/values.yaml so Argo CD picks it up — without cutting a SemVer release.

MITAuto-check passedDevOps & Cloud

Install Publish Docs

skills CLI
$ npx skills add vfarcic/dot-agent-deck --skill publish-docs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install vfarcic/dot-agent-deck publish-docs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/publish-docs .claude/skills/publish-docs && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
publish-docs
GitHub stars
109
Token cost
~1.7k tokens
SKILL.md length
833 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

Publish the docs site to GHCR with a main-<sha tag and bump site/helm/values.yaml so Argo CD picks it up — without cutting a SemVer release.

  • Works in 6 steps: Sync main locally → Confirm there are docs/site changes… → Show the user what will change → …
  • Docs/site changes need to go live between releases
  • SKILL.md covers What a publish builds, When to Use, When NOT to Use and Workflow, plus 1 more section
  • Calls git, gh and cargo; needs RELEASE_TOKEN

What it does

Publish Docs is an agent skill from vfarcic/dot-agent-deck. Publish the docs site to GHCR with a main-<sha tag and bump site/helm/values.yaml so Argo CD picks it up — without cutting a SemVer release. Use when docs/site changes need to go live between releases.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Static sites and blogs, Container orchestration and GitOps. It works with Argo CD and NGINX. The repository describes itself as: A rich terminal dashboard for monitoring and controlling multiple AI coding agent sessions. The licence is MIT.

When your agent uses it

  • Docs/site changes need to go live between releases
  • Tasks that involve Static sites and blogs
  • Tasks that involve Container orchestration

Example prompts

  • “/publish-docs”

Requirements

  • A credential in RELEASE_TOKEN

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Sync main locally
  2. Confirm there are docs/site changes since the last release
  3. Show the user what will change
  4. Trigger the workflow
  5. Watch the run
  6. Report result

What it can do on your machine

Read from SKILL.md and the folder at commit 793c0d6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • agent-deck.devopstoolkit.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • RELEASE_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Publish Docs loads about 1.7k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 833 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from vfarcic/dot-agent-deck at commit 793c0d6, republished under its MIT licence (© vfarcic). 833 words, ~1,666 tokens.

Download SKILL.mdSave it as .claude/skills/publish-docs/SKILL.md (or your agent's skills folder).
name
publish-docs
description
Publish the docs site to GHCR with a main-<sha> tag and bump site/helm/values.yaml so Argo CD picks it up — without cutting a SemVer release. Use when docs/site changes need to go live between releases.
user-invocable
true

Publish Docs (no new release)

Publishes a docs-only image to ghcr.io/vfarcic/dot-agent-deck-docs with a main-<short-sha> tag and updates site/helm/values.yaml so Argo CD picks it up. Does not create a release, version bump, binary build, Homebrew formula, Scoop manifest, or GitHub release.

What a publish builds

The site is generated by cargo xtask site (xtask/site) from docs/published.toml: the landing page from site/landing/, every manifest page as raw Markdown at /docs/<slug>.md, llms.txt and llms-full.txt, the images under site/static/img/ (docs/img is a symlink to it), and the redirects from the old Docusaurus URLs. There is no Node and no npm anywhere in it. .github/workflows/docs-publish.yml runs three jobs:

  1. site-build checks out main with a read-only token and no secret, records the commit, and runs cargo xtask site site/build/public --nginx-redirects site/build/nginx-redirects.conf. site/build is uploaded as the docs-site artifact, which both deploy paths consume, so they publish the same bytes.
  2. publish checks out that same commit with RELEASE_TOKEN (it fails at its first step if the secret is empty), downloads the artifact, and builds site/Dockerfile, which has no build stage: it copies site/build/public into nginx's root, site/build/nginx-redirects.conf to /etc/nginx/site-redirects.conf as an nginx config include, outside the served files, and site/nginx-default.conf as the server config. It pushes the image, sets image.tag in site/helm/values.yaml (and Chart.yaml's version and appVersion on the release path), commits that, and pushes the commit straight to main.
  3. netlify-deploy deploys the same artifact's build/public to Netlify production with --no-build, after publish succeeds.

When to Use

  • Docs / site changes have been merged to main and you want them live now.
  • You don't want to cut a SemVer release just for documentation.

When NOT to Use

  • You're cutting a versioned release — use /tag-release instead. The release workflow already publishes docs as part of the release via the same underlying docs-publish.yml workflow.
  • You have un-released non-docs (code) changes that should also ship — cut a release.

Workflow

Step 1: Sync main locally

The workflow dispatches against origin/main, so make sure you know what's there:

bash
git fetch origin
git checkout main
git pull --rebase origin main

If the user is in a worktree, fetch is enough — they don't need to switch branches; gh workflow run --ref main dispatches against the remote ref regardless of local checkout.

Step 2: Confirm there are docs/site changes since the last release
bash
LAST_TAG=$(git tag --list 'v*' --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -1)
echo "Last release: ${LAST_TAG}"
git log --oneline "${LAST_TAG}..origin/main" -- docs/ site/ xtask/site/ src/published_docs.rs
git diff --stat "${LAST_TAG}..origin/main" -- docs/ site/ xtask/site/ src/published_docs.rs

xtask/site/ and src/published_docs.rs are the generator and the manifest parser, so a change there can change the published output even when no page did. A change under docs/develop/ changes nothing on the site; disregard it.

If there are no docs/site changes since the last release, inform the user and stop — there is nothing meaningful to publish.

Step 2b: Build the site locally (optional)

The same command the workflow runs, so a broken link or a manifest error shows up here rather than in the run. It needs only the Rust toolchain, and refuses an output directory that is not empty. Run it in a checkout at origin/main — the user's own, or a detached worktree at a disk-backed sibling path (CLAUDE.md rule 14, since it compiles the xtask crates), which you ask about before creating:

bash
rm -rf site/build   # generated output, gitignored
cargo xtask site site/build/public --nginx-redirects site/build/nginx-redirects.conf

Skip it when the user has just done this themselves on that commit.

Show full SKILL.md (317 more words)Show less
Step 3: Show the user what will change

Present:

  • Current chart tag: read from site/helm/values.yaml image.tag (e.g. v0.26.0).
  • New tag: main-<short-sha> where short-sha is git rev-parse --short=7 origin/main.
  • Commits included: the list from Step 2.

Ask the user to confirm before triggering the workflow.

Step 4: Trigger the workflow
bash
gh workflow run docs-publish.yml --ref main
Step 5: Watch the run
bash
sleep 5
RUN_ID=$(gh run list --workflow=docs-publish.yml --branch=main --limit 1 --json databaseId --jq '.[0].databaseId')
gh run watch "$RUN_ID"
Step 6: Report result

On success, tell the user:

  • The image tag that was pushed (main-<sha>).
  • That a chore: publish docs image main-<sha> [skip ci] commit was pushed to main — they should git pull to pick it up.
  • Argo CD will detect the values.yaml change and sync within a minute or two; the site at https://agent-deck.devopstoolkit.ai will update shortly after.
  • The chart now points at a main-<sha> tag. The next /tag-release will re-pin it to v<semver> automatically.
  • The same run also deploys that commit's build to Netlify production (site agent-deck-devopstoolkit-ai, URL in the run summary). This runs alongside the cluster during the migration to Netlify; until DNS is switched, the Netlify copy is not what agent-deck.devopstoolkit.ai serves. A failed Netlify step does not undo the image or the chart bump, which run first.

Notes

  • Same sha → no-op: re-running on a SHA that's already published is harmless — the workflow pushes the same image bytes and the values.yaml diff is empty, so no commit happens.
  • :latest is untouched: manual runs never push or move the :latest tag. That tag follows formal releases only.
  • Not for release flows: do not run this inside /pr-create, /prd-full, or any release skill — it would interfere with the release path's own docs publish step.
  • No changelog fragment: a docs-only publish is not a release, so no entry in changelog.d/ is needed.
  • The binary's docs do not move: dot-agent-deck docs prints the pages embedded when that binary was built, so a docs publish updates the website and its llms files only. Installed binaries pick up doc changes with the next release.

© vfarcic, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/publish-docs of vfarcic/dot-agent-deck.

Open the folder on GitHubat commit 793c0d6

Compare with similar skills

Publish Docs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Publish Docs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Publish Docs this skillvfarcic/dot-agent-deck109—~1.7kAutomated safety check: PassMIT
Kubernetes ArchitectCybereason-Public/owLSM2809 repos~2.6kAutomated safety check: PassGPL-2.0
Kubernetes SpecialistJeffallan/claude-skills12k1 repos~2.1kAutomated safety check: PassMIT
GitOps with ArgoCD and Fluxwshobson/agents40k12 repos~1.5kAutomated safety check: PassMIT
Signozqjoly/GitOps112—~6.1kAutomated safety check: PassWTFPL
Ksaildevantler-tech/ksail165—~1.1kAutomated safety check: PassCustom licence

Similar skills

  • Kubernetes Architect

    Cybereason-Public/owLSM

    Expert Kubernetes architect specializing in cloud-native infrastructure, advanced GitOps workflows (ArgoCD/Flux), and enterprise container orchestration.

    280 GitHub starsUsed in 9 repos~2.6k tokens
    DevOps & CloudAuto-check passed
  • Kubernetes Specialist

    Jeffallan/claude-skills

    Creates and checks Kubernetes manifests, Helm charts, RBAC and network policies, and helps debug pod problems, with kubectl checks and rollback steps.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    DevOps & CloudAuto-check passed
  • Sets up GitOps continuous delivery for Kubernetes with ArgoCD or Flux, covering installation, repository layout, sync policies, progressive delivery and secrets.

    40k GitHub starsUsed in 12 repos~1.5k tokens
    DevOps & CloudAuto-check passed
  • Signoz

    qjoly/GitOps

    Manage the self-hosted SigNoz observability stack in this GitOps repo.

    112 GitHub stars~6.1k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Ksail

    devantler-tech/ksail

    Use the ksail CLI to spin up and manage Kubernetes clusters (Kind/K3d/Talos/vCluster/KWOK — local via Docker; EKS — cloud via AWS) and GitOps workloads declaratively.

    165 GitHub stars~1.1k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Argocd Gitops

    BagelHole/DevOps-Security-Agent-Skills

    Implement GitOps with ArgoCD for declarative Kubernetes deployments.

    1.1k GitHub stars~2.4k tokensUpdated 4 mo ago
    DevOps & CloudAuto-check passed

More from vfarcic/dot-agent-deck

All 23 skills in this repo
  • Dispatch Shape

    vfarcic/dot-agent-deck

    Choose the shape of a unit you are about to dispatch in this repo — one agent (--single) or a team (--orchestration '<name') — from divisibility criteria instead of asking, and report the shape you…

    109 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Docs Screenshots Review

    vfarcic/dot-agent-deck

    Check that a change to the user-facing docs covers both clients (the TUI and the desktop app) unless the feature exists in only one, and decide whether it needs a new or updated screenshot, then…

    109 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Dot AI Request Dot AI Feature

    vfarcic/dot-agent-deck

    Generate a feature request prompt for another dot-ai project.

    109 GitHub stars~679 tokensUpdated today
    Auto-check passed
  • PR Create

    vfarcic/dot-agent-deck

    Take committed work from a branch to a verified pull request — push, open the PR, settle CI and the automated review, answer and resolve every finding, and hand off.

    109 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Run Dot Agent Deck

    vfarcic/dot-agent-deck

    Run, build, smoke-test, and screenshot the dot-agent-deck binary against an isolated sandbox.

    109 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Demo Reel

    vfarcic/dot-agent-deck

    Stitch a manifest of terminal recordings into one narrated MP4 (title/description card, then clip, repeated) and optionally upload it privately to YouTube.

    109 GitHub stars~5.2k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about Publish Docs

What does Publish Docs do?

Publish the docs site to GHCR with a main-<sha tag and bump site/helm/values.yaml so Argo CD picks it up — without cutting a SemVer release. Publish Docs is an agent skill from vfarcic/dot-agent-deck.yaml so Argo CD picks it up — without cutting a SemVer release.

When should I use Publish Docs?

Publish Docs fits situations like: docs/site changes need to go live between releases; tasks that involve Static sites and blogs; tasks that involve Container orchestration.

How do I install Publish Docs in Claude Code?

Run `npx skills add vfarcic/dot-agent-deck --skill publish-docs -a claude-code`. Or copy the skill folder (.claude/skills/publish-docs in vfarcic/dot-agent-deck) into .claude/skills/publish-docs in your project. Claude Code loads it when a task matches its description.

How do I install Publish Docs in Codex?

Run `npx skills add vfarcic/dot-agent-deck --skill publish-docs -a codex`. Or copy the skill folder (.claude/skills/publish-docs in vfarcic/dot-agent-deck) into .agents/skills/publish-docs in your project. Codex loads it when a task matches its description.

Can I use Publish Docs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vfarcic/dot-agent-deck --skill publish-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/publish-docs, .gemini/skills/publish-docs, .github/skills/publish-docs and .opencode/skills/publish-docs in your project.

What does Publish Docs need to run?

Going by SKILL.md and its folder, Publish Docs needs the command-line tools its instructions call (git, gh and cargo) and credentials named RELEASE_TOKEN. Our summary lists: A credential in RELEASE_TOKEN.

Does Publish Docs access the network?

SKILL.md names 1 domain. As links in the text: agent-deck.devopstoolkit.ai. This is read from the text; nothing was executed.

Is Publish Docs safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Publish Docs use?

Publish Docs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Publish Docs use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Publish Docs?

Skills that share tags, products or a category with Publish Docs: Kubernetes Architect (Cybereason-Public/owLSM, 280 stars), Kubernetes Specialist (Jeffallan/claude-skills, 12k stars), GitOps with ArgoCD and Flux (wshobson/agents, 40k stars) and Signoz (qjoly/GitOps, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Publish Docs?

vfarcic (a GitHub user) maintains it in vfarcic/dot-agent-deck, which has 109 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 8, 2026.

Source: vfarcic/dot-agent-deck on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.