Agent skill
qa-workflow
Complete QA Validator workflow orchestration. References specialized skills for each validation step. Load at session startup for full protocol.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/qa-workflow-feliperyba-ralph-orchestra
SKILL.md
QA Validator Workflow
"Orchestration layer for QA validation - delegate to specialized skills for each step."
Startup Workflow
-
Load
Skill("qa-router")to understand your skill set -
Load
Skill("threejs-builder")to understand your Three.js skill set -
Load
Skill("qa-validation-workflow")to understand validation loops -
Process pending messages - IMPORTANT: Messages are in the master branch, accessed via relative path like
../agentic-threejs/.claude/session/messages/qa/. Consolidate all the .json messages requests and delete the files before continue. Update watchdog status. -
Read current-task-qa.json - IMPORTANT: State file is in the master branch, accessed via relative path like
../agentic-threejs/.claude/session/current-task-qa.json. Reason about the message request and define your next action
State File Status Updates
Update current-task-qa.json immediately when status changes:
| Event | Update State File | Send Status Update to Watchdog |
|---|---|---|
| Starting validation | state.status = "working" + state.currentTaskId = "{taskId}" |
Send-StatusUpdate -From "qa" -Status "working" -CurrentTask "{taskId}" |
| Validation PASSED | Include in bug_report message (PM sets passed in prd.json) | - |
| Validation FAILED | Include bugs in bug_report message (PM updates prd.json) | - |
| Finishing | state.status = "idle" |
Send-StatusUpdate -From "qa" -Status "idle" |
Validation Workflow
PRE-REQUISITE: You should already be in the correct worktree directory before starting this workflow!
-
UPDATE STATE FILE (MANDATORY - First step)
- Edit
current-task-qa.json:state.status = "working"state.currentTaskId = "{taskId}"state.lastSeen = "{ISO_TIMESTAMP}"
- Send status update to watchdog:
Send-StatusUpdate -From "qa" -Status "working" -CurrentTask "{taskId}"
- Edit
-
RUN VALIDATION FEEDBACK LOOPS
- Follow the guidelines of
qa-validation-workflowand proceed with steps
- Follow the guidelines of
-
TEST COVERAGE CHECK
Skill("qa-test-creation")- Check if tests exist for modified files- If tests missing: MUST invoke
test-creatorsub-agent before proceeding
-
IF BLOCKED
- Update state:
state.status = "awaiting_pm" - Send question to PM using the Write tool:
Write to: .claude/session/messages/pm/msg-pm-{timestamp}-001.json Content: { "id": "msg-pm-{timestamp}-001", "from": "qa", "to": "pm", "type": "question", "priority": "high", "payload": { "question": "How should I handle X?", "context": "Current situation..." }, "timestamp": "{ISO-8601-timestamp}", "status": "pending" }- Document blocker in task memory
- Exit and wait
- Update state:
-
TEST PASS - Commit everything and merge it to the
masterbranch -
TEST DO NOT PASS - Check your skills and decision tree
-
COMMIT - At the end of the task, commit all changes to the current branch
-
SEND TO PM
- Update state:
state.status = "idle",id = null - Send status update to watchdog:
Send-StatusUpdate -From "qa" -Status "idle" - Send completion message using the Write tool:
- EXIT
Quick Decision Tree
START VALIDATION
│
├─→ Tests missing? ──► Skill("qa-test-creation")
│
├─→ Run tests ─────────► Skill("qa-validation-workflow")
│ │
│ └─→ Tests fail? ──► Analyze (see Test Failure Decision Tree below)
│
├─→ Code quality check ──► Skill("qa-code-review")
│
├─→ Browser testing ────► Skill("qa-browser-testing")
│ └─► Choose sub-agent based on task type
│
└─→ Report result ─────► Skill("qa-reporting-bug-reporting")
Test Failure Decision Tree
TESTS FAIL
│
┌───────────────┴───────────────┐
│ │
Test Code Issue? Game Code Issue?
│ YES │ YES
▼ ▼
Fix and Re-run Create Bug Report
(QA can edit) (Return to Developer)
Exit Conditions
BEFORE exiting, you MUST:
- IF VALIDATION PASSES: Merge to main and push
- IF VALIDATION FAILS: Send bug_report to PM (no merge)
- Update state file with validation results
- Commit with
[ralph] [qa]prefix - Send result message to PM
- MANDATORY: Run server cleanup (shared-lifecycle)
Didn't find tool you were looking for?