Capture evidence for what changed: blurb, paste, screenshot, GIF, video, launch note, or repo-local demo skill. Pick by change shape, audience, and budget. Use when: "make a demo", "record walkthrough", "PR evidence", "upload screenshots", "show what changed", "release notes blurb", "scaffold demo", "generate demo skill". Trigger: /demo.
Workflow role
Support primitive in the Harness Kit operating loop.
Source contract preview
This generated excerpt gives readers the beginning of the live primitive contract before they jump to GitHub.
**Every app has a demo path.** The question is never "is there something
to show?" — it's "what shape does showing take in this codebase, for
this change, for this audience?" A refactor's demo is a PR-description
bullet pointing at the diff stats; a new endpoint's demo is a `curl`
paired with its JSON response; a CLI flag's demo is a terminal paste;
a UI change's demo is a screenshot or GIF; a tentpole launch's demo is
a narrated video. Same skill, different output.
The failure mode this skill exists to prevent is the silent skip —
shipping a change with no visible record of what moved, because the
repo doesn't have a video pipeline or GitHub upload path. The canonical
artifact surface is `.evidence/<branch>/<date>/`; if a repo cannot use it,
the demo path must name its durable alternative.
## Completion Gate
Every demo outcome, including "no artifact needed," answers:
See `harnesses/shared/AGENTS.md` (Completion Evidence) for the shared evidence
core; this phase keeps artifact-specific local fields.
```markdown
## Completion Gate
- Exact end-user behavior shown: behavior or internal operator behavior the artifact demonstrates.
- Evidence that proves it: screenshot, GIF, video, paste, launch note, or artifact path.
- Exact command/path/route exercised: command, URL, route, file path, or tool call used to capture it.
- Repo-fit check: repo convention or audience surface the artifact matches.
- Residual risk: unshown path, unsupported state, or none with reason.
```
For internal changes, the demo may be a PR/release-note sentence, but it still
names the developer/operator behavior that changed.
## Work Ledger
When `.harness-kit/work/ledger.jsonl` is available, `/demo` calls
`scripts/work-ledger.py append` with `phase_started` before capture and
`phase_completed` after the artifact or explicit "no artifact needed" evidence
...
What to verify
The source file exists and carries valid frontmatter.
The primitive has one generated reference page.
Claims about behavior can be traced back to the linked source.