Harness Kit

skill

demo

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.

/demo

Source: skills/demo/SKILL.md

What it does

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