Sub-Agents

pokayokay orchestrates 13 specialized agents, each tuned to a specific role in the development lifecycle. Agents are dispatched automatically based on the current task.

Agent Model Purpose
yokay-auditor Sonnet L0-L5 completeness scanning
yokay-brainstormer Sonnet Task refinement and disambiguation
yokay-browser-verifier Sonnet UI verification via browser automation
yokay-explorer Haiku Fast codebase search and discovery
yokay-fixer Sonnet Auto-retry test failures
yokay-implementer Sonnet TDD implementation
yokay-planner Sonnet PRD analysis and task decomposition
yokay-reviewer Sonnet Code review
yokay-security-scanner Sonnet OWASP vulnerability scanning
yokay-spec-reviewer Sonnet Spec compliance verification
yokay-quality-reviewer Sonnet Code quality analysis
yokay-spike-runner Sonnet Time-boxed investigations
yokay-test-runner Haiku Test execution and reporting

Two-Stage Review Pipeline

Every implementation goes through a two-stage review before it is considered complete. This catches issues that a single reviewer would miss.

1
Spec Review

yokay-spec-reviewer verifies the implementation matches the original task requirements and acceptance criteria.

2
Quality Review

yokay-quality-reviewer checks code quality, patterns, naming, error handling, and maintainability.

Brainstorm Gate

When a task description is ambiguous, the yokay-brainstormer agent is automatically invoked before implementation begins. It refines the task into clear, actionable steps and surfaces questions that need answers. This prevents wasted implementation cycles on misunderstood requirements.

Browser Verification

For tasks that involve UI changes, yokay-browser-verifier launches headless browser automation to verify the rendered output matches expectations. It takes screenshots, checks for visual regressions, and validates interactive behavior.

Agents vs Skills

Agents are persistent sub-processes with their own context window and model allocation. They can perform multi-step reasoning and maintain state across a task. Skills are stateless templates that inject domain knowledge into the current context without spawning a separate process. Skills are lighter weight and used for well-defined patterns.