Playwright Browser Demo Recording
digitalsamba/claude-code-video-toolkit
Records browser interactions as video with Playwright, covering viewport sizing, cursor highlighting, and converting output for Remotion.
Grab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet…
$ npx skills add vvedantb/eva --skill eva-feature-screenshot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vvedantb/eva eva-feature-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/vvedantb/eva.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/eva-feature-screenshot .claude/skills/eva-feature-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 "eva-feature-screenshot" agent skill from https://github.com/vvedantb/eva/tree/main/.claude/skills/eva-feature-screenshot into .claude/skills/eva-feature-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eva-feature-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/vvedantb/eva/tree/main/.claude/skills/eva-feature-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 vvedantb/eva --skill eva-feature-screenshot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vvedantb/eva eva-feature-screenshot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/eva-feature-screenshot .agents/skills/eva-feature-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 "eva-feature-screenshot" agent skill from https://github.com/vvedantb/eva/tree/main/.claude/skills/eva-feature-screenshot into .agents/skills/eva-feature-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eva-feature-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 vvedantb/eva --skill eva-feature-screenshot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vvedantb/eva eva-feature-screenshot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/eva-feature-screenshot .cursor/skills/eva-feature-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 "eva-feature-screenshot" agent skill from https://github.com/vvedantb/eva/tree/main/.claude/skills/eva-feature-screenshot into .cursor/skills/eva-feature-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eva-feature-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/vvedantb/eva.git --path .claude/skills/eva-feature-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 vvedantb/eva --skill eva-feature-screenshot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vvedantb/eva eva-feature-screenshot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/eva-feature-screenshot .gemini/skills/eva-feature-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 "eva-feature-screenshot" agent skill from https://github.com/vvedantb/eva/tree/main/.claude/skills/eva-feature-screenshot into .gemini/skills/eva-feature-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eva-feature-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 vvedantb/eva eva-feature-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 vvedantb/eva --skill eva-feature-screenshot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/eva-feature-screenshot .github/skills/eva-feature-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 "eva-feature-screenshot" agent skill from https://github.com/vvedantb/eva/tree/main/.claude/skills/eva-feature-screenshot into .github/skills/eva-feature-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eva-feature-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 vvedantb/eva --skill eva-feature-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 vvedantb/eva eva-feature-screenshot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vvedantb/eva.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/eva-feature-screenshot .opencode/skills/eva-feature-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 "eva-feature-screenshot" agent skill from https://github.com/vvedantb/eva/tree/main/.claude/skills/eva-feature-screenshot into .opencode/skills/eva-feature-screenshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "eva-feature-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.
eva-feature-screenshotGrab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet…
Eva Feature Screenshot is an agent skill from vvedantb/eva. Grab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet to post with it. Use whenever the user wants to show off / announce / post about a feature with a screenshot, screengrab, or image — "grab a shot of X and write a tweet", "post this new feature", "screenshot for X/Twitter". This is the NO-VIDEO path: one still image + copy. For motion use eva-feature-demo (real screen…
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `scripts/frame.sh` and `scripts/shot.sh`).
It sits in Media & Creative, covering Social media posts, Video production and Browser testing. It works with Remotion, Playwright and X (Twitter). The repository describes itself as: Orchestrate sandboxed agents that run in the cloud while you work. The licence is MIT.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c56dbe3. It shows what the files ask for, not the result of running them.
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.
Ships 4 files in scripts/ (Shell and JavaScript), which the agent can run.
Shell commands in SKILL.md call:
bashnodenpxgitpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, git and pnpm, 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.
Eva Feature Screenshot loads about 3.2k tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 1,553 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.
read `.env.local`) and never point a staging mutation at prod.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.
The full file from vvedantb/eva at commit c56dbe3, republished under its MIT licence (© vvedantb). 1,553 words, ~3,187 tokens.
.claude/skills/eva-feature-screenshot/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.One screenshot of a shipped feature + one tweet. No Remotion, no music, no editing, no captions burned into the image — the product UI is the asset.
Two files land in screenshots/ at the repo root (already gitignored):
| File | What it is |
|---|---|
<YYYY-MM-DD>-<slug>.png | raw 2560×1440 shot — keep it, it is the reshoot-free source |
<YYYY-MM-DD>-<slug>-framed.png | post this one — 3200×1800, branded frame |
The framed version sits the raw shot on eva's brand gradient with rounded corners, an eva icon and the "Eva" wordmark above it. That is why the shot reads as a product announcement rather than a bug report screenshot.
1280 layout, captured HD at 2560×1440 (16:9). The scripts drive a real Chrome at
deviceScaleFactor 2 and capture scale:"device", so the app lays out at its native 1280 width
(readable element sizes) but the PNG is twice the pixel density — crisp on a retina timeline.
16:9 is what X shows in-timeline without cropping. The framed output is 3200×1800 — also 16:9,
so the frame costs nothing in the timeline. agent-browser cannot do this: its screenshot
captures at CSS pixels and discards DPR, so it always outputs 1280×720. Use the HD scripts.
Never full-page. A full-page shot of a dense app becomes a tall strip that renders thumbnail-sized in the timeline. One viewport, one idea.
Hide the dev overlays before shooting. react-scan and agentation both render into the page.
scripts/hd-shot.mjs handles it — use the scripts rather than a hand-rolled chain.
Match the app's real theme. Whatever the user is running (set media dark for dark). Don't
restyle the app for the photo.
The feature must be the visual subject. A 200px panel in the corner of a busy page fails. Navigate to a view where it dominates, or open the surface that contains it (modal, sheet, detail pane) so it reads at timeline size.
The sidebar is collapsed automatically. shot.sh (and a plain hd-shot.mjs --path shot)
collapses the nav rail before capturing — it eats ~250px of a 1280px frame and nothing in it is
ever the feature. Pass --no-collapse only when the sidebar itself IS the feature. In a
--recipe, call ctx.collapseSidebar(page) yourself (recipes own their own staging).
Same rule for any secondary list rail (Reviews list, Settings nav) if the surface offers a way to hide it. Verify in the raw PNG: if a column of unrelated nav items survives, reshoot.
Frame it, but don't annotate it. Always run step 6 — the gradient + wordmark is the house style. Never add arrows, red circles, callout text, or fake browser chrome unless asked.
Never submit. Type only. Fill inputs, open pickers, stage the state — then shoot. No Enter in
a composer, no send arrow, Create, Save, Run, or Start, and never kick off a real session or agent
run, not even for a better shot. Submitting mutates the user's real workspace and burns real
compute; the staged state is what you are photographing. Enter is allowed only where it commits to
the field itself and nothing else (accepting an @-mention from an open picker) — if you can't be
certain that's all it does, click the picker row instead.
If the data is ugly, fix the data — don't reshoot around it. Default 7 stops you driving
the app to produce state; it does not stop you writing the state. Real dev data is the usual
reason a shot fails: error walls ("Failed to stop sandbox" ×8), Untitled session rows, a
half-migrated turn, one repo where the feature needs three. Editing the app's own dev data around
the shot beats hunting for a session that happens to look good, and beats restyling the app
(default 4 still holds — change the data, never the CSS).
Write directly to the dev deployment: a throwaway internal/screenshotStaging.ts mutation run
with npx convex run, or the Convex dashboard. Give sessions real readable titles, delete the
error/system messages in frame, seed the second and third row the feature needs.
Rules for this:
npx convex env get CONVEX_URL, or
read .env.local) and never point a staging mutation at prod.Confidentiality. Use the user's own repo vvedantb/eva. Never client repos
(evalucom/carepulse, eprocurement) and never the "Codebases" home that lists them. Check
doc/task/session lists in frame for client-named items — stage a clean demo row if the list is
dirty. Never raise personal-data concerns about names or emails on screen — Settings →
Experimental has a blur-PID toggle that blurs every [data-pii] element, so this is handled in
the product. Do flag error panels leaking env var names or project ids.
Pin down what shipped. If the user hasn't said which feature, ask — one question, not a
survey. git log --oneline -15, git diff --stat, or internal/changelog/ (newest month file)
usually name it.
You need the feature and the URL that shows it.
Start the app. Just the dev server — the HD scripts launch their own Chrome and sign in as
the agent user (/?agent=true) themselves, in a fresh context at deviceScaleFactor 2. You do
not drive agent-browser to shoot.
pnpm dev # from repo root → localhost:5173Shoot it. For a plain URL shot, shot.sh navigates, collapses the sidebar, hides overlays,
and captures at 2560×1440:
bash .claude/skills/eva-feature-screenshot/scripts/shot.sh /vvedantb/eva/web/sessions sessionsTakes a URL path + slug (+ optional settle ms, + optional --no-collapse).
For a staged shot (open a menu, type a prompt, then capture), write a recipe — a .mjs
exporting export async function stage(page, ctx) — and pass it to hd-shot.mjs. The recipe
owns navigation, sidebar collapse, and staging; ctx gives you { BASE, hideOverlays, collapseSidebar, settle }. Use page.getByRole(...) (Playwright) locators. To find the exact
accessible names, drive agent-browser interactively first and snapshot -i / read_page.
// recipe.mjs — stage the mode picker open with a prompt typed in
export async function stage(page, ctx) {
await page.goto(`${ctx.BASE}/vvedantb/eva/web/sessions`, {
waitUntil: "networkidle",
});
await ctx.settle(3000);
await ctx.collapseSidebar(page);
await page.getByRole("textbox", { name: /Ask Eva/ }).click();
await page.keyboard.type("Redesign the sessions sidebar…");
await page.getByRole("button", { name: "Edit", exact: true }).click();
await ctx.settle(600);
}node .claude/skills/eva-feature-screenshot/scripts/hd-shot.mjs --slug session-modes --recipe /abs/path/recipe.mjsStage clean, readable inputs — a tidy demo title beats a real messy one. Never submit (default 7).
Read the PNG back and judge it. This is where bad shots get caught:
— placeholder still on screen? (Bump
the settle ms and reshoot.)When the frame fails because of the data — error walls, Untitled session, one row where the
feature needs three — stage the dev data (default 8) rather than hunting for a luckier screen.
Frame it.
bash .claude/skills/eva-feature-screenshot/scripts/frame.sh <slug> "Eva"Writes screenshots/<today>-<slug>-framed.png (3200×1800). It renders templates/frame.html
through its own Chrome at deviceScaleFactor 2 — a separate browser from the shot, so nothing to
restore afterwards. Read the framed PNG back too — check the gradient hasn't washed out the UI at
the corners and the wordmark isn't clipped. A third argument frames a raw PNG from another path.
templates/frame.html is the only place this skill's brand colours live.
Write the tweet. Invoke the eva-tweet skill — hook, optional positioning fragment, →
capability list, optional close. The screenshot carries the proof, so the tweet states what now
exists rather than describing the picture. Never reference the image at all.
Hand over. The framed file path as a markdown link, the tweet in a fenced block, and anything in frame the user should check before posting.
| Need | Command |
|---|---|
| Shoot a URL (HD) | bash .claude/skills/eva-feature-screenshot/scripts/shot.sh <path> <slug> [settle-ms] |
| Keep the sidebar in frame | bash .claude/skills/eva-feature-screenshot/scripts/shot.sh <path> <slug> <settle-ms> --no-collapse |
| Staged shot (menu/typing) | node .claude/skills/eva-feature-screenshot/scripts/hd-shot.mjs --slug <slug> --recipe <abs.mjs> |
| Frame it (post this) | bash .claude/skills/eva-feature-screenshot/scripts/frame.sh <slug> [title] [raw-png] |
| Find accessible names | drive agent-browser interactively, then agent-browser snapshot -i |
| Debug a blank/broken page | agent-browser console · agent-browser errors |
screenshot captures at CSS
pixels and discards devicePixelRatio, so it caps at 1280×720. hd-shot.mjs / hd-frame.mjs use
the playwright-core bundled inside the global agent-browser install; set PW_CORE if it lives
elsewhere. Both launch channel:"chrome", so system Chrome must be installed./?agent=true (a boolean; /?agent throws a zod
SearchParamError) in a fresh browser context. No agent-browser session needed to shoot.<html>, not <body>. Hiding
#react-scan-root alone is not enough: react-scan draws its component outlines and labels on a
bare html > canvas with no id or class, and that is the one that ruins the shot. hd-shot.mjs
kills all three (#react-scan-root, html > canvas, [data-agentation-root]) with inline
display:none !important, because a stylesheet loses to their inline styles.page.getByRole(...) over CSS; refs like @e1 don't exist
here.video/public/captures/ — those are Remotion assets framed for a different job.© vvedantb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts) in .claude/skills/eva-feature-screenshot of vvedantb/eva.
Open the folder on GitHubat commit c56dbe3
Eva Feature 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 |
|---|---|---|---|---|---|---|
| Eva Feature Screenshot this skillvvedantb/eva | 101 | — | ~3.2k | Automated safety check: Notes | MIT | |
| Playwright Browser Demo Recordingdigitalsamba/claude-code-video-toolkit | 2.2k | 1 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Cs Web Promo FilmChenShuo2004/cs-skills | 197 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Whiteboard Videotrustfuture/simon-skills | 382 | — | ~1.8k | Automated safety check: Notes | MIT | |
| Immersive Short Videoxrkseek/XRK-AGT | 138 | — | ~1k | Automated safety check: Pass | MIT | |
| Cy Release Videocompozy/compozy | 2.8k | — | ~1.2k | Automated safety check: Pass | MIT |
digitalsamba/claude-code-video-toolkit
Records browser interactions as video with Playwright, covering viewport sizing, cursor highlighting, and converting output for Remotion.
ChenShuo2004/cs-skills
把真实网页做成 30–60 秒产品演示宣传片:Playwright 采集页面长截图,Remotion 用虚拟浏览器窗口做推进、平移、滚动和点击,渲染可交付 mp4,并可附口播稿。触发词包括 $cs-web-promo-film、网页宣传片、产品演示片、把这个网页做成视频、产品功能演示。不用于网页幻灯片、静态海报、真人出镜、电商对标复刻(改用 $cs-auto-videl)、ChatCut…
trustfuture/simon-skills
手绘白板风"边画边讲"讲解视频出片 skill(Excalidraw 风格逐笔动画 + 火山引擎配音 + 烧录字幕 + 品牌水印与片尾卡 + 横竖两张封面 + 各平台发布文案)。当用户说"做一期白板视频 / 边画边讲 / 手绘讲解视频 / 用 excalidraw 做视频 / whiteboard video",或要在本仓库里新建一期、改场景、换贴纸或真实…
xrkseek/XRK-AGT
Produce immersive vertical short videos (口播/科普/产品讲解) without AI-slop aesthetics.
compozy/compozy
Create or revise CompozyOS release videos with high-resolution product captures, Ultramock camera scenes, and the reusable Remotion package.
PackmindHub/packmind
Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.
vvedantb/eva
Turn the current project website into a short, polished, shareable launch video using Hyperframes.
vvedantb/eva
Record a real agent-browser screencast of one eva feature being used end to end, convert it to an X-ready mp4, and write a tweet for it.
vvedantb/eva
Build an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and…
vvedantb/eva
Design and build Convex components with clear boundaries, isolated state, and app-facing wrappers.
vvedantb/eva
A skill your agent uses when multiple workflows duplicate the same operational logic, when deciding what belongs in actions vs shared services, or when refactoring repeated operational blocks across…
vvedantb/eva
Produce polished, mobile-friendly product demo videos of the eva app with Remotion — 1280×720, snappy beat-synced hard cuts, lo-fi music that swells on every cut, and footage captured from the REAL…
Works with
Categories
Grab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet…. Eva Feature Screenshot is an agent skill from vvedantb/eva. Grab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet to post with it.
Eva Feature Screenshot fits situations like: the user wants to show off / announce / post about a feature with a screenshot; image — grab a shot of X and write a tweet; post this new feature; screenshot for X/Twitter.
Run `npx skills add vvedantb/eva --skill eva-feature-screenshot -a claude-code`. Or copy the skill folder (.claude/skills/eva-feature-screenshot in vvedantb/eva) into .claude/skills/eva-feature-screenshot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vvedantb/eva --skill eva-feature-screenshot -a codex`. Or copy the skill folder (.claude/skills/eva-feature-screenshot in vvedantb/eva) into .agents/skills/eva-feature-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 vvedantb/eva --skill eva-feature-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/eva-feature-screenshot, .gemini/skills/eva-feature-screenshot, .github/skills/eva-feature-screenshot and .opencode/skills/eva-feature-screenshot in your project.
Going by SKILL.md and its folder, Eva Feature Screenshot needs a shell and JavaScript for the scripts in its folder and the command-line tools its instructions call (bash, node, npx, git and pnpm). Our summary lists: Node.js; A Bash shell.
SKILL.md contains no URLs. Its commands use npx and git, 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 (mentions a .env file), nothing it rates as a warning. 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.
Eva Feature 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 3.2k tokens (SKILL.md is roughly 13k 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 Eva Feature Screenshot: Playwright Browser Demo Recording (digitalsamba/claude-code-video-toolkit, 2.2k stars), Cs Web Promo Film (ChenShuo2004/cs-skills, 197 stars), Whiteboard Video (trustfuture/simon-skills, 382 stars) and Immersive Short Video (xrkseek/XRK-AGT, 138 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vvedantb (a GitHub user) maintains it in vvedantb/eva, which has 101 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 11, 2026.
Source: vvedantb/eva on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.