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.
Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change.
$ npx skills add imran31415/kube-coder --skill kc-screenshot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install imran31415/kube-coder kc-screenshot --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "kc-screenshot" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-screenshot into .claude/skills/kc-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-screenshot", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-screenshotType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add imran31415/kube-coder --skill kc-screenshot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install imran31415/kube-coder kc-screenshot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/kc-screenshot .agents/skills/kc-screenshot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kc-screenshot" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-screenshot into .agents/skills/kc-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-screenshot", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add imran31415/kube-coder --skill kc-screenshot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install imran31415/kube-coder kc-screenshot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/kc-screenshot .cursor/skills/kc-screenshot && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "kc-screenshot" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-screenshot into .cursor/skills/kc-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-screenshot", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/imran31415/kube-coder.git --path .claude/skills/kc-screenshot--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add imran31415/kube-coder --skill kc-screenshot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install imran31415/kube-coder kc-screenshot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/kc-screenshot .gemini/skills/kc-screenshot && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "kc-screenshot" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-screenshot into .gemini/skills/kc-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-screenshot", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install imran31415/kube-coder kc-screenshotInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add imran31415/kube-coder --skill kc-screenshot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/kc-screenshot .github/skills/kc-screenshot && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "kc-screenshot" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-screenshot into .github/skills/kc-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-screenshot", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add imran31415/kube-coder --skill kc-screenshot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install imran31415/kube-coder kc-screenshot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imran31415/kube-coder.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/kc-screenshot .opencode/skills/kc-screenshot && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "kc-screenshot" agent skill from https://github.com/imran31415/kube-coder/tree/main/.claude/skills/kc-screenshot into .opencode/skills/kc-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kc-screenshot", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
kc-screenshotCapture 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. 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.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fc0b886. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
yarnpython3curlnodeFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, ReadAutomated 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.
The full file from imran31415/kube-coder at commit fc0b886, republished under its MIT licence (© imran31415). 306 words, ~870 tokens.
.claude/skills/kc-screenshot/SKILL.md (or your agent's skills folder).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.
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.dist/)yarn --cwd charts/workspace/web buildRebuild after any source edit — the dev server picks up the new dist/ on the
next request, no restart needed.
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.logThe 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:
ls -d ~/.cache/ms-playwright/chromium-*/chrome-linux*/chrome 2>/dev/null \
|| yarn --cwd charts/workspace/web exec playwright install chromiumIf it lives somewhere unusual, point the scripts at it explicitly with
KC_CHROMIUM=/path/to/chrome.
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 | headThen Read a couple of the output PNGs to visually confirm the change.
.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.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.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.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
Just SKILL.md in .claude/skills/kc-screenshot of imran31415/kube-coder.
Open the folder on GitHubat commit fc0b886
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Kc Screenshot this skillimran31415/kube-coder | 388 | — | ~870 | Automated safety check: Notes | MIT | |
| Handsontable Visual Test Demoshandsontable/handsontable | 22k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Visual Diff Screenshot Comparisonkeybase/client | 9.3k | — | ~740 | Automated safety check: Pass | BSD-3-Clause | |
| Handsontable Visual Testinghandsontable/handsontable | 22k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Visual Testing Advancedproffesor-for-testing/agentic-qe | 495 | — | ~2k | Automated safety check: Pass | MIT | |
| UI Visual DebuggingNangoHQ/nango | 13k | — | ~1.3k | Automated safety check: Pass | Custom licence |
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.
keybase/client
Captures baseline and current screenshots of the Keybase desktop app and compares them with ImageMagick to find pixel-level regressions between branches or edits.
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.
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.
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.
bitovi/ai-enablement-prompts
Extract and compare computed CSS styles between a baseline URL and a dev/Storybook URL using Playwright MCP evaluate calls.
imran31415/kube-coder
Safely edit the workspace pod's boot scripts (start.sh, the entrypoint/ssh-server configmaps) in kube-coder.
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.
imran31415/kube-coder
Commit local changes and open a pull request against kube-coder from inside a workspace pod.
imran31415/kube-coder
Launch a Claude task on a remote kube-coder workspace, check task status, or attach to a running session.
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.
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.
Works with
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.