Agent skill

Kc Screenshot

by imran31415 in imran31415/kube-coder

Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change.

MITAuto-check: notesTesting & QA

Install Kc Screenshot

skills CLI
$ npx skills add imran31415/kube-coder --skill kc-screenshot -a claude-code

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

GitHub CLI
$ gh skill install imran31415/kube-coder kc-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/imran31415/kube-coder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/kc-screenshot .claude/skills/kc-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
kc-screenshot
GitHub stars
388
Token cost
~870 tokens
SKILL.md length
306 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change.

  • Works in 4 steps: Build the SPA (the dev server serves… → Start the dev server on port 7070 → Ensure a Chromium binary is installed → …
  • The user wants to see a frontend change rendered in a real browser rather than just unit-tested
  • SKILL.md covers How it works, Steps, Gotchas and Cleanup
  • Calls yarn, python3 and curl

What it does

Kc Screenshot is an agent skill from imran31415/kube-coder. Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change. Use when the user wants to see a frontend change rendered in a real browser rather than just unit-tested.

Its SKILL.md is about 870 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Visual regression testing. It works with Playwright. The repository describes itself as: helm chart for a isolated dev coding environment pod in kubernetes. The licence is MIT.

When your agent uses it

  • The user wants to see a frontend change rendered in a real browser rather than just unit-tested
  • Tasks that involve Visual regression testing

Example prompts

  • “/kc-screenshot”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash, Read

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Build the SPA (the dev server serves dist/)
  2. Start the dev server on port 7070
  3. Ensure a Chromium binary is installed
  4. Run the shoot script

What it can do on your machine

Read from SKILL.md and the folder at commit fc0b886. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • yarn
    • python3
    • curl
    • node

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

  • Network

    No URLs in SKILL.md. Its commands use yarn and curl, which can reach the network depending on how they are called.

    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

Kc Screenshot loads about 870 tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 306 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~870

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from imran31415/kube-coder at commit fc0b886, republished under its MIT licence (© imran31415). 306 words, ~870 tokens.

Download SKILL.mdSave it as .claude/skills/kc-screenshot/SKILL.md (or your agent's skills folder).
name
kc-screenshot
description
Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change. Use when the user wants to see a frontend change rendered in a real browser rather than just unit-tested.
allowed-tools
Bash, Read
user-invocable
true
argument-hint
[output dir] (default: /home/dev/screenshots)

Screenshot the dashboard SPA

Drives a headless Chromium across desktop (1280x800) and mobile (390x844) viewports in dark + light themes, against a local dev harness that stubs auth. Useful for changes that can't be fully unit-tested (terminal iframe, layout, theming). Read the resulting PNGs with the Read tool — they render inline.

How it works

  • charts/workspace/web/dev_server.py <port> — a thin harness that imports the real charts/workspace/server.py and monkeypatches check_claude_auth to always return True, so the SPA can hit /api/* without the OAuth proxy. The production dashboard on 6080 is untouched.
  • charts/workspace/web/scripts/shoot.mjs — drives Chromium via playwright-core and writes phaseN-<view>-<viewport>-<theme>.png files. Sibling variants exist for specific surfaces: shoot-hv.mjs (hypervisor), shoot-msgchat.mjs, shoot-docs.mjs, shoot-toolbar-paste.mjs.

Steps

1. Build the SPA (the dev server serves dist/)
bash
yarn --cwd charts/workspace/web build

Rebuild after any source edit — the dev server picks up the new dist/ on the next request, no restart needed.

2. Start the dev server on port 7070
bash
cd /home/dev/kube-coder
nohup python3 charts/workspace/web/dev_server.py 7070 > /tmp/dev_server.log 2>&1 &
disown
sleep 2
curl -sf http://localhost:7070/ >/dev/null && echo "dev server up" || tail -20 /tmp/dev_server.log
3. Ensure a Chromium binary is installed

The shoot scripts auto-discover the Playwright Chromium via scripts/chromium-path.mjs (checks $KC_CHROMIUM, then the highest-revision chromium-<rev> under any ms-playwright cache root), so you don't hardcode or symlink anything. Just make sure one is installed:

bash
ls -d ~/.cache/ms-playwright/chromium-*/chrome-linux*/chrome 2>/dev/null \
  || yarn --cwd charts/workspace/web exec playwright install chromium

If it lives somewhere unusual, point the scripts at it explicitly with KC_CHROMIUM=/path/to/chrome.

4. Run the shoot script
bash
OUT="${ARGUMENTS:-/home/dev/screenshots}"
cd /home/dev/kube-coder/charts/workspace/web   # must run where node_modules is
node scripts/shoot.mjs "$OUT"
ls -t "$OUT"/*.png | head

Then Read a couple of the output PNGs to visually confirm the change.

Gotchas

  • Onboarding modal — a first-run .ob-scrim overlay covers the page and eats clicks. The shoot scripts suppress it with addInitScript(() => localStorage.setItem('kc.onboardingDone','true')). If you script a capture by hand, do the same.
  • Theme forcing — Chromium ignores prefers-color-scheme here; the scripts set data-theme="dark" on <html> after navigation so the tokens.css dark rules apply. Don't rely on the OS media query.
  • Routes 404 in-browser but 200 via curl — usually dev_server.py's auth monkeypatch went stale against a server.py signature change. Check /tmp/dev_server.log for a TypeError in check_claude_auth; the stubs should swallow *args, **kwargs.

Cleanup

bash
pkill -f "dev_server.py 7070" 2>/dev/null || true

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

Files

Just SKILL.md in .claude/skills/kc-screenshot of imran31415/kube-coder.

Open the folder on GitHubat commit fc0b886

Compare with similar skills

Kc 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.

Kc Screenshot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kc Screenshot this skillimran31415/kube-coder388—~870Automated safety check: NotesMIT
Handsontable Visual Test Demoshandsontable/handsontable22k—~1.3kAutomated safety check: PassCustom licence
Visual Diff Screenshot Comparisonkeybase/client9.3k—~740Automated safety check: PassBSD-3-Clause
Handsontable Visual Testinghandsontable/handsontable22k—~2.3kAutomated safety check: PassCustom licence
Visual Testing Advancedproffesor-for-testing/agentic-qe495—~2kAutomated safety check: PassMIT
UI Visual DebuggingNangoHQ/nango13k—~1.3kAutomated safety check: PassCustom licence

Similar skills

  • Handsontable Visual Test Demos

    handsontable/handsontable

    Explains how to add or change the demo pages that Handsontable's visual regression suite photographs, including per-feature routes in the js demo and the shared grid.

    22k GitHub stars~1.3k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Captures baseline and current screenshots of the Keybase desktop app and compares them with ImageMagick to find pixel-level regressions between branches or edits.

    9.3k GitHub stars~740 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Handsontable Visual Testing

    handsontable/handsontable

    Guide to Playwright visual regression tests in Handsontable: when a screenshot is justified, the tablePage fixture, naming, reg-suit comparison and demo routes.

    22k GitHub stars~2.3k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Visual Testing Advanced

    proffesor-for-testing/agentic-qe

    Advanced visual regression testing with pixel-perfect comparison, AI-powered diff analysis, responsive design validation, and cross-browser visual consistency.

    495 GitHub stars~2k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • UI Visual Debugging

    NangoHQ/nango

    A skill your agent uses when modifying or visually debugging Nango frontend UI, including packages/webapp, packages/connect-ui, browser interactions, screenshots, and visual regressions.

    13k GitHub stars~1.3k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Computed Styles

    bitovi/ai-enablement-prompts

    Extract and compare computed CSS styles between a baseline URL and a dev/Storybook URL using Playwright MCP evaluate calls.

    121 GitHub stars~2.4k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed

More from imran31415/kube-coder

All 8 skills in this repo
  • Kc Entrypoint Change

    imran31415/kube-coder

    Safely edit the workspace pod's boot scripts (start.sh, the entrypoint/ssh-server configmaps) in kube-coder.

    388 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check: notes
  • Kc Issue

    imran31415/kube-coder

    Spin up an isolated agent to work a GitHub issue of kube-coder or any other repo checked out in the workspace.

    388 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check: notes
  • Kc Ship PR

    imran31415/kube-coder

    Commit local changes and open a pull request against kube-coder from inside a workspace pod.

    388 GitHub stars~2k tokensUpdated 2 days ago
    Auto-check: notes
  • Remote Task

    imran31415/kube-coder

    Launch a Claude task on a remote kube-coder workspace, check task status, or attach to a running session.

    388 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check: notes
  • Kc Preflight

    imran31415/kube-coder

    Run kube-coder's full CI suite locally before pushing — helm lint + unit tests, server.py tests, dashboard + controller SPA builds + vitest, and shell syntax checks.

    388 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check: notes
  • Kc Scope PR

    imran31415/kube-coder

    Scope a kube-coder change before you open or update a PR — what the diff actually touches, which tests reach it, what the change made worse, and what is left untested.

    388 GitHub stars~1.2k tokensUpdated 2 days ago
    Auto-check: notes

Works with

Questions about Kc Screenshot

What does Kc Screenshot do?

Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change. Kc Screenshot is an agent skill from imran31415/kube-coder. Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change.

When should I use Kc Screenshot?

Kc Screenshot fits situations like: the user wants to see a frontend change rendered in a real browser rather than just unit-tested; tasks that involve Visual regression testing.

How do I install Kc Screenshot in Claude Code?

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

How do I install Kc Screenshot in Codex?

Run `npx skills add imran31415/kube-coder --skill kc-screenshot -a codex`. Or copy the skill folder (.claude/skills/kc-screenshot in imran31415/kube-coder) into .agents/skills/kc-screenshot in your project. Codex loads it when a task matches its description.

Can I use Kc 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 imran31415/kube-coder --skill kc-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/kc-screenshot, .gemini/skills/kc-screenshot, .github/skills/kc-screenshot and .opencode/skills/kc-screenshot in your project.

What does Kc Screenshot need to run?

Going by SKILL.md and its folder, Kc Screenshot needs the command-line tools its instructions call (yarn, python3, curl and node). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read.

Does Kc Screenshot access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Kc Screenshot safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Kc Screenshot use?

Kc 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 Kc Screenshot use?

About 870 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Kc Screenshot?

Skills that share tags, products or a category with Kc Screenshot: Handsontable Visual Test Demos (handsontable/handsontable, 22k stars), Visual Diff Screenshot Comparison (keybase/client, 9.3k stars), Handsontable Visual Testing (handsontable/handsontable, 22k stars) and Visual Testing Advanced (proffesor-for-testing/agentic-qe, 495 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kc Screenshot?

imran31415 (a GitHub user) maintains it in imran31415/kube-coder, which has 388 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 8, 2026.

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