mcpField
Q
qa-team

qa-team

github.com/laststanceTesting & quality144 installsUpdated 2w ago
Repository

About qa-team

qa-team is a skill that organizes software QA through a lead and five specialist perspectives, covering visual, functional, accessibility, edge-case, and UX checks. It defines platform-specific workflows, report artifacts, and a scored final quality gate.

Key features

  1. 01Coordinates five QA specialist perspectives
  2. 02Detects platform and selects test tools
  3. 03Checks visual, functional, HIG, edge, and UX quality
  4. 04Produces individual reports and aggregate verdict

Use cases

  1. 01Run a structured QA session for a web app
  2. 02Verify platform-specific application behavior
  3. 03Aggregate specialist findings into a release gate

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laststance/skills --skill qa-team

After installing, type/qa-teamin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
qa-scoring-rubric.md
scripts/
qa-report-template.md
workflows/
electron-workflow.md
macos-workflow.md
mobile-workflow.md
web-workflow.md

Details

From the project README

QA Agent Team

Codex Compatibility

When running this skill in Codex, translate Claude Code-only primitives before acting: AskUserQuestion -> chat/request_user_input, TodoWrite -> update_plan, Task/TaskCreate/TeamCreate/SendMessage -> spawn_agent/send_input/wait_agent when available and allowed, and EnterPlanMode/ExitPlanMode -> a concise chat plan plus explicit approval. Resolve Read/Write/Edit/Bash/WebSearch/WebFetch to Codex file/shell/web tools, and map ~/.claude/... paths to ~/.agents/... or ~/.codex/... unless the task explicitly targets Claude Code.

Cursor Compatibility

When running this skill in Cursor Agent, translate Claude Code-only primitives before acting: AskUserQuestion -> AskQuestion; TodoWrite -> Cursor TodoWrite or an equivalent checklist; Task/TaskCreate/TeamCreate/SendMessage/multi-agent flows -> Cursor Task (subagents), parallel Tasks, or run_in_background when allowed (TeamCreate/SendMessage may have no exact match); EnterPlanMode/ExitPlanMode -> Plan mode (SwitchMode / CreatePlan) plus explicit user approval. Resolve Read/Write/Edit/StrReplace/Bash/web/search/MCP via Cursor Composer or Agent equivalents. MCP names written as mcp__server__tool typically map to call_mcp_tool with configured server identifiers. Map ~/.claude/... to ~/.cursor/skills/, .cursor/skills/, and .cursor/rules/ unless the task explicitly targets Claude Code.

Comprehensive QA verification team with 5 specialist perspectives + 1 team lead.

Team Composition

RoleModelAgent/Skill BasePerspective
qa-leadopusquality-engineerOrchestration, aggregation, final gate
visual-testeropusgui-phd-*Layout, responsive, rendering
functional-testeropusfeature-validator (enhanced)User flows + Impact Propagation
hig-testeropusweb-design-guidelinesApple HIG, WCAG AA+
edge-case-testeropusquality-engineerLong text, 100+ records, overflow
ux-testeropusph-quality-gateDark-on-dark, missing feedback, inconsistency

Activation Flow

Step 1: Prerequisites
  1. Ensure dev server / app is running (ask user if unclear)
  2. mkdir -p claudedocs/qa/screenshots
  3. Detect platform from package.json (or --platform flag):
    • Has "electron" → Electron
    • Has expo / app.json → iOS/Expo
    • Has .xcodeproj / Package.swift macOS target → macOS
    • Default → Web
Step 2: Create Agent Team

Use TeamCreate tool with team_name "qa-team" and description "QA verification team".

Do NOT do QA work yourself. Only create the team and let teammates work.

Then spawn 6 teammates using the Task tool with team_name: "qa-team":

qa-lead (subagent_type: "general-purpose"):

  • Read ~/.claude/agents/quality-engineer.md
  • Create task list with 8 tasks (see dependency graph below)
  • Wait for all 5 reports, then aggregate into claudedocs/qa/qa-summary.md
  • Apply Final Composite Gate from scoring rubric

visual-tester (subagent_type: "general-purpose"):

  • Read ~/.claude/agents/gui-phd-web-electron.md (or gui-phd-mobile/gui-phd-macos per platform)
  • Execute RALPH protocol screenshot verification at 95% threshold
  • Report to claudedocs/qa/qa-visual-integrity.md

