Skip to content
Back to skills

Publish Demo

ASecurity

Publish a finished /human-review page as a demo snapshot — copy it into the human-review repo's demo/, render its landing-page card from the page itself, commit and push, which is what makes the Pages copy, the rolling zip and the ghcr image. Explicit invocation only — user types /publish-demo.

  • 12 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 30, 2026
ai-agentsdockergit

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add victorrentea/human-review --skill publish-demo --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Publish Demo?

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

Security grade badge for Publish Demo
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/victorrentea-publish-demo/badge)](https://www.skillsdirectory.com/skills/victorrentea-publish-demo)

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: publish-demo
description: Publish a finished /human-review page as a demo snapshot — copy it into the human-review repo's demo/, render its landing-page card from the page itself, commit and push, which is what makes the Pages copy, the rolling zip and the ghcr image. Explicit invocation only — user types /publish-demo.
disable-model-invocation: true
---

# /publish-demo

Run this one command, and nothing else:

```sh
for c in "${CLAUDE_PLUGIN_ROOT:-/nonexistent}/skills/human-review" "${HUMAN_REVIEW_HOME:-/nonexistent}" \
         "$(readlink -f .claude/skills/human-review 2>/dev/null)" ".claude/skills/human-review" \
         "$HOME/workspace/human-review/skills/human-review"; do
  [ -x "$c/scripts/publish-demo.sh" ] && { "$c/scripts/publish-demo.sh" --push $ARGS; break; }
done
```

`$ARGS` is empty unless the user named something:

- a slug — pass it as the first positional argument;
- a source directory other than `.human-review` — pass `--src DIR`;
- "don't push yet" / "let me look first" — drop `--push` and pass `--card` instead;
- "make this the featured demo" / "put this one in the README" — add `--feature`;
- "skip the screenshots" — add `--no-tour`.

The script derives the slug from the project directory, copies the snapshot, leaves
behind the run's own dot-prefixed bookkeeping and `*.raw.webm`, refuses any file over
50 MB, rewrites that snapshot's card in `demo/index.html` from `review.html` and
`content.json`, then commits and pushes. When the slug is the featured one (`demo`), it
also screenshots every tab headlessly and rewrites the README's tour, the pages under
`docs/tabs/` and the top of the Pages landing page around the new pictures, in the same
commit — about twenty seconds more.

Then print these three, substituting the slug the script reported, and say they take
about a minute to appear because three workflows fire on the push:

```
https://victorrentea.github.io/human-review/<slug>/
https://github.com/victorrentea/human-review/releases/download/demo/human-review-<slug>.zip
docker run --rm -p 8642:80 ghcr.io/victorrentea/human-review:<slug>
```

That is the whole job. Do not read the report, do not open the page, do not check the
deploy, do not describe the change set, do not hand-edit `demo/index.html` — the card is
rendered from the snapshot precisely so that nobody keeps it up to date by hand. If the
script exits non-zero, show its stderr and stop.

**Not this skill:** publishing *screenshots* of a review — one full-page image per tab,
light and dark, for readers who should not have to run anything — is `/human-review-publish-demo`.
This one publishes the live page.

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…