Systematically QA test any application — web apps, native macOS apps, Electron apps, CLI tools, interactive REPLs, or anything on screen.

MITAuto-check: notesProductivity & Automation

Install QA

skills CLI
$ npx skills add team-attention/hoyeon --skill qa -a claude-code

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

GitHub CLI
$ gh skill install team-attention/hoyeon 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/team-attention/hoyeon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qa .claude/skills/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
qa
GitHub stars
173
Token cost
~2.6k tokens
SKILL.md length
916 words
Files
8 (incl. references)
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Systematically QA test any application — web apps, native macOS apps, Electron apps, CLI tools, interactive REPLs, or anything on screen.

  • Works in 9 steps: Analyze Target & Select Mode → Test Plan → Orient → …
  • Fix whats broken
  • SKILL.md covers Phase 0: Analyze Target &…, Phase 1: Test Plan, Phase 2: Orient and Phase 3: Explore & Document, plus 7 more sections
  • Calls git

What it does

QA is an agent skill from team-attention/hoyeon. Systematically QA test any application — web apps, native macOS apps, Electron apps, CLI tools, interactive REPLs, or anything on screen. Three modes: browser (chromux/CDP, fast, DOM-level), computer (MCP computer-use, screenshot + pixel clicks, any app), and cli (tmux, send-keys + capture-pane for interactive terminals). Auto-selects mode or accepts --browser / --computer / --cli override. Use when asked to "qa", "QA", "test this site", "test this app", "find bugs", "test and fix", "fix what's broken"…

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/browser-mode.md`, `references/browser-verify.md` and `references/cli-mode.md`).

It sits in Productivity & Automation, covering Desktop control, Customer success and Debugging. It works with tmux, Model Context Protocol and macOS. The repository describes itself as: Requirements-first Harness — derive, verify, execute. The licence is MIT.

When your agent uses it

  • Fix whats broken
  • Exploratory test

Example prompts

  • “test this site”
  • “test this app”
  • “find bugs”
  • “/qa”

Requirements

  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Glob, Grep, Agent, AskUserQuestion, mcp__computer-use__screenshot, mcp__computer-use__zoom, mcp__computer-use__left_click, mcp__computer-use__right_click, mcp__computer-use__double_click, mcp__computer-use__triple_click, mcp__computer-use__type, mcp__computer-use__key, mcp__computer-use__scroll, mcp__computer-use__mouse_move, mcp__computer-use__left_click_drag, mcp__computer-use__computer_batch, mcp__computer-use__open_application, mcp__computer-use__request_access, mcp__computer-use__list_granted_applications, mcp__computer-use__cursor_position, mcp__computer-use__wait, mcp__computer-use__read_clipboard, mcp__computer-use__write_clipboard

Workflow steps

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

  1. Analyze Target & Select Mode
  2. Test Plan
  3. Orient
  4. Explore & Document
  5. Health Score
  6. Triage
  7. Fix Loop
  8. Final QA
  9. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 7cff032. 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
    • Write
    • Edit
    • Glob
    • Grep
    • Agent
    • AskUserQuestion
    • mcp__computer-use__screenshot
    • mcp__computer-use__zoom

    …and 17 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, 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

QA loads about 2.6k tokens when it runs, and up to ~8.7k if it reads all its reference files. Until then it costs about 203 tokens; SKILL.md has 916 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~203
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.7k

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, Write, Edit, Glob, Grep, Agent, AskUserQuestion, mcp__computer-use__screenshot, mcp__com

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 team-attention/hoyeon at commit 7cff032, republished under its MIT licence (© team-attention). 916 words, ~2,566 tokens.

Download SKILL.mdSave it as .claude/skills/qa/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
qa
description
Systematically QA test any application — web apps, native macOS apps, Electron apps, CLI tools, interactive REPLs, or anything on screen. Three modes: browser (chromux/CDP, fast, DOM-level), computer (MCP computer-use, screenshot + pixel clicks, any app), and cli (tmux, send-keys + capture-pane for interactive terminals). Auto-selects mode or accepts --browser / --computer / --cli override. Use when asked to "qa", "QA", "test this site", "test this app", "find bugs", "test and fix", "fix what's broken", "dogfood", "exploratory test", "bug hunt", "QA this app", "사이트 테스트", "앱 테스트", "브라우저 QA", "화면 보고 테스트해줘", "네이티브 앱 테스트", "screen test". Three tiers: Quick (critical/high only), Standard (+ medium), Exhaustive (+ cosmetic). Produces before/after health scores, fix evidence, and a ship-readiness summary.
allowed-tools
Bash, Read, Write, Edit, Glob, Grep, Agent, AskUserQuestion, mcp__computer-use__screenshot, mcp__computer-use__zoom, mcp__computer-use__left_click, mcp__computer-use__right_click, mcp__computer-use__double_click, mcp__computer-use__triple_click, mcp__computer-use__type, mcp__computer-use__key, mcp__computer-use__scroll, mcp__computer-use__mouse_move, mcp__computer-use__left_click_drag, mcp__computer-use__computer_batch, mcp__computer-use__open_application, mcp__computer-use__request_access, mcp__computer-use__list_granted_applications, mcp__computer-use__cursor_position, mcp__computer-use__wait, mcp__computer-use__read_clipboard, mcp__computer-use__write_clipboard
validate_prompt
Health score must be computed (0-100 weighted average). Every issue must have at least one screenshot as evidence. Each fix must be a separate atomic commit…

/qa: Plan -> Test -> Fix -> Verify

You are a QA engineer AND a bug-fix engineer. Test applications like a real user — click everything, fill every form, check every state. When you find bugs, fix them in source code with atomic commits, then re-verify. Produce a structured report with before/after evidence.


Phase 0: Analyze Target & Select Mode

0.1 Parse User Request
ParameterDefaultOverride example
Target(required)URL, app name, CLI command, or "current branch"
Modeauto-detect--browser, --computer, --cli
TierStandard--quick, --exhaustive
Report-onlyfalse--report-only (no fixes)
Output dir.qa-reports/Output to /tmp/qa
ScopeFull appFocus on the billing page
0.2 Auto-Select Mode
SignalModeWhy
URL provided (http/https/localhost)browserWeb app, CDP gives DOM access
On feature branch, no URLbrowser (diff-aware)Verify branch changes locally
Native app name (Slack, Notes, Figma)computerNot a web app
Electron appcomputerDesktop app, even if web-based
CLI command, REPL, or interactive terminalcliNeeds tmux send-keys + capture-pane
--browser flagbrowserUser override
--computer flagcomputerUser override
--cli flagcliUser override
AmbiguousAskUserQuestionLet user decide
0.3 Setup Mode

Browser mode: Read references/browser-mode.md for chromux setup and interaction patterns.

Computer mode: Read references/computer-mode.md for MCP computer-use setup and interaction patterns.

CLI mode: Read references/cli-mode.md for tmux setup and interaction patterns.

0.4 Clean Working Tree (if fixing code)

If NOT --report-only and source code exists:

bash
git status --porcelain

If dirty, use AskUserQuestion: commit / stash / abort.

0.5 Create Output Directories
bash
mkdir -p .qa-reports/screenshots

Phase 1: Test Plan

Before touching the app, create a structured test plan. This ensures systematic coverage instead of random clicking.

1.1 Gather Context

If diff-aware (feature branch, no URL):

bash
git diff main...HEAD --name-only
git log main..HEAD --oneline

Identify affected pages/routes from changed files.

If URL or app provided:

  • Navigate to the app (using the selected mode's tools)
  • Take an initial screenshot
  • Map the navigation structure: menus, tabs, sidebar, main content areas
1.2 Generate Test Plan

Create a test plan covering:

markdown
## Test Plan

### Target
- App: {name/URL}
- Mode: browser / computer
- Tier: quick / standard / exhaustive
- Scope: {full app or specific area}

### Screens to Test (priority order)
1. {Screen name} — {why: core feature / changed in diff / user-specified}
2. {Screen name} — {why}
3. ...

### Test Cases per Screen
For each screen, list what to verify:
- [ ] Page loads without errors
- [ ] Interactive elements respond (buttons, links, forms)
- [ ] Form validation works (empty, invalid, edge cases)
- [ ] Navigation in/out works
- [ ] Visual layout looks correct
- [ ] Empty/loading/error states handled

### Auth / Setup Required
- {Any login, data seeding, or preconditions}

### Out of Scope
- {What we're NOT testing and why}
1.3 Show Plan to User

Present the test plan briefly. For --quick mode, skip user approval and execute immediately. For standard/exhaustive, give the user a chance to adjust scope before proceeding.


Phase 2: Orient

Execute the first part of the test plan — get a map of the application.

  1. Navigate to the starting point
  2. Take initial screenshot (save as evidence)
  3. Identify framework (Next.js, Rails, SPA, native, etc.)
  4. Map navigation structure
  5. Note current state (logged in? which page?)

Phase 3: Explore & Document

Visit screens systematically in test plan order. At each screen:

  1. Navigate to the screen
  2. Take screenshot (save as evidence)
  3. Run the per-screen checklist from references/issue-taxonomy.md:
    • Visual scan
    • Interactive elements
    • Forms
    • Navigation
    • States (empty, loading, error, overflow)
    • Scroll / below-the-fold content
    • Console errors (browser mode) or visual errors (computer mode)
  4. Document issues immediately — don't batch them

Evidence collection:

  • Interactive bugs: screenshot before + after the action, write repro steps
  • Static bugs: single screenshot + zoom into affected area, describe what's wrong

Write each issue to the report using the template from templates/qa-report-template.md.

Quick mode: Only test the main screen + top 3-5 navigation targets. Skip the per-screen checklist.


Phase 4: Health Score

Compute the baseline health score using the rubric at the bottom of this file.


Phase 5: Triage

Sort issues by severity, decide which to fix based on tier:

  • Quick: Critical + high only. Mark medium/low as "deferred."
  • Standard: Critical + high + medium. Mark low as "deferred."
  • Exhaustive: Fix all, including cosmetic/low.

If --report-only or no source code: Skip Phase 6, go to Phase 7.


Show full SKILL.md (348 more words)Show less

Phase 6: Fix Loop

For each fixable issue, in severity order:

6a. Locate Source

Use Grep/Glob to find the responsible source file(s).

6b. Fix

Make the minimal fix. Do NOT refactor surrounding code.

6c. Commit
bash
git add <only-changed-files>
git commit -m "fix(qa): ISSUE-NNN — short description

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>"

One commit per fix. Never bundle.

6d. Re-test

Navigate back to affected screen, take before/after screenshots.

6e. Classify
  • verified: re-test confirms fix works
  • best-effort: fix applied but couldn't fully verify
  • reverted: regression detected -> git revert HEAD -> mark as "deferred"
6f. Self-Regulation

Every 5 fixes (or after any revert), compute WTF-likelihood:

Start at 0%
Each revert:                +15%
Each fix touching >3 files: +5%
After fix 15:               +1% per additional fix
All remaining Low severity: +10%
Touching unrelated files:   +20%

If WTF > 20%: STOP. Show progress. Ask user whether to continue. Hard cap: 50 fixes.


Phase 7: Final QA

  1. Re-test all affected screens
  2. Compute final health score
  3. If final score is WORSE than baseline: WARN prominently

Phase 8: Report

Write report to .qa-reports/qa-report-{target}-{YYYY-MM-DD}.md using the template.

Include:

  • Test plan summary (screens tested, mode used)
  • Per-issue details with screenshot evidence
  • Fix status: verified / best-effort / reverted / deferred
  • Health score delta: baseline -> final
  • Ship readiness one-liner

Health Score Rubric

Each category 0-100, then weighted average.

CategoryWeightScoring
Console/Errors15%0 errors=100, 1-3=70, 4-10=40, 10+=10
Navigation10%All works=100, each broken path -15
Visual10%Start 100, critical -25, high -15, med -8, low -3
Functional20%Same deduction scale
UX15%Same deduction scale
Performance10%Same deduction scale
Content5%Same deduction scale
Accessibility15%Same deduction scale

score = sum(category_score * weight)


Important Rules

  1. Plan first, test second. Always create a test plan before interacting with the app.
  2. Repro is everything. Every issue needs at least one screenshot.
  3. Verify before documenting. Retry once to confirm it's reproducible.
  4. Never include credentials. Write [REDACTED] for passwords.
  5. Write incrementally. Append each issue as you find it.
  6. Test like a user. Use realistic data. Complete workflows end-to-end.
  7. Depth over breadth. 5-10 well-documented issues > 20 vague descriptions.
  8. One commit per fix. Never bundle multiple fixes.
  9. Revert on regression. git revert HEAD immediately if a fix makes things worse.
  10. Self-regulate. Follow the WTF-likelihood heuristic.
  11. Mode-specific rules are in references/. Read the relevant mode file for interaction patterns.

© team-attention, 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 7 other files (references) in skills/qa of team-attention/hoyeon.

  • SKILL.md
  • references/browser-mode.md
  • references/browser-verify.md
  • references/cli-mode.md
  • references/computer-mode.md
  • references/issue-taxonomy.md
  • references/spec-drift-check.md
  • templates/qa-report-template.md

Open the folder on GitHubat commit 7cff032

Compare with similar skills

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.

QA compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
QA this skillteam-attention/hoyeon173—~2.6kAutomated safety check: NotesMIT
Open Computer UseiFurySt/open-codex-computer-use2.4k—~1.5kAutomated safety check: PassMIT
Interceptor BrowserHacker-Valley-Media/Interceptor519—~4.8kAutomated safety check: PassCustom licence
Interceptor iOSHacker-Valley-Media/Interceptor519—~1.9kAutomated safety check: PassCustom licence
Altic Studioaltic-dev/altic-mcp174—~3.3kAutomated safety check: PassApache-2.0
Drive Screencoleam00/skills674—~5.4kAutomated safety check: PassMIT

Similar skills

  • Open Computer Use

    iFurySt/open-codex-computer-use

    Platform-neutral guidance for using Open Computer Use, the open-source Computer Use MCP server and CLI for macOS, Linux, and Windows.

    2.4k GitHub stars~1.5k tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed
  • Interceptor Browser

    Hacker-Valley-Media/Interceptor

    Drive a signed-in Chrome / Brave / Safari session via the interceptor CLI: open/read pages, click, type, inspect DOM/text/network, automate rich browser editors and scene graphs, capture…

    519 GitHub stars~4.8k tokensUpdated 7 days ago
    Productivity & AutomationAuto-check passed
  • Interceptor iOS

    Hacker-Valley-Media/Interceptor

    Drive any installed app on an owned, unlocked, Developer-Mode iPhone via interceptor ios : ref-tagged element trees, deterministic coordinate taps (click), reliable text entry (type/keys), scroll…

    519 GitHub stars~1.9k tokensUpdated 7 days ago
    Productivity & AutomationAuto-check passed
  • Altic Studio

    altic-dev/altic-mcp

    macOS automation skill for AppleScript actions and Chrome browser control via MCP CDP tools.

    174 GitHub stars~3.3k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Drive Screen

    coleam00/skills

    Take real control of the desktop - list and focus windows, type, paste, click, scroll, and screenshot - on Windows, macOS or Linux, and drive other coding-agent sessions running in terminals.

    674 GitHub stars~5.4k tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed
  • Browser MCP Agent

    antibrow/anti-detect-browser-skills

    Give an AI agent its own real browser over MCP tool calls - launch, navigate, click, fill, screenshot, extract text, run JS - with a kernel-level real-device fingerprint and a persistent profile, so…

    17 GitHub starsUsed in 1 repo~4.2k tokens
    Productivity & AutomationAuto-check: warnings

More from team-attention/hoyeon

All 36 skills in this repo
  • Skill Session Analyzer

    team-attention/hoyeon

    This skill should be used when the user asks to "analyze session", "evaluate skill execution", "check session logs", provides a session ID with a skill path, or wants to verify that a skill executed…

    173 GitHub stars~1.9k tokensUpdated 4 mo ago
    Auto-check: notes
  • Browser Work

    team-attention/hoyeon

    Recon-first browser automation. An agent skill from team-attention/hoyeon.

    173 GitHub stars~1.9k tokensUpdated 4 mo ago
    Auto-check passed
  • Check

    team-attention/hoyeon

    This skill should be used when the user wants to verify their changes before pushing, or update the project's rule checklists.

    173 GitHub stars~1.8k tokensUpdated 4 mo ago
    Auto-check: notes
  • Compound

    team-attention/hoyeon

    This skill should be used when the user says "/compound", "compound this", "document learnings", "save what we learned", or after completing a PR.

    173 GitHub stars~1.1k tokensUpdated 4 mo ago
    Auto-check: notes
  • Tech Decision

    team-attention/hoyeon

    This skill should be used when the user asks about "technical decision", "what to use", "A vs B", "comparison analysis", "library selection", "architecture decision", "which one to use"…

    173 GitHub stars~1.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Analyze Oss

    team-attention/hoyeon

    Analyze an open-source project from What/Why perspective (not how-it's-implemented).

    173 GitHub stars~2k tokensUpdated 4 mo ago
    Auto-check passed

Questions about QA

What does QA do?

Systematically QA test any application — web apps, native macOS apps, Electron apps, CLI tools, interactive REPLs, or anything on screen. QA is an agent skill from team-attention/hoyeon. Systematically QA test any application — web apps, native macOS apps, Electron apps, CLI tools, interactive REPLs, or anything on screen.

When should I use QA?

QA fits situations like: fix whats broken; exploratory test.

How do I install QA in Claude Code?

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

How do I install QA in Codex?

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

Can I use 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 team-attention/hoyeon --skill 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/qa, .gemini/skills/qa, .github/skills/qa and .opencode/skills/qa in your project.

What does QA need to run?

Going by SKILL.md and its folder, QA needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep, Agent, AskUserQuestion, mcp__computer-use__screenshot, mcp__computer-use__zoom, mcp__computer-use__left_click, mcp__computer-use__right_click, mcp__computer-use__double_click, mcp__computer-use__triple_click, mcp__computer-use__type, mcp__computer-use__key, mcp__computer-use__scroll, mcp__computer-use__mouse_move, mcp__computer-use__left_click_drag, mcp__computer-use__computer_batch, mcp__computer-use__open_application, mcp__computer-use__request_access, mcp__computer-use__list_granted_applications, mcp__computer-use__cursor_position, mcp__computer-use__wait, mcp__computer-use__read_clipboard, mcp__computer-use__write_clipboard.

Does QA access the network?

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

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

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

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.2k tokens, read only when the agent opens those files.

What are the alternatives to QA?

Skills that share tags, products or a category with QA: Open Computer Use (iFurySt/open-codex-computer-use, 2.4k stars), Interceptor Browser (Hacker-Valley-Media/Interceptor, 519 stars), Interceptor iOS (Hacker-Valley-Media/Interceptor, 519 stars) and Altic Studio (altic-dev/altic-mcp, 174 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains QA?

team-attention (a GitHub organization) maintains it in team-attention/hoyeon, which has 173 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on May 21, 2026.

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