zf-record-browser-demo
Use on demand to record a short, truthful browser workflow as deterministic frames plus an optimized GIF and provenance artifact.
Skill by uisee-ai
Chalk Labs
Need help deploying zf-record-browser-demo?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/uisee-ai-zf-record-browser-demo
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, devops, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/zf-record-browser-demo
What's inside
- Skill name
zf-record-browser-demo- Description
- Use on demand to record a short, truthful browser workflow as deterministic frames plus an optimized GIF and provenance artifact. Reuses ZaoFu's Docker Playwright and evidence contracts; the GIF demonstrates one run but never replaces browser assertions or publishes remote assets automatically.
- License
- Apache-2.0
- Instructions
- 111 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- THIRD_PARTY_LICENSE.md
- encode_gif.py · scripts/
SKILL.md (first lines)
# ZaoFu Record Browser Demo
Record three to six meaningful states from one isolated browser run, encode
them deterministically, and bind the media to enough provenance that another
person can tell what it actually proves.
This skill adds presentation evidence. The loaded `zf-browser-e2e-contract`
still owns browser runner shape and environment classification;
`zf-harness-evidence-collection` owns auditable evidence refs. A GIF is never a
substitute for DOM/API/trace assertions or a terminal gate.
## Trigger And Boundary
Use when the operator asks for a GIF/demo, when a task explicitly requires one,
or when a browser-visible change needs compact review evidence. Do not require a
real-provider GIF for every UI change by default. A mock/fixture demo is valid
only when labelled as such and cannot prove the real-provider path.
Recording creates local frame, GIF, and provenance files. It does not commit
binary media, push an assets branch, edit a pull request, expose credentials, or
mutate canonical runtime state. Remote publication is a separate operator-
approved workflow.
## One Storyboard, One Run
1. Resolve the exact source commit and require a clean target tree for claims
about that commit. Record `git rev-parse HEAD`, worktree path, build command,
service URL, browser origin, viewport, provider/model mode, and whether the
run is real, mock, or fixture-backed.
2. Start the application from that tree using the environment contract from
`zf-browser-e2e-contract`. Use fresh runtime/browser state unless the owner
explicitly requires an existing session.
3. Define one short storyboard with three to six semantic states such as
initial, submitted, working, settled, and detail. Do not splice frames from
separate server boots, provider runs, commits, origins, or browser contexts.
4. Before each capture, wait for an exact state predicate: one accessible name,
enabled/disabled state, exact settled text, response id, URL, or stable
`data-*` status. Fixed sleeps may pace animation but are not proof of state.
5. Name frames lexically (`00-initial.png`, `01-working.png`, ...), keep one
viewport/crop, and exclude secrets, unrelated tabs, personal data, and
transient notifications.
6. Keep the Playwright assertions and their trace/screenshot receipts. Capture
the GIF frames from the same passing run when possible.
For a transient state, poll and capture in the same Playwright operation so the
state cannot settle between separate calls. For a final state, match exact text
or a stable result identity; the user's echoed prompt is not completion proof.
## Provenance Body
Write `browser-demo-provenance.v1.json` beside the GIF:
```json
{
"schema_version": "browser-demo-provenance.v1",
"source_commit": "<sha>",
"worktree": "<absolute path>",
"service_url": "<url>",
"browser_origin": "<origin>",
"viewport": {"width": 1440, "height": 900},
"provider_mode": "real|mock|fixture",
"provider_model": "<model or empty>",
"storyboard": [{"frame": "00-initial.png", "predicate": "<exact condition>"}],
"playwright_evidence_refs": [],
"encoder_summary": {},
"limitations": []
}
```
Never include token values, cookies, authorization headers, or provider request
bodies containing private data.
## Encode And Verify
The bundled script requires Python 3, `ffmpeg`, and `ffprobe`. It fails closed
when the binaries, frames, dimensions, duration, animation, or byte budget are
invalid; it never installs host dependencies.
```bash
export ZF_BROWSER_DEMO_SKILL=/absolute/path/to/skills/zf-record-browser-demo
python3 "$ZF_BROWSER_DEMO_SKILL/scripts/encode_gif.py" \
/absolute/path/to/frames /absolute/path/to/demo.gif \
--durations 1.5,1.5,1.5,3.5 --fps 10 --max-width 1200 --colors 128
```
If the host lacks media binaries, use an owner-approved pinned tool container
or report the blocker; do not silently install packages. Read the JSON summary,
inspect the encoded GIF (not only source frames), confirm final-state hold and
text legibility, and run `git status --short` to ensure media stayed in the
declared evidence/scratch location.
For an active task, publish complete sidecars through the existing artifact
manifest path:
```bash
uv run zf artifact manifest create \
--task "$TASK_ID" --role "$ROLE" \
--kind browser_demo_gif=/absolute/path/to/demo.gif \
--kind browser_demo_provenance=/absolute/path/to/browser-demo-provenance.v1.json \
--skill zf-record-browser-demo --emit
```
Report the absolute local path, source commit, origin, and provider mode. State
explicitly that the GIF is demonstration evidence and name the Playwright gate
that proves correctness.
How to test: exercise the encoder with fake `ffmpeg`/`ffprobe` subprocesses,
then record one isolated mock browser storyboard and verify the provenance says
`provider_mode=mock` rather than presenting it as a real-provider proof.From uisee-ai/zaofu, Apache-2.0.
More from uisee-ai/zaofu
- 0.653score
zf-browser-e2e-contract
uisee-ai
ZaoFu browser/E2E (Docker Playwright) command-shape and clean-checkout environment checklist for writer, review, verify, and operator roles.
SkillAFreshness: A★ 34Claude Code +9 - 0.650score
zf-channel-discussion-synthesizer
uisee-ai
Use for the designated synthesizer in a ZaoFu fanout-then-synthesis Channel.
SkillAFreshness: A★ 34Claude Code +9 - 0.650score
zf-channel-discussion-participant
uisee-ai
Use for every active lens in a ZaoFu fanout-then-synthesis Channel.
SkillAFreshness: A★ 34Claude Code +9 - 0.613score
zf-cr
uisee-ai
Read-only architecture review of the ZaoFu repository before development.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-research-fanout-trigger
uisee-ai
ZaoFu project-level trigger for starting the fixed-role research fanout workflow from a channel or Kanban Agent request.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-workflow-start-planner
uisee-ai
Use when a ZaoFu operator, Kanban Agent, Channel member, or Coding Agent must classify a tracked Task, clarify missing workflow inputs, recommend one active…
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-backlog-batch-closeout
uisee-ai
ZaoFu backlog/task batch closeout workflow for Codex or Claude.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-dynamic-artifact-gate
uisee-ai
Use in ZaoFu issue, PRD, or refactor workflows when plan, verify, judge, or replan stages must generate run-specific fact artifacts and artifact/matrix gate…
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-refactor-generalization-audit
uisee-ai
ZaoFu refactor portability audit for Claude or Codex.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-find-simplifications
uisee-ai
Use on demand to find evidence-backed simplifications in ZaoFu itself, in applications developed with ZaoFu, or in an Autoresearch simplify audit.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-channel-research-synthesizer
uisee-ai
Use when synthesizing a ZaoFu research-review Channel.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-harness-design-handoff
uisee-ai
Use when you are arch about to emit arch.proposal.done OR critic about to emit design.critique.done.
SkillBFreshness: B★ 34Claude Code +9
Signals
- Stars
- 34
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Aug 18, 2026 (2 months ago)
- Last release
- Aug 21, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/uisee-ai/zaofu
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from uisee-ai
- 0.653score
zf-browser-e2e-contract
uisee-ai
ZaoFu browser/E2E (Docker Playwright) command-shape and clean-checkout environment checklist for writer, review, verify, and operator roles.
SkillAFreshness: A★ 34Claude Code +9 - 0.650score
zf-channel-discussion-participant
uisee-ai
Use for every active lens in a ZaoFu fanout-then-synthesis Channel.
SkillAFreshness: A★ 34Claude Code +9 - 0.650score
zf-channel-discussion-synthesizer
uisee-ai
Use for the designated synthesizer in a ZaoFu fanout-then-synthesis Channel.
SkillAFreshness: A★ 34Claude Code +9 - 0.613score
zf-cr
uisee-ai
Read-only architecture review of the ZaoFu repository before development.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-research-fanout-trigger
uisee-ai
ZaoFu project-level trigger for starting the fixed-role research fanout workflow from a channel or Kanban Agent request.
SkillBFreshness: B★ 34Claude Code +9 - 0.613score
zf-refactor-generalization-audit
uisee-ai
ZaoFu refactor portability audit for Claude or Codex.
SkillBFreshness: B★ 34Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get zf-record-browser-demo running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
zf-record-browser-demo skill. Agent Mart. https://agentmart.dev/skills/uisee-ai-zf-record-browser-demo (last updated 2026-10-24)