functional-tester (subagent_type: "general-purpose"):

  • Read ~/.claude/agents/feature-validator.md
  • Execute 4-Phase Impact Propagation Protocol
  • Report to claudedocs/qa/qa-functional.md

hig-tester (subagent_type: "general-purpose"):

  • Read CLAUDE.md Design Policies section
  • Check Typography, Tap Areas, Colors, Spacing, Motion, Corner Radius
  • Report to claudedocs/qa/qa-hig-compliance.md

edge-case-tester (subagent_type: "general-purpose"):

  • Read ~/.claude/agents/quality-engineer.md
  • Test empty/long text, 100+ records, boundary values, overflow
  • Report to claudedocs/qa/qa-edge-cases.md
  • blockedBy: functional-tester task

ux-tester (subagent_type: "general-purpose"):

  • Apply PH Quality Gate Visual axis (V1-V5, /100)
  • Report to claudedocs/qa/qa-ux-sensibility.md
  • blockedBy: visual-tester task
Step 3: Tool Selection by Platform
PlatformPrimary Tool
Webplaywright-cli (open --headed, snapshot, screenshot, click, fill)
Electron/qa-electron skill (playwright-cli attached to Electron CDP)
iOS/Expomcp__ios-simulator__*
macOSmcp__mac-mcp-server__*

Before any browser interaction (Web or Electron): invoke /dnd to load the drag-and-drop verification protocol. Ref-based drag reports false success on dnd-kit and similar libraries — load this preemptively, even when DnD is not yet known to be involved.

Step 4: Enter Delegate Mode

After spawning all teammates, tell the user to press Shift+Tab to enter delegate mode. The lead should coordinate — YOU should not write any QA reports yourself.

Step 5: Monitor & Aggregate
  • qa-lead waits for all 5 reports in claudedocs/qa/
  • Computes composite score using scoring rubric weights
  • Generates claudedocs/qa/qa-summary.md with final verdict
Step 6: Final Quality Gate
ComponentWeightPASS Threshold
Visual25%95% Triple-Criteria
Functional30%95% pass rate, P0=0
HIG15%80/100 composite
Edge Cases15%0 crash
UX Sensibility15%PH Visual 75/100, critical=0

>= 85: PASS / 65-84: CONDITIONAL PASS / < 65: FAIL

Task Dependency Graph

Task 1: [qa-lead] Platform Detection & Test Plan
  ├── Task 2: [visual-tester]     Visual Integrity         (parallel)
  ├── Task 3: [functional-tester] Functional Correctness   (parallel)
  ├── Task 4: [hig-tester]        Apple HIG Compliance     (parallel)
  ├── Task 5: [edge-case-tester]  Edge Cases               (blockedBy: 3)
  ├── Task 6: [ux-tester]         UX Sensibility           (blockedBy: 2)
  ├── Task 7: [qa-lead]           Report Aggregation       (blockedBy: 2,3,4,5,6)
  └── Task 8: [qa-lead]           Final Quality Gate       (blockedBy: 7)

Output Structure

claudedocs/qa/
├── qa-test-plan.md              # Platform + test plan
├── qa-visual-integrity.md       # Visual report
├── qa-functional.md             # Functional report (with impact verification)
├── qa-hig-compliance.md         # HIG report
├── qa-edge-cases.md             # Edge case report
├── qa-ux-sensibility.md         # UX sensibility report
├── qa-summary.md                # Aggregated final verdict
└── screenshots/
    ├── visual_*.png
    ├── func_*.png / func_*_impact_*.png
    ├── hig_*.png
    ├── edge_*.png
    └── ux_*.png

Flags

FlagEffect
--platform <type>Force platform (skip auto-detection)
--skip <perspective>Skip one or more perspectives
--quickOnly visual + functional (3 teammates instead of 6)

References

  • references/qa-scoring-rubric.md — Detailed scoring criteria per perspective
  • workflows/web-workflow.md — Web platform test workflow
  • workflows/electron-workflow.md — Electron test workflow
  • workflows/mobile-workflow.md — iOS/Expo test workflow
  • workflows/macos-workflow.md — macOS test workflow

Completion Criteria

QA session is complete when:

  • All 5 individual reports exist with verdicts
  • All reports have supporting screenshots
  • Composite score calculated in qa-summary.md
  • Final verdict rendered (PASS / CONDITIONAL PASS / FAIL)

Comments

Markdown supported