界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

QA

QA

【数据与研究】Diff-aware QA routing — analyze what changed and route to the right test strategy. USE WHEN qa, what should I test, check my changes, run qa, review changes, diff analysis, what broke, smoke test, test routing.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: QA description: Diff-aware QA routing — analyze what changed and route to the right test strategy. USE WHEN qa, what should I test, check my changes, run qa, review changes, diff analysis, what broke, smoke test, test routing.

QA

Diff-aware quality assurance. Analyzes git diffs, classifies file changes by category (style, component, API, data, config, test, docs, infra), and routes to the appropriate test/validation strategy. Smart QA — test what matters, skip what doesn't.

Customization

Before executing, check for user customizations at: ~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/QA/

If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.

Voice Notification

When executing a workflow, do BOTH:

  1. Send voice notification:

    curl -s -X POST http://localhost:8888/notify \
      -H "Content-Type: application/json" \
      -d '{"message": "Running the WORKFLOWNAME workflow in the QA skill to ACTION"}' \
      > /dev/null 2>&1 &
    
  2. Output text notification:

    Running the **WorkflowName** workflow in the **QA** skill to ACTION...
    

Workflow Routing

WorkflowTriggerFile
Analyze"/qa", "what should I test", "check my changes", "diff analysis"Workflows/Analyze.md
QuickCheck"quick check", "smoke test", "quick qa", "sanity check"Workflows/QuickCheck.md

Architecture

Two-stage process:

  1. Script (Tools/DiffAnalyzer.ts) — deterministic diff parsing, file classification, route generation
  2. AI orchestration — interpret routes, execute checks, report results

Tool Reference

Path: ~/.claude/skills/QA/Tools/DiffAnalyzer.ts

Usage:

# Diff against main (default)
bun ~/.claude/skills/QA/Tools/DiffAnalyzer.ts

# Diff against specific branch
bun ~/.claude/skills/QA/Tools/DiffAnalyzer.ts --branch develop

# Staged changes only
bun ~/.claude/skills/QA/Tools/DiffAnalyzer.ts --staged

# Explicit file list
bun ~/.claude/skills/QA/Tools/DiffAnalyzer.ts --files "src/api.ts,src/styles.css"

Output: JSON with file classifications, diff stats, and QA routing recommendations.

File Categories

CategoryMatchesQA Strategy
styleCSS, SCSS, Tailwind configVisual regression — screenshot before/after
componentTSX, JSX, Vue, SvelteComponent render check — verify UI
apiRoute handlers, controllers, middlewareEndpoint validation — test request/response
dataMigrations, schemas, seeds, PrismaMigration safety — check destructive ops
configJSON, YAML, TOML, env filesConfig validation — syntax and required fields
test.test., .spec., testsTest-only — run modified tests
docsMarkdown, README, CHANGELOGDocumentation review — link and accuracy check
infraDockerfile, CI/CD, deploy configsInfrastructure review — verify deploy config

Diff Size Routing

SizeLines ChangedStrategy
Small<50Quick smoke test — focused verification
Medium50-199Standard testing — run related tests
Large200+Full suite — comprehensive check recommended

Examples

Example 1: Before shipping a feature

User: "/qa"
→ Runs DiffAnalyzer.ts against main
→ "12 files changed: 3 component, 2 api, 1 style, 6 test"
→ Routes: visual check for style, endpoint validation for API, run component tests
→ Executes each route, reports results

Example 2: Quick sanity check

User: "quick check"
→ Runs DiffAnalyzer.ts --staged
→ "2 files changed: 1 config, 1 api (small diff)"
→ Quick smoke test: validate config syntax, curl API endpoint

Example 3: Explicit files

User: "qa these files: src/auth.ts, src/auth.test.ts"
→ Runs DiffAnalyzer.ts --files "src/auth.ts,src/auth.test.ts"
→ Routes: API validation for auth.ts, run auth.test.ts

Integration

  • Ship skill: Run /qa before /ship to verify changes
  • Evals: QA routes map to Evals grader types (code_based for config, llm_rubric for docs)
  • Browser: Visual regression checks use Browser skill for screenshots
我的收藏