Agent skill

Use Vishot With Input File

by moeru-ai in moeru-ai/airi

Drive a local file-input or file-chooser workflow inside a Vishot browser or Electron scenario, then capture the resulting deterministic UI state.

MITAuto-check passed

Install Use Vishot With Input File

skills CLI
$ npx skills add moeru-ai/airi --skill use-vishot-with-input-file -a claude-code

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

GitHub CLI
$ gh skill install moeru-ai/airi use-vishot-with-input-file --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/moeru-ai/airi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/use-vishot-with-input-file .claude/skills/use-vishot-with-input-file && 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
use-vishot-with-input-file
GitHub stars
50k
Token cost
~529 tokens
SKILL.md length
189 words
Files
2
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

Drive a local file-input or file-chooser workflow inside a Vishot browser or Electron scenario, then capture the resulting deterministic UI state.

  • Works in 6 steps: Verify the absolute file exists before… → Start waiting for filechooser before… → Wait for a file-specific postcondition… → …
  • Screenshot readiness depends on uploading
  • SKILL.md covers File chooser pattern and Readiness
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Use Vishot With Input File is an agent skill from moeru-ai/airi. Drive a local file-input or file-chooser workflow inside a Vishot browser or Electron scenario, then capture the resulting deterministic UI state. Use when screenshot readiness depends on uploading, importing, opening, or selecting a local file rather than the application's default startup data.

Its SKILL.md is about 530 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

The repository describes itself as: 💖🧸 Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-sama's altitude. Capable of… The licence is MIT.

When your agent uses it

  • Screenshot readiness depends on uploading
  • Selecting a local file rather than the applications default startup data

Example prompts

  • “/use-vishot-with-input-file”

Workflow steps

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

  1. Verify the absolute file exists before launching the scenario.
  2. Start waiting for filechooser before clicking the control that opens it.
  3. Wait for a file-specific postcondition such as its displayed name, imported record ID, parsed preview, or selected renderer.
  4. Select the imported item if upload alone does not activate it.
  5. Wait for the destination surface, not merely for the chooser to close.
  6. Capture with Vishot and inspect the image. A default model or unchanged startup view is a failed upload scenario.

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    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

Use Vishot With Input File loads about 529 tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 189 words of instructions outside code blocks.

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

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

SKILL.md

The full file from moeru-ai/airi at commit ec682e2, republished under its MIT licence (© moeru-ai). 189 words, ~529 tokens.

Download SKILL.mdSave it as .claude/skills/use-vishot-with-input-file/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
use-vishot-with-input-file
description
Drive a local file-input or file-chooser workflow inside a Vishot browser or Electron scenario, then capture the resulting deterministic UI state. Use when screenshot readiness depends on uploading, importing, opening, or selecting a local file rather than the application's default startup data.

Use Vishot with an Input File

Invoke $use-vishot and its runtime variant first. Put file interaction in a product-owned or disposable defineScenario module; Vishot performs the final capture.

File chooser pattern

Pass the absolute input path through an environment variable. Do not embed a contributor-specific path in tests or reusable scenario source.

ts
const inputFile = process.env.VISHOT_INPUT_FILE
if (!inputFile)
  throw new Error('VISHOT_INPUT_FILE is required')

const [fileChooser] = await Promise.all([
  page.waitForEvent('filechooser'),
  page.getByRole('menuitem', { name: 'Import' }).click(),
])

await fileChooser.setFiles(inputFile)
await page.getByText(inputFile.replaceAll('\\', '/').split('/').at(-1)!, { exact: true })
  .waitFor({ state: 'visible' })
await capture('imported-file', page)

Use locator.setInputFiles(inputFile) when a stable <input type="file"> already exists. Prefer waitForEvent('filechooser') when the application creates the input lazily or hides it behind a menu.

Readiness

  1. Verify the absolute file exists before launching the scenario.
  2. Start waiting for filechooser before clicking the control that opens it.
  3. Wait for a file-specific postcondition such as its displayed name, imported record ID, parsed preview, or selected renderer.
  4. Select the imported item if upload alone does not activate it.
  5. Wait for the destination surface, not merely for the chooser to close.
  6. Capture with Vishot and inspect the image. A default model or unchanged startup view is a failed upload scenario.

Keep secrets and private filenames out of scenario IDs, screenshot names, test names, and comments. Supply private local paths only through environment variables or command arguments.

© moeru-ai, 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 1 other file in .agents/skills/use-vishot-with-input-file of moeru-ai/airi.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit ec682e2

Compare with similar skills

Use Vishot With Input File 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.

