.claude/skills/pm-verify/SKILL.md
Verify acceptance criteria for a phase or entire work package. Runs verification based on each criterion's method (AutomatedTest, Manual, AgentReview) and records results via the MCP tool.
npx skillsauth add pinkroosterai/PinkRoosterMcp pm-verifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Verify that acceptance criteria for a phase or work package are met. Records verification results
and timestamps. Does NOT change entity states — use /pm-done to complete phases after verification.
Parse !arguments for:
proj-1-wp-2-phase-1) or WP ID (e.g., proj-1-wp-2)--dry-run: If present, show what would be verified without recording resultsIf no arguments provided, use the AskUserQuestion tool:
[{label: "Phase", description: "Verify acceptance criteria for a specific phase (e.g., proj-1-wp-2-phase-1)"}, {label: "Work Package", description: "Verify all phases in a work package (e.g., proj-1-wp-2)"}]Call mcp__pinkrooster__get_work_package_details with the WP ID (extract from phase ID if needed).
Extract:
Build a verification queue: list all acceptance criteria that have verifiedAt == null or need re-verification.
For each criterion in the queue, run verification based on verificationMethod:
.NET tests: dotnet test with appropriate filterDashboard tests: cd src/dashboard && npm testFor each phase with verified criteria, call mcp__pinkrooster__verify_acceptance_criteria with:
phaseId: the phase IDcriteria: array of [{"Name": "...", "VerificationResult": "..."}]If --dry-run, skip this step and show what would be recorded.
## Verification Report — {targetId}
| Phase | Criterion | Method | Result |
|-------|-----------|--------|--------|
| {phaseName} | {criterionName} | {method} | PASS/FAIL |
| ... |
### Summary
- **Total criteria**: {count}
- **Passed**: {passCount}
- **Failed**: {failCount}
- **Skipped**: {skipCount} (if any)
### Failed Criteria
- **{criterionName}** ({phaseName}): {failureReason}
- ...
### Next Steps
- All passed? → Complete the work: `/pm-done {phaseId or wpId}`
- Failures? → Fix failing criteria: `/pm-implement {relevant-task-or-phase-id}`, then re-verify: `/pm-verify {targetId}`
- Check project progress: `/pm-status`
If --dry-run:
"Dry run complete. {count} criteria would be verified. Run without --dry-run to record results."
development
Diagnose the root cause of a bug, error, crash, or unexpected behavior. Traces through code, logs, services, database state, and git history to find why something is broken. Researches error messages online for known issues. Produces a diagnosis with evidence and suggested fix. Use when the user reports a problem, error message, stack trace, test failure, or says things like "why is this happening", "this is broken", "I'm getting an error", "something's wrong with...", "debug this", or "figure out why...".
development
Review and prioritize open issues and feature requests. Analyzes severity, age, and codebase impact to recommend priority adjustments and next steps.
tools
Show project status dashboard with issue/FR/WP counts, active items, blocked items, and priority next actions. Use when the user asks about project status, progress, what's happening, what needs attention, or what to work on.
development
Scaffold a complete work package with phases, tasks, and dependencies based on a feature description or linked issue/FR. Analyzes the codebase to produce realistic target files and implementation notes. Auto-transitions linked entities to planning states. Use when the user wants to break down work, plan implementation, create a WP, or says "scaffold", "break this down", "plan the implementation", or "create tasks for...".