From forge
Use when Forge begins quality assurance. QA engineer runs functional, visual, contract, regression, and edge-case tests against the spec.
npx claudepluginhub cjy5507/forge --plugin forgeThis skill uses the workspace's default tool permissions.
<Purpose>
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
Monitors deployed URLs for regressions in HTTP status, console errors, performance metrics, content, network, and APIs after deploys, merges, or upgrades.
Provides React and Next.js patterns for component composition, compound components, state management, data fetching, performance optimization, forms, routing, and accessible UIs.
<Use_When>
<Layer_Classification> QA agent is dispatched as layer2_subagent — process isolation from developers is critical to maintain independent verification.
Optional Analyst support: Analyst can augment QA with quality assessment — dead code detection, complexity hotspots, and pattern violations (see agents/analyst.md). QA decides whether to invoke Analyst based on project size and scope; skip for small projects, recommend for multi-module codebases. </Layer_Classification>
<Test_Budget> Tests must prove acceptance criteria, not the QA process. Inflated test files were a benchmark defect (codex-framework-benchmark-hard, 2026-04: forge produced 300 lines vs plain 169).
Hard rules:
wc -l test/**/* before any test addition. Record the baseline.If QA needs to exceed the budget, escalate to Lead Dev with the rationale before writing the tests, not after. </Test_Budget>
0. **Handoff Interview — QA Intake (tier-aware, see `references/handoff-interview.md`)** a. QA Engineer reads spec.md, components.md, contracts, Lead Dev's session handoff notes, and merged code (git log of Phase 4 work). b. At the top of the QA test plan, QA records any **blockers** (spec/impl mismatch, missing test criteria, contract/impl drift) and any **consequential assumptions**. Free-form bullets, no structured Q template. c. For each blocker, QA pings the owner directly (Lead Dev or CTO for implementation questions, PM for spec intent). No CEO triage hop. d. At `full` tier only, additionally write `.forge/handoff-interviews/qa.md` (phase gate enforces this). The test plan is the understanding record; no separate statement.Dispatch QA Engineer agent with context:
Functional Testing: a. Map every feature in spec.md to a test case b. For each feature:
Visual Testing: a. For each component in components.md:
Contract Testing: a. For each interface in .forge/contracts/:
Regression Testing: a. Run full test suite (unit + integration) b. Verify no previously passing tests now fail c. Verify no unintended side effects from merged PRs
Edge-Case Testing: a. Empty states: what happens with no data? b. Boundary values: min/max inputs, zero, negative c. Rapid interactions: double-click, spam submit d. Network conditions: slow response, timeout e. Authentication edge cases: expired token, missing auth
Issue Classification:
For each discovered issue, dispatch the bug-tracker agent to create a hole file
using the standard format HOLE-{NNN}-{slug}.md:
node scripts/forge-sync-traceability.mjs7b. Lesson Check + Extraction (harness learning):
a. Before testing, load relevant pattern lessons from ~/.claude/forge-lessons/ and .forge/lessons/
- Match lessons against current tech stack and project type
- Known bug patterns from past projects → add as extra test cases
b. After testing, if 3+ blockers found:
- Categorize blockers by root cause type
- If a category has 2+ blockers → create pattern lesson in .forge/lessons/
- See references/harness-learning.md for format
Gate Decision:
node scripts/forge-lane-runtime.mjs set-company-gate --gate implementation_readiness --gate-owner lead-dev --delivery-state blocked --internal-blockers "{blocker summaries}"node scripts/forge-lane-runtime.mjs set-company-gate --gate security --gate-owner security-reviewer --delivery-state in_progressUpdate state.json:
Update session handoff:
node scripts/forge-lane-runtime.mjs write-session-handoff --summary "{blockers found in QA}" --next-goal "Fix blockers and rerun QA" --next-owner lead-devnode scripts/forge-lane-runtime.mjs write-session-handoff --summary "QA clear; proceed to security review" --next-goal "Run security delivery gate" --next-owner security-reviewerCreate git tag: forge/v1-qa
Transition to next phase (forge:fix or forge:security)
<State_Changes>
<Tool_Usage>
node scripts/forge-lane-runtime.mjs for company gate and session handoff updates
</Tool_Usage><Failure_Modes_To_Avoid>
<Auto_Chain> When QA completes: