Agent skill

Eng UI Screenshot

by compozy in compozy/compozy

Screenshot capture for deterministic PNG evidence and visual-contract bundles for Compozy Storybook stories and local UI URLs.

MITAuto-check passedFrontend & Design

Install Eng UI Screenshot

skills CLI
$ npx skills add compozy/compozy --skill eng-ui-screenshot -a claude-code

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

GitHub CLI
$ gh skill install compozy/compozy eng-ui-screenshot --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/compozy/compozy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/eng/eng-ui-screenshot .claude/skills/eng-ui-screenshot && 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
eng-ui-screenshot
GitHub stars
2.8k
Token cost
~1.6k tokens
SKILL.md length
814 words
Files
11 (incl. scripts, references)
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

Screenshot capture for deterministic PNG evidence and visual-contract bundles for Compozy Storybook stories and local UI URLs.

  • Works in 3 steps: Start at the repository root and record… → Run the bootstrap helper with a unique… → The bootstrap copies the current capture…
  • Regression diffs
  • SKILL.md covers Procedure and Error Handling
  • Runs JavaScript and Shell scripts from its folder; calls bun and bash

What it does

Eng UI Screenshot is an agent skill from compozy/compozy. Screenshot capture for deterministic PNG evidence and visual-contract bundles for Compozy Storybook stories and local UI URLs. Use for visual audits, regression diffs, and design-parity checks. Do not use for interactive E2E flows, remote authenticated sites, or Storybook test execution.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `references/cdp-flow.md`, `references/proposal-mock-capture.md` and `references/storybook-urls.md`).

It sits in Frontend & Design, covering End-to-end testing. It works with Storybook. The repository describes itself as: An operating system for AI agents. Plug in the agent CLIs you already use (Claude Code, Codex, Gemini CLI, Cursor) and they become a team: they split the work, hand tasks to each… The licence is MIT.

When your agent uses it

  • Regression diffs
  • Design-parity checks
  • Interactive E2E flows
  • Remote authenticated sites

Example prompts

  • “/eng-ui-screenshot”

Requirements

  • Node.js
  • A Bash shell

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Start at the repository root and record it: REPO_ROOT="$(pwd)".
  2. Run the bootstrap helper with a unique directory
  3. The bootstrap copies the current capture helpers into WORKDIR so Bun resolves their dependencies from the isolated package. Keep REPO_ROOT…

What it can do on your machine