Use Vishot With Input File compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Use Vishot With Input File this skillmoeru-ai/airi50k—~529Automated safety check: PassMIT
Search Inputthedaviddias/Front-End-Checklist74k—~402Automated safety check: PassMIT
Input Typesthedaviddias/Front-End-Checklist74k—~487Automated safety check: PassMIT
Paste Inputsthedaviddias/Front-End-Checklist74k—~443Automated safety check: PassMIT
Feishu Driveopenclaw/openclaw392k—~375Automated safety check: PassMIT
Od Next Media Inputsnexu-io/open-design100k—~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • Search Input

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing templates, rendered HTML, or shared components related to Make search inputs accessible.

    74k GitHub stars~402 tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed
  • Input Types

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing templates, rendered HTML, or shared components related to Use semantic input type attributes.

    74k GitHub stars~487 tokensUpdated 5 days ago
    Auto-check passed
  • Paste Inputs

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Allow pasting into form inputs.

    74k GitHub stars~443 tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed
  • Feishu Drive

    openclaw/openclaw

    Feishu cloud-storage and comment workflows. An agent skill from openclaw/openclaw.

    392k GitHub stars~375 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Od Next Media Inputs

    nexu-io/open-design

    Prepare required media inputs within an existing OD Next plan.

    100k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Electron Drive Skill

    sickn33/agentic-awesome-skills

    Launch the project's Electron app on a scratch profile and drive it: click, type, screenshot, run renderer or main-process code, read logs.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Testing & QAAuto-check passed

More from moeru-ai/airi

All 24 skills in this repo
  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    Auto-check passed
  • Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.

    50k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Upload a local image or file to GitHub's user-attachments storage and return a URL suitable for issue, pull request, discussion, or comment Markdown.

    50k GitHub stars~554 tokensUpdated today
    Auto-check passed
  • Create PR

    moeru-ai/airi

    Prepare and create an AIRI pull request with verifiable change context, architecture evidence, and required visual evidence.

    50k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Test AIRI display-model imports with agent-browser across stage-tamagotchi Electron, stage-web, and stage-pocket mobile web layouts.

    50k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when Codex needs to inspect, debug, or automate an Electron app through agent-browser and Chrome DevTools Protocol, especially when the app has multiple BrowserWindow…

    50k GitHub stars~3.1k tokensUpdated today
    Auto-check passed

Questions about Use Vishot With Input File

What does Use Vishot With Input File do?

Drive a local file-input or file-chooser workflow inside a Vishot browser or Electron scenario, then capture the resulting deterministic UI state. Use Vishot With Input File is an agent skill from moeru-ai/airi. Drive a local file-input or file-chooser workflow inside a Vishot browser or Electron scenario, then capture the resulting deterministic UI state.

When should I use Use Vishot With Input File?

Use Vishot With Input File fits situations like: screenshot readiness depends on uploading; selecting a local file rather than the applications default startup data.

How do I install Use Vishot With Input File in Claude Code?

Run `npx skills add moeru-ai/airi --skill use-vishot-with-input-file -a claude-code`. Or copy the skill folder (.agents/skills/use-vishot-with-input-file in moeru-ai/airi) into .claude/skills/use-vishot-with-input-file in your project. Claude Code loads it when a task matches its description.

How do I install Use Vishot With Input File in Codex?

Run `npx skills add moeru-ai/airi --skill use-vishot-with-input-file -a codex`. Or copy the skill folder (.agents/skills/use-vishot-with-input-file in moeru-ai/airi) into .agents/skills/use-vishot-with-input-file in your project. Codex loads it when a task matches its description.

Can I use Use Vishot With Input File 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 moeru-ai/airi --skill use-vishot-with-input-file -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/use-vishot-with-input-file, .gemini/skills/use-vishot-with-input-file, .github/skills/use-vishot-with-input-file and .opencode/skills/use-vishot-with-input-file in your project.

What does Use Vishot With Input File need to run?

SKILL.md names no scripts, command-line tools or credentials: Use Vishot With Input File is instructions for the agent only.

Does Use Vishot With Input File 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 Use Vishot With Input File 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. Review the folder before installing.

What licence does Use Vishot With Input File use?

Use Vishot With Input File 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 Use Vishot With Input File use?

About 529 tokens (SKILL.md is roughly 2.1k 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 Use Vishot With Input File?

Skills that share tags, products or a category with Use Vishot With Input File: Search Input (thedaviddias/Front-End-Checklist, 74k stars), Input Types (thedaviddias/Front-End-Checklist, 74k stars), Paste Inputs (thedaviddias/Front-End-Checklist, 74k stars) and Feishu Drive (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Use Vishot With Input File?

moeru-ai (a GitHub organization) maintains it in moeru-ai/airi, which has 50,267 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 11, 2026.

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