before-and-after
Capture before/after screenshots of pages, elements, or images.
Skill by vercel-labs
Chalk Labs
Need help deploying before-and-after?
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/jaydubya818-before-and-after
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: design
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. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/before-and-after
Tools it pre-approves 21
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(npx@vercel/before-and-after*)Bash(before-and-afterBash(whichbefore-and-after)Bash(*/upload-and-copy.shBash(curl-s-o/dev/null-w
Show 9 more
Bash(ghprvieweditBash(vercelinspectwhoami)vercel)gh)
What's inside
- Skill name
before-and-after- Description
- Capture before/after screenshots of pages, elements, or images. Use when UI changes need visual comparison or pull-request evidence.
- License
- MIT
- Compatibility
- Requires Node.js for capture. Upload and PR integration require network access and authenticated provider tooling.
- Allowed tools
- Bash(npx, @vercel/before-and-after, *), Bash(before-and-after, *), Bash(which, before-and-after), Bash(*/upload-and-copy.sh, *), Bash(curl, -s, -o, /dev/null, -w, *), Bash(gh, pr, view, *), Bash(gh, pr, edit, *), Bash(vercel, inspect, *), Bash(vercel, whoami), Bash(which, vercel), Bash(which, gh)
- Metadata
- risk: medium · owner: software-factory · author: vercel-labs · version: 2.0.0 · capabilities: visual-evidence,pr-evidence
- Instructions
- 115 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Files (8)
- LICENSE
- SKILL.md
- openai.yaml · agents/
- 0x0st.sh · scripts/adapters/
- blob.sh · scripts/adapters/
- gist.sh · scripts/adapters/
- capture.sh · scripts/
- upload-and-copy.sh · scripts/
SKILL.md (first lines)
# Add visual media to a PR
Use `agent-browser` to create the screenshots or recordings. This skill only owns the GitHub PR attachment workflow.
Resolve `FORMAT` to the absolute path of `scripts/format.mjs` inside this installed skill. Run the examples from the target repository. Reuse suitable media already captured in the task. Local evidence requests require no upload. Publish or edit a PR only within the user's existing authorization. Creating temporary comments for video uploads also requires that authorization.
Before publication, check `gh pr edit --help` and, for video-table comments, `gh pr comment --help` for `--attach`. Older versions may lack it. If unavailable, deliver the local media and formatted block, or use a user-authorized upload capability. Do not install or upgrade gh automatically, send local paths to a remote PR, or fall back to a public host without authorization. Current flag behavior is documented in the [GitHub CLI manual](https://cli.github.com/manual/gh_pr_edit).
## Capture
1. Load the version-matched core instructions with `agent-browser skills get core --full` and follow them for sessions, navigation, page state, screenshots, and recordings.
2. If a Vercel URL is protected, load `agent-browser skills get protected-vercel-deployments --full`. Do not reproduce its authentication workflow here.
3. Save media under the repository with paths that contain no whitespace, for example:
```text
captures/desktop-before.png
captures/desktop-after.png
captures/mobile-before.png
captures/mobile-after.png
```
The formatter supports PNG, JPEG, GIF, WebP, MP4, MOV, and WebM files. Use an `--after` file without a matching `--before` file for a net-new preview.
### Screen recordings
`agent-browser record start` creates a fresh browser context. It preserves cookies and local storage, but an origin-scoped header used to open a protected Vercel Preview may not carry into that new context. Before recording a protected Preview:
1. Load `agent-browser skills get protected-vercel-deployments --full`.
2. Start the recording context on a blank page.
3. Apply the authentication method from that skill inside the recording context.
4. Navigate to the Preview only after authentication is active, then trim the navigation lead-in if necessary.
Do not assume that a page which worked before `record start` will remain authenticated after it.
Agent-browser `0.35.2` and `0.36.0` capture at a hardcoded 10 fps with no CLI or environment override. Inspect the installed version and its recording reference rather than assuming this stays true in later releases. Preserve the source cadence when transcoding: changing the container to 30 or 60 fps only duplicates frames and does not make motion smoother. For animation evidence that requires a higher real frame rate, use a genuinely higher-cadence capture path instead of upsampling agent-browser output.
### Equal-height image pairs
GitHub vertically centers a shorter image inside a Markdown table cell. For full-page before/after screenshots, make both files the same pixel height so their top edges align:
1. Open both pages at the same viewport and state.
2. Read `document.documentElement.scrollHeight` in both sessions.
3. Append bottom-only space to the shorter page until both scroll heights match, then take both `--full` screenshots.
The padding may be transparent or use the capture tool's default canvas. Never add space above the page. For component or section comparisons, capture the same scoped region instead of padding unrelated page content.
Use raw `agent-browser eval` for this DOM-only adjustment; do not add an image-processing dependency to this skill. Confirm the resulting files have equal pixel dimensions before publishing.
## Format
Pass one `--before` and `--after` pair for each comparison. Repeat `--label` to identify multiple pairs:
```bash
node "$FORMAT" \
--before captures/desktop-before.png \
--after captures/desktop-after.png \
--before captures/mobile-before.png \
--after captures/mobile-after.png \
--label Desktop \
--label Mobile \
> /tmp/before-and-after.md
```
For an after-only preview:
```bash
node "$FORMAT" \
--after captures/new-page.png \
> /tmp/before-and-after.md
```
Add `--attribution "<name>"` to prefix the block with a `> Before/after by <name>` line when the PR should credit who produced the evidence.
Images render in tables. Local videos initially render on their own lines so `gh --attach` can upload them and expose their final attachment URLs. Before/after video tables use the two-step workflow below because `gh --attach` does not rewrite local references inside `<video src>` attributes.
## Place the evidence
Read the existing PR description before inserting a new marked block. Put visual evidence near the top, after the short opening context and an existing Preview or deployment-link section when present, but before implementation-heavy sections such as Details, Changes, Testing, or Notes.
Use this reading order inside the visual evidence:
1. Put the real before/after or Preview evidence that proves the PR first.
2. Put supplemental formats, alternate states, or demonstrations after the primary evidence.
3. Label anything that demonstrates this skill rather than the PR itself as a demo, and state material limitations beside it. For example, note the installed agent-browser recorder's current 10 fps limit when motion smoothness matters.
Headings are semantic hints, not required names. Never invent or rewrite prose merely to create an anchor, and never split a paragraph, list, table, code block, or other Markdown structure. If no safe anchor is clear, append the block rather than risking damage. If a marked block already exists, move or replace that whole block only; preserve every byte of unrelated prose.
After publishing, open the rendered PR and confirm the primary evidence appears before supplemental demos and before the implementation details.
## Publish
Preserve the existing PR description and replace only this skill's marked block:
```bash
PR=123
gh pr view "$PR" --json body --jq .body > /tmp/pr-body.md
node "$FORMAT" \
--body-file /tmp/pr-body.md \
--before captures/desktop-before.png \
--after captures/desktop-after.png \
> /tmp/pr-body-next.md
ATTACH_ARGS=()
while IFS= read -r file; do
ATTACH_ARGS+=(--attach "$file")
done < <(
node "$FORMAT" \
--attach-list \
--before captures/desktop-before.png \
--after captures/desktop-after.png
)
gh pr edit "$PR" --body-file /tmp/pr-body-next.md "${ATTACH_ARGS[@]}"
```
Run the formatter and `gh` from the same directory. `gh --attach` uploads the local files to GitHub and rewrites their matching local references in the PR body.
After publishing, fetch or open the PR description and confirm that no `./captures/...` references remain inside the marked block and that the evidence appears in the intended reading order.From jaydubya818/MissionControl, MIT.
More from jaydubya818/MissionControl
- 0.599score
mission-control-agent-integration
jaydubya818
Umbrella skill for integrating an agent with Mission Control, the orchestration and observability control plane.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
agent-watchdog
jaydubya818
Use when asked to watch, babysit, audit, review, compare, or fix another agent's work from a Codex session ID, Claude Code session/transcript, chat/thread…
SkillAFreshness: A★ 2Claude Code +9 - 0.563score
evidence-driven-testing
michaelshimeles
Capture observable runtime proof with video, screenshots, or measured output.
SkillBFreshness: B★ 2Claude Code +9 - 0.561score
create-verification-skill
jstack-maintainers
Use when a repository needs a repeatable driver that proves real UI, CLI, or service behavior.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
architect
jstack-maintainers
Use when a non-trivial change needs types and module boundaries designed before code.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
code-structure
michaelshimeles
Separate orchestration from reusable mechanics while preserving transactions.
SkillBFreshness: B★ 2Claude Code +9 - 0.556score
automate-me
jstack-maintainers
Use when the user wants working preferences captured in a reusable mode skill.
SkillBFreshness: B★ 2Claude Code +9 - 0.556score
babysit
jstack-maintainers
Use when an authorized pull request needs ongoing CI and review follow-through.
SkillBFreshness: B★ 2Claude Code +9 - 0.556score
blast-radius
jstack-maintainers
Use when a change needs downstream risks traced and its key safety assumption proved.
SkillBFreshness: B★ 2Claude Code +9 - 0.552score
arena
jstack-maintainers
Use when an important artifact needs independent solutions compared and synthesized.
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
deslop
jstack-maintainers
Use when code needs generated clutter removed and structure simplified without behavior changes.
SkillBFreshness: B★ 2Claude Code +9 - 0.526score
bro
jstack-maintainers
Use when the previous technical answer needs a direct, jargon-free restatement.
SkillBFreshness: B★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 4
- Last commit (this folder)
- Sep 22, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 2.0.0
- License
- MIT
- Repository
- github.com/jaydubya818/MissionControl
- 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 vercel-labs
- 0.880score
dogfood
vercel-labsOfficial
Systematically explore and test a web application to find bugs, UX issues, and other problems.
SkillAFreshness: A★ 44.5KClaude Code +9 - 0.880score
slack
vercel-labsOfficial
Interact with Slack workspaces using browser automation.
SkillAFreshness: A★ 44.5KClaude Code +9 - 0.874score
protected-vercel-deployments
vercel-labsOfficial
Access and test Vercel deployments protected by Vercel Authentication, SSO, or Deployment Protection with agent-browser.
SkillAFreshness: A★ 44.5KClaude Code +9 - 0.874score
vercel-sandbox
vercel-labsOfficial
Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app.
SkillAFreshness: A★ 44.5KClaude Code +9 - 0.874score
webmcp-gen
vercel-labsOfficial
Build and validate experimental WebMCP tools for an existing web page.
SkillAFreshness: A★ 44.5KClaude Code +9 - 0.874score
derive-client
vercel-labsOfficial
Reverse-engineer a website's internal API by recording browser traffic into a HAR file, then generate a standalone client or CLI that calls the endpoints…
SkillAFreshness: A★ 44.5KClaude 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 before-and-after 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
before-and-after skill. Agent Mart. https://agentmart.dev/skills/jaydubya818-before-and-after (last updated 2026-10-24)