Read from SKILL.md and the folder at commit c15729c. 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

    Ships 5 files in scripts/ (JavaScript and Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bun
    • bash

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Eng UI Screenshot loads about 1.6k tokens when it runs, and up to ~7.4k if it reads all its reference files. Until then it costs about 77 tokens; SKILL.md has 814 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~77
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.4k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from compozy/compozy at commit c15729c, republished under its MIT licence (© compozy). 814 words, ~1,561 tokens.

Download SKILL.mdSave it as .claude/skills/eng-ui-screenshot/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
eng-ui-screenshot
description
Screenshot capture for deterministic PNG evidence and visual-contract bundles for Compozy Storybook stories and local UI URLs. Use for visual audits, regression diffs, and design-parity checks. Do not use for interactive E2E flows, remote authenticated sites, or Storybook test execution.

Compozy UI Screenshot

Capture deterministic PNG evidence through the bundled CDP helper. The helper owns load/font settling and viewport emulation; the procedure owns target resolution, evidence checks, and process cleanup.

When a task or spec names a trusted visual reference, read .agents/skills/eng/eng-ui-screenshot/references/visual-contract.md before the first capture or implementation; reuse its resolved contract while it remains current. Its evidence bundle, not an implementation-only screenshot, is the completion contract.

Procedure

Step 1: Prepare an Owned Workdir

  1. Start at the repository root and record it: REPO_ROOT="$(pwd)".
  2. Run the bootstrap helper with a unique directory: WORKDIR="$(bash "$REPO_ROOT/.agents/skills/eng/eng-ui-screenshot/scripts/setup-workdir.sh" "$(mktemp -d /tmp/eng-ui-screenshot.XXXXXX)")"
  3. The bootstrap copies the current capture helpers into WORKDIR so Bun resolves their dependencies from the isolated package. Keep REPO_ROOT for references and server packages; execute the materialized helpers from WORKDIR.

Done when: one unique workdir exists, its dependencies are installed, and every helper path resolves independently of the current directory.

Step 2: Establish Storybook Ownership

  1. Skip this step when the capture set has no Storybook target. Otherwise read .agents/skills/eng/eng-ui-screenshot/references/storybook-urls.md in full.
  2. Probe the required server (6006 for web, 6007 for packages/ui) and reuse it only when its index.json is healthy.
  3. If a server is absent, start the matching bun run storybook from its package, redirect logs into WORKDIR, and immediately record its PID as WORKDIR/web-storybook.pid or WORKDIR/ui-storybook.pid.
  4. Poll the health endpoint until it returns 200 or the owned process exits; on exit, fail with its log.

Done when: every required Storybook is healthy and each server started by this run has exactly one PID file; pre-existing servers have none.

Step 3: Resolve Story IDs

  1. Skip this step for arbitrary non-Storybook URLs.
  2. From WORKDIR, run the materialized read-only helper: bun run "$WORKDIR/list-stories.mjs" http://localhost:6006 [--filter <substring>]
  3. Confirm every requested story id appears exactly in the output; never infer an id from the app URL.

Done when: every Storybook target is backed by a real index.json entry.

Step 4: Capture Through CDP

  1. From WORKDIR, run the materialized mutating helper: bun run "$WORKDIR/cap.mjs" --out <output-dir> --width <W> --height <H> --wait <ms> --shot <name> <url> [...]
  2. Use 1440 × 900 for routes, 1680 × 1050 for wide breakpoints, 1100 × 700 for primitives, and 320 × 800 for collapsed navigation. Read .agents/skills/eng/eng-ui-screenshot/references/cdp-flow.md in full before changing capture mechanics or defaults.
  3. Use 2200 ms as the current route settle floor; increase to 4000 ms only when captured evidence shows fallback fonts.
  4. Treat a non-zero helper exit as a failed capture set. A sub-20 KB PNG is also suspicious and requires inspection even when capture succeeded.

Done when: every requested target prints saved, the helper exits zero, and every expected PNG exists with a plausible size.

Step 5: Capture a Proposal Mock When Requested

  1. Only for proposal-side state not reachable from the canonical HTML, read .agents/skills/eng/eng-ui-screenshot/references/proposal-mock-capture.md in full and follow its clone-and-patch branch.
  2. Start the static server as an owned process and record its PID in WORKDIR/proposal-server.pid.
  3. Capture with the same WORKDIR/cap.mjs, then remove the throwaway wrapper without editing the canonical proposal.
Show full SKILL.md (310 more words)Show less

Done when: every requested proposal state is captured, the canonical HTML is unchanged, and the temporary wrapper is gone.

Step 6: Inspect the Evidence

  1. Verify the exact expected PNG set; file size is a tripwire, not proof.
  2. Open at least one PNG from every distinct surface or viewport and compare it with the intended state or trusted baseline.
  3. For visual-contract runs, inspect every reference/implementation pair and require the complete evidence bundle before reporting parity.

Done when: target identity, viewport, rendered content, fonts, and visible state are verified rather than inferred from filenames; visual-contract runs additionally have no unresolved blocking divergence.

Step 7: Tear Down Owned Processes

  1. Terminate only PIDs recorded under this run's WORKDIR: request graceful termination, wait for exit, and escalate only the same proven-owned process when necessary.
  2. Preserve healthy servers that predated this run.
  3. Confirm every owned PID is dead before completion; files may remain for evidence.

Done when: all processes started by this run are stopped and no unowned browser or dev server was touched.

Error Handling

  • A capture exits non-zero: read stderr and .agents/skills/eng/eng-ui-screenshot/references/troubleshooting.md; fix the failing target and recapture affected targets. Repeat the set only if shared capture inputs changed; retain valid captures for unchanged inputs.
  • A Storybook port is occupied but unhealthy: identify the owner and report it. Reuse only a healthy index.json; never kill an unowned process to claim the port.
  • The bootstrap workdir fails: discard that unique temporary workdir and rerun the bootstrap into a new one; do not mutate repository dependencies.
  • Chrome survives a crashed helper: use the printed debug port to identify the exact headless Chrome PID, verify ownership from its command line, then terminate only that PID/process group. Never use a machine-wide pkill.
  • Reference and implementation dimensions differ: recapture both at the exact contract viewport; never resize one image to manufacture a diff.

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

Files

SKILL.md and 10 other files (scripts, references) in .agents/skills/eng/eng-ui-screenshot of compozy/compozy.

  • SKILL.md
  • references/cdp-flow.md
  • references/proposal-mock-capture.md
  • references/storybook-urls.md
  • references/troubleshooting.md
  • references/visual-contract.md
  • scripts/cap.mjs
  • scripts/list-stories.mjs
  • scripts/setup-workdir.sh
  • scripts/validate-visual-contract.mjs
  • scripts/visual-diff.mjs

Open the folder on GitHubat commit c15729c

Compare with similar skills

Eng UI Screenshot 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.

Eng UI Screenshot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Eng UI Screenshot this skillcompozy/compozy2.8k—~1.6kAutomated safety check: PassMIT
Storybook Storiespedronauck/skills6341 repos~495Automated safety check: PassNone
Making UI Changesigrlk/storybook-addon-test-codegen1541 repos~493Automated safety check: PassMIT
Quasar Skilldskilld-dev/vue-ecosystem-skills181—~1.6kAutomated safety check: PassMIT
Sanity Visual Regressionsanity-io/sanity6.4k—~3.4kAutomated safety check: PassMIT
Webapp TestingWellApp-ai/Well345—~522Automated safety check: PassMIT

Similar skills

  • Storybook Stories

    pedronauck/skills

    Create, update, refactor, or troubleshoot Storybook stories using project conventions.

    634 GitHub starsUsed in 1 repo~495 tokens
    Frontend & DesignAuto-check passed
  • Making UI Changes

    igrlk/storybook-addon-test-codegen

    Read before changing any component, page, or styles. An agent skill from igrlk/storybook-addon-test-codegen.

    154 GitHub starsUsed in 1 repo~493 tokens
    Frontend & DesignAuto-check passed
  • Quasar Skilld

    skilld-dev/vue-ecosystem-skills

    Build, configure, and debug apps with the Quasar framework (quasar npm package, v2.33.1).

    181 GitHub stars~1.6k tokensUpdated 16 days ago
    Frontend & DesignAuto-check passed
  • Sanity Visual Regression

    sanity-io/sanity

    Official

    Add, review, and maintain Chromatic visual regression coverage in the Sanity monorepo via dev/storybook stories, the vitest browser-mode suite, and Playwright e2e snapshots.

    6.4k GitHub stars~3.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Webapp Testing

    WellApp-ai/Well

    Test web app UI using Browser MCP and Storybook. An agent skill from WellApp-ai/Well.

    345 GitHub stars~522 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Pixel Perfect

    bitovi/ai-enablement-prompts

    Orchestrate a complete visual QA workflow to make a dev/Storybook page match a baseline URL pixel-for-pixel.

    121 GitHub stars~2.6k tokensUpdated 28 days ago
    Frontend & DesignAuto-check passed

More from compozy/compozy

All 47 skills in this repo
  • Eng Real Scenario QA

    compozy/compozy

    Dogfoods Compozy through an autonomous startup scenario with live providers, cross-surface observation, and strict evidence audit.

    2.8k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Eng Test Conventions

    compozy/compozy

    Go test-shape discipline for Compozy. An agent skill from compozy/compozy.

    2.8k GitHub stars~467 tokensUpdated today
    Auto-check passed
  • Assistant UI

    compozy/compozy

    Guide for assistant-ui library - AI chat UI components. An agent skill from compozy/compozy.

    2.8k GitHub stars~958 tokensUpdated today
    Auto-check passed
  • Guide for assistant-ui UI primitives - ThreadPrimitive, ComposerPrimitive, MessagePrimitive.

    2.8k GitHub stars~999 tokensUpdated today
    Auto-check passed
  • Assistant UI Runtime

    compozy/compozy

    Guide for assistant-ui runtime system and state management. An agent skill from compozy/compozy.

    2.8k GitHub stars~856 tokensUpdated today
    Auto-check passed
  • Assistant UI Streaming

    compozy/compozy

    Guide for assistant-stream package and streaming protocols. An agent skill from compozy/compozy.

    2.8k GitHub stars~813 tokensUpdated today
    Auto-check passed

Works with

Questions about Eng UI Screenshot

What does Eng UI Screenshot do?

Screenshot capture for deterministic PNG evidence and visual-contract bundles for Compozy Storybook stories and local UI URLs. Eng UI Screenshot is an agent skill from compozy/compozy. Screenshot capture for deterministic PNG evidence and visual-contract bundles for Compozy Storybook stories and local UI URLs.

When should I use Eng UI Screenshot?

Eng UI Screenshot fits situations like: regression diffs; design-parity checks; interactive E2E flows; remote authenticated sites.

How do I install Eng UI Screenshot in Claude Code?

Run `npx skills add compozy/compozy --skill eng-ui-screenshot -a claude-code`. Or copy the skill folder (.agents/skills/eng/eng-ui-screenshot in compozy/compozy) into .claude/skills/eng-ui-screenshot in your project. Claude Code loads it when a task matches its description.

How do I install Eng UI Screenshot in Codex?

Run `npx skills add compozy/compozy --skill eng-ui-screenshot -a codex`. Or copy the skill folder (.agents/skills/eng/eng-ui-screenshot in compozy/compozy) into .agents/skills/eng-ui-screenshot in your project. Codex loads it when a task matches its description.

Can I use Eng UI Screenshot 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 compozy/compozy --skill eng-ui-screenshot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/eng-ui-screenshot, .gemini/skills/eng-ui-screenshot, .github/skills/eng-ui-screenshot and .opencode/skills/eng-ui-screenshot in your project.

What does Eng UI Screenshot need to run?

Going by SKILL.md and its folder, Eng UI Screenshot needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (bun and bash). Our summary lists: Node.js; A Bash shell.

Does Eng UI Screenshot access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Eng UI Screenshot 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Eng UI Screenshot use?

Eng UI Screenshot 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 Eng UI Screenshot use?

About 1.6k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.8k tokens, read only when the agent opens those files.

What are the alternatives to Eng UI Screenshot?

Skills that share tags, products or a category with Eng UI Screenshot: Storybook Stories (pedronauck/skills, 634 stars), Making UI Changes (igrlk/storybook-addon-test-codegen, 154 stars), Quasar Skilld (skilld-dev/vue-ecosystem-skills, 181 stars) and Sanity Visual Regression (sanity-io/sanity, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Eng UI Screenshot?

compozy (a GitHub organization) maintains it in compozy/compozy, which has 2,791 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 8, 2026.

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