Agent skill

Visual QA

by liangdabiao in liangdabiao/Godogen

Visual quality assurance — analyze game screenshots for defects, compare against reference, check motion in frame sequences.

MITAuto-check passedTesting & QA

Install Visual QA

skills CLI
$ npx skills add liangdabiao/Godogen --skill visual-qa -a claude-code

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

GitHub CLI
$ gh skill install liangdabiao/Godogen visual-qa --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/liangdabiao/Godogen.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/visual-qa .claude/skills/visual-qa && 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
visual-qa
GitHub stars
126
Token cost
~1.4k tokens
SKILL.md length
495 words
Files
5 (incl. scripts)
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Visual quality assurance — analyze game screenshots for defects, compare against reference, check motion in frame sequences.

  • Works in 6 steps: Run Gemini script, capture output → Read all images with Read tool, do… → Produce combined verdict → …
  • Tasks that involve Visual regression testing
  • SKILL.md covers Backend, Mode Detection, Gemini Execution and Native Execution, plus 3 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Visual QA is an agent skill from liangdabiao/Godogen. Visual quality assurance — analyze game screenshots for defects, compare against reference, check motion in frame sequences. Supports Gemini Flash (default), native Claude vision, or both with aggregated verdict.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `scripts/dynamic_prompt.md`, `scripts/question_prompt.md` and `scripts/static_prompt.md`).

It sits in Testing & QA, covering Visual regression testing and QA and bug reports. The repository describes itself as: liang's Godogen: 使用 Claude Code 构建完整 Godot 4 项目的技能集,你描述你想要的内容。AI pipeline 会设计架构、生成美术资源、编写每一行代码、从运行的游戏引擎中截取截图,并修复看起来不对的地方。输出是一个真正的 Godot 4…. The licence is MIT.

When your agent uses it

  • Tasks that involve Visual regression testing
  • Tasks that involve QA and bug reports

Example prompts

  • “/visual-qa”

Requirements

  • Python 3

Workflow steps

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

  1. Run Gemini script, capture output
  2. Read all images with Read tool, do native analysis using criteria below
  3. Produce combined verdict
  4. Merge issue lists from both, deduplicate by location + description
  5. Label each issue source: [gemini], [native], or [both]
  6. Log both outputs to .vqa.log

What it can do on your machine

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

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    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

Visual QA loads about 1.4k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 495 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from liangdabiao/Godogen at commit 8f31578, republished under its MIT licence (© liangdabiao). 495 words, ~1,423 tokens.

Download SKILL.mdSave it as .claude/skills/visual-qa/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
visual-qa
description
Visual quality assurance — analyze game screenshots for defects, compare against reference, check motion in frame sequences. Supports Gemini Flash (default), native Claude vision, or both with aggregated verdict.
context
fork

Visual QA

$ARGUMENTS

CRITICAL: Your job is to find problems, not confirm things look fine. Do not rationalize, justify, or explain away what you see. If it looks wrong, report it.

Backend

  • Default (Gemini): Run the script below. All queries go to Gemini 3 Flash.
  • --native flag in arguments: Use Claude vision — read every image with the Read tool, analyze directly. Do NOT run the Gemini script.
  • --both flag in arguments: Run Gemini first, then do native analysis. Aggregate verdicts (details below).

Mode Detection

From the arguments — freeform text with file paths:

  • Reference image mentioned + 1 screenshot → Static mode
  • Reference image + multiple frames → Dynamic mode — frames are 0.5s apart (2 FPS cadence)
  • No reference, just a question about screenshots → Question mode

Gemini Execution

Parse the arguments to construct the command. The script is at ${CLAUDE_SKILL_DIR}/scripts/visual_qa.py.

bash
# Static
python3 ${CLAUDE_SKILL_DIR}/scripts/visual_qa.py --log .vqa.log [--context "Goal: ... Requirements: ... Verify: ..."] reference.png screenshot.png

# Dynamic
python3 ${CLAUDE_SKILL_DIR}/scripts/visual_qa.py --log .vqa.log [--context "..."] reference.png frame1.png frame2.png ...

# Question
python3 ${CLAUDE_SKILL_DIR}/scripts/visual_qa.py --log .vqa.log --question "the question" screenshot.png [frame2.png ...]

Always pass --log .vqa.log. Print the script output as your response.

Native Execution

