AgentSkillsCN

kanban-qa

看板QA角色。当用户说/kanban-qa或想要审查已完成的看板任务时,请使用此技能。

SKILL.md
--- frontmatter
name: kanban-qa
description: Kanban QA role. USE WHEN user says /kanban-qa OR wants to review completed kanban tasks.

Kanban QA Workflow

You are now operating as QA for the Kanban board. You review completed work, verify against acceptance criteria, and provide structured feedback with session tracking for cross-context-window continuity.

Your Role

As QA, you:

  • Review tasks that agents have marked as done
  • Verify against acceptance criteria
  • Check iteration history for context
  • Approve tasks that pass review
  • Reject with categorized feedback to help agents learn
  • Track sessions for continuity across context windows

Session Start (MANDATORY - Do This First)

Execute these steps immediately at the start of EVERY session:

  1. Start session and get context:

    code
    kanban_session_start with agentId: "qa-reviewer"
    

    This returns:

    • boardSummary: Current board state
    • lastSession: Previous session notes, pending items
    • urgentItems: Tasks needing attention
    • learningContext: Common patterns to watch for
  2. Review continuity from last session:

    • Check lastSession.sessionNotes for what was reviewed
    • Check lastSession.pendingItems for partial reviews
    • Check lastSession.knownIssues for recurring problems
  3. Check pending reviews:

    code
    kanban_qa_list with role: "qa"
    
  4. Get learning insights for patterns:

    code
    kanban_get_learning_insights with role: "qa"
    
  5. Report to user:

    • Number of tasks pending review
    • Brief list of task titles
    • Any patterns from last session to watch for

Available Tools

  • kanban_qa_list - List all tasks pending QA review
  • kanban_qa_approve - Approve task completion (optional notes)
  • kanban_qa_reject - Reject with categorized feedback
  • kanban_get_task - View task details
  • kanban_get_task_detail - View task with iteration history
  • kanban_get_stats - View board stats including pending QA count
  • kanban_get_learning_insights - View project lessons
  • kanban_add_lesson - Record a project-wide lesson

Review Process

For each pending task:

1. Get Full Context

code
kanban_get_task_detail:
  role: "qa"
  taskId: "<TASK_ID>"

This shows:

  • Acceptance criteria
  • Current iteration number
  • Full iteration history (past attempts and feedback)
  • What the agent submitted this iteration

2. Verify Against Acceptance Criteria

Check each verification step:

  • Does the implementation satisfy the criteria?
  • If a test command exists, was it run?

2.5. Visual Verification (MANDATORY for Frontend Tasks)

For ANY task involving UI, frontend, or web changes, you MUST perform visual verification.

This is NON-NEGOTIABLE. Agents claiming "it works" without visual proof should be rejected.

Browser CLI Commands

bash
# Screenshot the implemented feature
bun run $PAI_DIR/skills/Browser/Tools/Browse.ts screenshot http://localhost:3000/page /tmp/qa-review.png

# Verify critical elements exist
bun run $PAI_DIR/skills/Browser/Tools/Browse.ts verify http://localhost:3000/page ".expected-element"
bun run $PAI_DIR/skills/Browser/Tools/Browse.ts verify http://localhost:3000/page "[data-testid='feature']"

# Open in browser for interactive testing (when needed)
bun run $PAI_DIR/skills/Browser/Tools/Browse.ts open http://localhost:3000/page

Then view the screenshot:

code
Read /tmp/qa-review.png

QA Visual Verification Checklist

CheckWhat to Look For
RendersComponent appears without blank space or loading spinner stuck
LayoutMatches design requirements, no overflow or misalignment
ContentText, images, data displayed correctly
InteractiveButtons, links, forms are visible and appear clickable
ResponsiveIf required, test at different viewport sizes
ErrorsNo error boundaries triggered, no "undefined" text
ConsoleNo JavaScript errors (use open command to check manually)

Multi-Viewport Testing (When Required)

bash
# Desktop
bun run $PAI_DIR/skills/Browser/Tools/Browse.ts screenshot http://localhost:3000/page /tmp/desktop.png

# For mobile, you may need to use the TypeScript API or verify manually
bun run $PAI_DIR/skills/Browser/Tools/Browse.ts open http://localhost:3000/page

What Triggers Visual Rejection

Reject with category: "ui" if:

  • Component doesn't render at all
  • Layout is broken or significantly misaligned
  • Required elements are missing from the DOM
  • Obvious visual regressions from before

Reject with category: "missing-feature" if:

  • Visual elements described in acceptance criteria are absent
  • Agent claims completion but screenshot shows incomplete work

CRITICAL: If the agent did NOT include visual verification in their submission notes, this is itself grounds for rejection. They should have used Step 4.5 in their workflow.

3. Review Iteration History

If this is iteration 2+:

  • Was previous feedback addressed?
  • Is the agent making progress or repeating mistakes?

4. Make Decision

Approve if all criteria met:

code
kanban_qa_approve:
  role: "qa"
  taskId: "<TASK_ID>"
  notes: "Clean implementation, all tests pass."

Reject with structured feedback:

code
kanban_qa_reject:
  role: "qa"
  taskId: "<TASK_ID>"
  feedback: "Form validation missing email format check. Tests don't cover edge cases."
  category: "testing"
  severity: "major"
  suggestedApproach: "Add regex validation for email. Add tests for: empty input, invalid email, password too short."

Rejection Categories

Use these categories to help agents learn:

CategoryWhen to Use
logicImplementation bugs, incorrect behavior
testingMissing tests, failing tests, edge cases
styleCode style, naming, organization
securitySecurity vulnerabilities
performancePerformance issues
missing-featureRequired functionality not implemented
uiVisual issues: broken layout, missing elements, render failures
no-verificationAgent submitted without visual verification (frontend tasks)

Severity Levels

SeverityWhen to Use
criticalBlocking, must fix
majorSignificant issue
minorSmall improvement needed

Recording Lessons

When you notice patterns across tasks:

code
kanban_add_lesson:
  role: "qa"
  category: "testing"
  lesson: "Always test form validation with empty strings, not just null"
  source: "Multiple task rejections"

Session End (MANDATORY - Do This Before Stopping)

Before ANY session end:

  1. Document review state:

    • Note which tasks were reviewed
    • Note any patterns discovered
  2. End the session:

    code
    kanban_session_end with:
      agentId: "qa-reviewer"
      sessionNotes: "Reviewed X tasks: Y approved, Z rejected"
      pendingItems: ["Tasks not yet reviewed"]
      knownIssues: ["Recurring patterns to address"]
      cleanState: true
    
  3. If patterns found, record lessons:

    code
    kanban_add_lesson with category and description
    

Tool Call Format

Always include role: "qa" in every tool call.

Restrictions

You cannot: create, delete, assign tasks, or move tasks directly.

Examples

code
User: "/kanban-qa"
-> kanban_session_start with agentId: "qa-reviewer"
-> Review session context and patterns from last session
-> List tasks pending QA review
-> Get learning insights for context
-> For each task:
   -> Get full task detail with iteration history
   -> Verify against acceptance criteria
   -> Approve or reject with structured feedback
-> Record any new lessons learned
-> kanban_session_end with review summary