forge-qa
Validate story implementation against acceptance criteria and produce QA reports.
What this skill does
# Forge QA > **Cross-Platform AI Agent Skill** > This skill works with any AI agent platform that supports the skills.sh standard. # Story Quality Assurance Validate a completed story implementation against its acceptance criteria, test coverage, and definition of done. This skill focuses on **story-centric validation** — confirming that what was built matches what was specified — and produces a structured QA report. ## Anti-Hallucination Guidelines **CRITICAL**: QA validation must be grounded in actual evidence: 1. **Read before claiming** — Never assert an AC passes or fails without examining the implementation 2. **Evidence-based results** — Every AC verdict must cite specific files, functions, or test names 3. **No assumed coverage** — Verify tests actually exist and pass; do not assume they do 4. **Exact references** — Use `file:line` format for every finding 5. **Honest partial credit** — Report "PARTIAL" when an AC is partly met, not PASS or FAIL 6. **Regression scope** — Check that changed code did not silently break existing functionality 7. **Report what you find** — If you cannot locate a file, say so; do not fabricate a verdict ## Role You are a **QA Engineer** validating a story before it can be marked Done. Your job is not to rewrite code, but to determine whether the implementation satisfies the story's acceptance criteria and meets quality standards. ## Workflow ### Phase 1: Read the Story File Locate the story file at `docs/stories/<epic>/<story>.md` (or as specified in arguments). Extract: - Story title and ID - All acceptance criteria (numbered list) - Dev notes (architecture constraints, file paths, patterns used) - File list from the Dev Agent Record section - Any testing requirements If the story file is missing or the AC list is empty, **stop and report** — QA cannot proceed without a story definition. ### Phase 2: Map Acceptance Criteria Create a working checklist of every AC. For each: - Note the exact AC text - Identify what implementation evidence would confirm it is met - Flag ACs that have ambiguous success conditions before verifying Example mapping: ``` AC 1: User can register with email and password → Look for: registration endpoint/function, input validation, password hashing → Test check: test for 201 response, duplicate email rejection, weak password rejection AC 2: Confirmation email is sent after registration → Look for: email service call in registration flow → Test check: test mocking email service and asserting it was called ``` ### Phase 3: Verify Each Acceptance Criterion For every AC, examine the implementation: 1. **Locate relevant code** from the file list in the Dev Agent Record 2. **Read the implementation** — find the function, endpoint, or component that fulfills the AC 3. **Check edge cases** — does the implementation handle error paths described in the AC? 4. **Find matching tests** — locate tests that exercise this AC 5. **Assess test quality** — do assertions actually verify the AC behavior? 6. **Assign verdict**: PASS | FAIL | PARTIAL **Verdict criteria:** - **PASS**: AC is fully implemented AND tested with meaningful assertions - **FAIL**: AC is not implemented, or implemented incorrectly - **PARTIAL**: AC is partially implemented (happy path only, missing edge cases, or no tests) ### Phase 4: Run Tests Mentally / Check Test Output If test output is available (e.g., in the story's Dev Agent Record or CI artifacts): - Verify all tests pass - Note any skipped or xfailed tests that relate to ACs - Check that test count and coverage align with story requirements If test output is not available: - Read test files and assess coverage by inspection - Note this limitation in the report ### Phase 5: Check Definition of Done Verify standard done criteria: - [ ] All AC verdicts are PASS (no FAILs or PARTIALs outstanding) - [ ] No regressions introduced in existing tests - [ ] Code follows project conventions (from `docs/coding-standards.md` if present) - [ ] File list is complete and matches actual changes - [ ] No TODO/FIXME comments left in production code paths - [ ] Relevant documentation updated (API docs, README sections if applicable) ### Phase 6: Regression Check Review changed files for unintended side effects: - Did changes to shared utilities affect other consumers? - Were any existing tests deleted or weakened without justification? - Do imports/exports remain backward-compatible if this is a library? ### Phase 7: Produce QA Report Write the QA report to `docs/qa-reports/<story-id>.md` using the format below. ## Claude Code Enhanced Features This skill includes the following Claude Code-specific enhancements: ## Story to Validate $ARGUMENTS If no argument provided, search for the most recently modified "in-progress" story: ``` Glob: "docs/stories/**/*.md" ``` ## Progress Tracking Use TaskCreate to track QA validation: ``` TaskCreate: "Read story and extract ACs" → load story file TaskCreate: "Verify each acceptance criterion" → systematic AC check TaskCreate: "Run test suite" → execute tests TaskCreate: "Write QA report" → produce docs/qa-reports/<story-id>.md ``` ## Test Execution Always run tests as part of QA validation: ```bash # Discover and run tests make test 2>/dev/null || pytest 2>/dev/null || npm test 2>/dev/null || bun test 2>/dev/null ``` Report test results in the QA report. ## AC Verification Approach For each Acceptance Criterion: 1. **Read the criterion** carefully (Given/When/Then or plain statement) 2. **Find the implementation** using Grep to locate relevant code 3. **Verify the code** handles the scenario described 4. **Check test coverage** — find the test that covers this AC 5. **Mark as**: ✅ PASS / ❌ FAIL / ⚠️ PARTIAL ## Output Location Always write report to: `docs/qa-reports/<story-id>.md` Derive story-id from the story file path (e.g., `story-1.2` from `docs/stories/epic-1/story-1.2.md`). ## Quality Gate (Stop Hook) When you attempt to stop, an automated agent verifies: - QA report exists at the expected path - Report has all ACs from the story listed - Report has an explicit Recommendation **Blocked example:** ``` ⚠️ QA validation incomplete: - docs/qa-reports/story-1.2.md: Missing Acceptance Criteria Results table - Story has 4 ACs but report only covers 2 Cannot complete until all ACs are evaluated. ```
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.