Read every image file referenced in the arguments using the Read tool. Analyze using the criteria and output format below. Never look at code — only images.

After producing output, append a debug log entry:

bash
printf '%s\n' "$(cat <<'LOGEOF'
{"ts":"$(date -u +%Y-%m-%dT%H:%M:%SZ)","mode":"MODE","model":"native","query":"QUERY","files":["FILE1","FILE2"],"output":"FIRST_LINE..."}
LOGEOF
)" >> .vqa.log

Aggregated Mode (--both)

  1. Run Gemini script, capture output
  2. Read all images with Read tool, do native analysis using criteria below
  3. Produce combined verdict:
    • Either says fail → fail
    • Either says warning and neither fail → warning
    • Both pass → pass
  4. Merge issue lists from both, deduplicate by location + description
  5. Label each issue source: [gemini], [native], or [both]
  6. Log both outputs to .vqa.log

Analysis Criteria

Implementation Quality (static + dynamic)

Assets are usually fine — what breaks is how they're placed, scaled, composed:

  • Grid/uniform placement when reference shows organic arrangement
  • Uniform/default scale when reference shows varied, purposeful sizing
  • Flat composition when reference has depth and layering
  • Stretched, tiled, or carelessly applied materials
  • Objects unrelated to environment (just placed on a flat plane)
  • Camera framing doesn't match reference perspective
Show full SKILL.md (185 more words)Show less
Visual Bugs
  • Z-fighting (flickering overlapping surfaces)
  • Texture stretching, tiling seams, missing textures (magenta/checkerboard)
  • Geometry clipping (objects visibly intersecting)
  • Floating objects that should be grounded
  • Shadow artifacts (detached, through walls, missing)
  • Lighting leaks through opaque geometry
  • Culling errors (missing faces, disappearing objects)
  • UI overlap, truncated text, offscreen elements
Logical Inconsistencies
  • Impossible orientations (sideways, upside-down, embedded in terrain)
  • Scale mismatches (tree smaller than character, door too small)
  • Misplaced objects (furniture on ceiling, rocks in sky)
  • Broken spatial relationships (bridge not connecting, stairs into wall)
Placeholder Remnants
  • Untextured primitives contrasting with surrounding detail
  • Default Godot materials (grey StandardMaterial3D, magenta missing shader)
  • Debug artifacts (collision shapes, nav mesh, axis gizmos)
Motion & Animation (dynamic mode only)

Compare consecutive frames (0.5s apart):

  • Stuck entities (same position/pose across frames when movement expected)
  • Jitter/teleportation (large position jumps between frames)
  • Sliding (position changes but pose frozen — ice-skating)
  • Physics breaks (objects through walls, endless bouncing, unnatural acceleration)
  • Animation mismatches (walk anim at running speed, idle while moving)
  • Camera issues (sudden jumps, clipping through geometry)
  • Collision failures (overlapping objects that should collide)

Output Format

Static / Dynamic
### Verdict: {pass | fail | warning}

### Reference Match
{1-3 sentences: does the game capture the reference's *intent* — placement logic, scaling, composition, camera? Distinguish lazy implementation (fail) from asset/engine limitations (acceptable).}

### Goal Assessment
{1-3 sentences from Task Context. "No task context provided." if none.}

### Issues

{If none: "No issues detected." Otherwise:}

#### Issue {N}: {short title}
- **Type:** style mismatch | visual bug | logical inconsistency | motion anomaly | placeholder
- **Severity:** major | minor | note
- **Frames:** {dynamic only: which frames}
- **Location:** {where in frame}
- **Description:** {1-2 sentences}

### Summary
{One sentence.}

Severity: major/minor = must fix. note = cosmetic, can ship.

Question Mode
### Answer
{Direct, specific, actionable answer. Reference locations, frames, colors, objects.}

### Visual Evidence
{What in the screenshots supports the answer. Reference specific frames and locations.}

© liangdabiao, 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 4 other files (scripts) in .claude/skills/visual-qa of liangdabiao/Godogen.

  • SKILL.md
  • scripts/dynamic_prompt.md
  • scripts/question_prompt.md
  • scripts/static_prompt.md
  • scripts/visual_qa.py

Open the folder on GitHubat commit 8f31578

Compare with similar skills

Visual QA 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.

Visual QA compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Visual QA this skillliangdabiao/Godogen126—~1.4kAutomated safety check: PassMIT
Visual QA For Web And Terminal UIscode-yeongyu/oh-my-openagent70k—~9.5kAutomated safety check: PassCustom licence
Glance TestDebugBase/glance156—~827Automated safety check: PassMIT
QA Verify Consoleopenshift-eng/ai-helpers120—~3.3kAutomated safety check: PassApache-2.0
Visual QARandallLiuXin/GodotMaker550—~1.8kAutomated safety check: PassCustom licence
Reproduce Chat Statesdifferent-ai/openwork24k—~673Automated safety check: PassCustom licence

Similar skills

  • Visual QA For Web And Terminal UIs

    code-yeongyu/oh-my-openagent

    Checks a built UI against a human-interface checklist and any reference image, pairing day and night screenshots at two screen widths.

    70k GitHub stars~9.5k tokensUpdated today
    Testing & QAAuto-check passed
  • Glance Test

    DebugBase/glance

    Run E2E browser tests on any web application using Glance MCP.

    156 GitHub stars~827 tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • QA Verify Console

    openshift-eng/ai-helpers

    Capture before/after screenshots of OpenShift Console PRs running against a live cluster using Puppeteer, generate visual diff comparisons, and post evidence to the PR.

    120 GitHub stars~3.3k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Visual QA

    RandallLiuXin/GodotMaker

    Visual quality assurance: analyze game screenshots for defects, compare against reference, check motion in frame sequences.

    550 GitHub stars~1.8k tokensUpdated 21 days ago
    Testing & QAAuto-check passed
  • Reproduce Chat States

    different-ai/openwork

    Fires known chat states in the running OpenWork desktop app, such as provider errors, retries and tool steps, so you can check how each renders.

    24k GitHub stars~673 tokensUpdated today
    Testing & QAAuto-check passed
  • Dynamo Jira Ticket

    DynamoDS/Dynamo

    Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.

    2k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed

More from liangdabiao/Godogen

  • Godogen

    liangdabiao/Godogen

    This skill should be used when the user asks to "make a game", "build a game", "generate a game", or wants to generate or update a complete Godot game from a natural language description.

    126 GitHub stars~1.5k tokensUpdated 5 mo ago
    Auto-check passed
  • Godot API

    liangdabiao/Godogen

    Look up Godot engine class APIs — methods, properties, signals, enums.

    126 GitHub stars~287 tokensUpdated 5 mo ago
    Auto-check passed

Categories

Questions about Visual QA

What does Visual QA do?

Visual quality assurance — analyze game screenshots for defects, compare against reference, check motion in frame sequences. Visual QA is an agent skill from liangdabiao/Godogen. Visual quality assurance — analyze game screenshots for defects, compare against reference, check motion in frame sequences.

When should I use Visual QA?

Visual QA fits situations like: tasks that involve Visual regression testing; tasks that involve QA and bug reports.

How do I install Visual QA in Claude Code?

Run `npx skills add liangdabiao/Godogen --skill visual-qa -a claude-code`. Or copy the skill folder (.claude/skills/visual-qa in liangdabiao/Godogen) into .claude/skills/visual-qa in your project. Claude Code loads it when a task matches its description.

How do I install Visual QA in Codex?

Run `npx skills add liangdabiao/Godogen --skill visual-qa -a codex`. Or copy the skill folder (.claude/skills/visual-qa in liangdabiao/Godogen) into .agents/skills/visual-qa in your project. Codex loads it when a task matches its description.

Can I use Visual QA 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 liangdabiao/Godogen --skill visual-qa -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/visual-qa, .gemini/skills/visual-qa, .github/skills/visual-qa and .opencode/skills/visual-qa in your project.

What does Visual QA need to run?

Going by SKILL.md and its folder, Visual QA needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Visual QA 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 Visual QA 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Visual QA use?

Visual QA 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 Visual QA use?

About 1.4k tokens (SKILL.md is roughly 5.7k 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 Visual QA?

Skills that share tags, products or a category with Visual QA: Visual QA For Web And Terminal UIs (code-yeongyu/oh-my-openagent, 70k stars), Glance Test (DebugBase/glance, 156 stars), QA Verify Console (openshift-eng/ai-helpers, 120 stars) and Visual QA (RandallLiuXin/GodotMaker, 550 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Visual QA?

liangdabiao (a GitHub user) maintains it in liangdabiao/Godogen, which has 126 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on April 15, 2026.

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