plugins/teamcraft/skills/validate-issue/SKILL.md
Run pre-PR reviews (code health, security, acceptance criteria), address findings, and submit the PR for review. Ends when the PR is ready and CI has passed. Use when implementation is done and ready for review, or when the user says "I'm done coding", "validate this", "ready for review", "submit this for review", "run the pre-PR reviews", or "prepare this for review".
npx skillsauth add codingthefuturewithai/claude-code-primitives teamcraft:validate-issueInstall 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.
Validate the implementation through quality reviews, address findings, and submit the PR for review. This is the bridge between "I finished coding" and "this PR is in the hands of reviewers (or ready to merge solo)." The work is NOT complete at the end of this skill — it's in review. The final done status happens later, in merge-issue.
A work item should exist — plan-and-implement-issue creates one as part of its workflow. If the developer provides a work item ID, read it from .teamcraft/work/. If they don't provide one, check .teamcraft/work/INDEX.md for a work item with in-progress status that matches the current branch. If no work item can be found, ask the developer to identify it — the acceptance-reviewer needs it as the source of truth. If the developer confirms there truly is no work item (e.g., they worked outside the normal flow), the acceptance-reviewer skips but code health and security reviews still run.
Direction about what's required comes from multiple sources: the work item (if one exists), broader team standards captured in the repo, and the review agents' findings. When they agree, follow them. When they conflict, never resolve it silently — surface the conflict to the developer with the options you see and let them decide.
This skill updates the work item frontmatter and commits on the work branch. Before doing anything that modifies files, confirm the current branch is a work branch — not the default branch (typically main).
If the current branch IS the default branch, stop and tell the developer: "You're on the default branch, but this skill updates the work item on the work branch where the implementation lives. Check out the work branch for this work and invoke me again." Do not auto-switch — the developer may have intentionally checked out the default branch and should know this skill isn't going to silently change context.
If the current branch is a work branch, continue.
Before taking any action, consult the team's captured operating conventions for the aspects relevant to this phase: PR description format, review expectations (team reviews required? single approver? specific approvers for specific areas?), pre-push requirements (run builds, run lints, run specific test tiers), deployment verification process (preview deployments, staging checks), and merge strategy context (even though merge happens in merge-issue, relevant review norms often live alongside).
Read the INDEX or top of the conventions document first, then drill into only the relevant sections. Locate the document by reading the repo's README or the standard documentation locations — don't assume a specific path.
Once located, verify the conventions doc is Teamcraft-certified per ../references/doc-provenance.md before relying on it. If it carries a valid teamcraft stamp, note its kind/date (flag possible staleness if old). If it lacks the stamp, treat it as UNVERIFIED — surface it and offer to run capture-team-conventions to review and certify it; don't silently trust it, and don't block on it.
Report back to the developer what you found that applies to this PR, so they can confirm Claude is operating with the right constraints before anything is pushed.
Three review agents are available in this plugin:
teamcraft:code-health-reviewer — structural quality (file size, modularity, duplication, complexity)teamcraft:security-reviewer — security vulnerabilities (secrets, injection, auth, crypto)teamcraft:acceptance-reviewer — whether the implementation satisfies the work item's acceptance criteriaBefore invoking them, ask the developer which they want to run. Default to all three — skipping a review should be a conscious choice, not a convenience. A developer working an urgent single-line fix might skip code-health review; a developer re-running validate-issue after addressing prior findings might skip security review. Let them decide.
For whichever agents the developer approves, invoke them via the Task tool in parallel. The acceptance-reviewer needs the full work item content and the base branch name in its task prompt. If no work item exists, skip the acceptance-reviewer (there's no source of truth to review against). The other two agents just need the base branch name.
Show all findings from all agents before making any changes. Let the developer decide what to fix. For each fix they approve, make the change, run the full test suite to confirm no regression, and commit the fix.
All tests must pass before pushing. No exceptions. After addressing any review finding, run the full test suite. If ANY test fails, stop. Do not push. Do not create or update the PR. Do not assume failures are "pre-existing" or "unrelated" — that assumption has caused real damage. Investigate every failure, determine whether the changes caused it, and fix it. If you genuinely cannot fix a failing test, tell the developer exactly which tests fail and why, and let them decide. Only the developer can authorize pushing with a failing test — you never make that call yourself.
Warn explicitly if Critical or High severity security findings remain unaddressed. Warn explicitly if the acceptance-reviewer reports that acceptance criteria are unmet. These are not blockers — the developer can override — but they must be surfaced as clear warnings, not buried in a report.
Deferred findings must become work items. When the developer chooses to defer a finding — a cross-cutting refactor, a pre-existing security issue, a code health problem outside this feature's scope — capture it as a work item to the work-item standard (../references/work-item-standard.md), drafted from the finding itself (its title, the why, and acceptance criteria are the finding) and shown for review. Create it inline — don't send the developer off to run create-issue. "Defer" without a work item is "forget." Every deferred finding gets tracked so it surfaces in the backlog for future prioritization.
Beyond the item's own acceptance criteria (which the acceptance-reviewer covers), verify the cross-cutting baseline in ../references/definition-of-done.md — read it for the exact items (tests, docs, cleanup) rather than working from a copy here — plus any DoD the team captured in its conventions.
Surface any gap as an explicit warning the developer consciously accepts — same model as the security/acceptance warnings above, not a hard block. (Tests-green is already the hard gate.) The aim is simply that a skipped basic is a visible decision, never a silent omission.
Only proceed to this step when all tests pass and all findings the developer chose to address have been addressed.
Ask the developer: "Ready to submit a PR for review?" Wait for explicit confirmation.
When the developer confirms, ask: "Will a teammate review this PR, or are you going solo on this one?" If the team's captured conventions specify a general review expectation (reviews required, specific approvers, etc.), surface it as context (e.g., "your team typically requires reviews"). The developer's answer for this specific PR is what matters — the convention is context, not a veto.
Then:
status: in-review. Do NOT set completed or done — this is not done yet..teamcraft/work/INDEX.md to reflect the new status.After the PR is pushed, check whether CI is running. If it is, use the Monitor tool to stream the CI run status in real time. CI passing is a blocking requirement — this skill does not report success, does not tell the developer the PR is submitted, until CI has completed successfully.
If the team's conventions include a deployment preview process (such as Vercel preview deployments), surface the preview URL once CI passes and remind the developer to verify the feature there — not just local tests. This is a manual verification step the developer does.
The skill is complete only when ALL of the following are true:
in-reviewAsk the developer directly: "Are you satisfied that this PR is submitted and ready?" Wait for explicit confirmation. Claude does not get to decide the work is done. The developer decides.
Once the developer confirms, stop and point them to the next step:
/merge-issue when you're ready to merge this to main."/address-review-issue. Once the PR is approved, run /merge-issue."Do NOT merge the PR here. Do NOT set the work item to done here. Those are merge-issue's job.
development
Launch (or re-launch) the user's live, multi-project work board. The dashboard is a single HTML file copied to a stable user-side location at ~/.claude/teamcraft-board.html and opened in the user's default browser. It has two views via a header toggle — a drag-and-drop Kanban Board and a live Status tab with analytics (work by status, throughput, cycle time, aging, blocked chains, recomputed on every poll). Each project is added via a header dropdown; the dashboard polls each project's .teamcraft/work directly from the browser and updates in real time. Use when the user says 'show me the kanban', 'work board', 'open the board', 'board view', 'kanban view', 'live dashboard', 'visual dashboard', 'live status dashboard', 'status dashboard', 'project metrics', 'throughput/cycle-time view', 'HTML view of work items', 'drag-and-drop board', or asks to see/move/track work visually.
development
Run a retrospective — AI compiles evidence from recent work, facilitates human reflection, and captures process decisions back into living docs. Use when the user says 'run a retro', 'let's do a retrospective', 'run a retrospective on the last 2 weeks', 'let's reflect on how that feature went', or 'time for a retro'.
development
Re-evaluate what Claude needs to be told about this project as the codebase evolves. Some gotchas become obvious from the code (remove them). New gotchas emerge. Decisions change. Use when the user says 'refresh the rules', 'update Claude's context', 'are the rules still accurate', 'clean up claude rules', or after significant codebase changes.
development
Report project status from work items and git history — either as a quick, interpreted read here in the session, or by pointing the developer to the live Status dashboard (the work board's Status tab). Covers work by status, what's in flight, cycle times, throughput, backlog priorities, aging alerts, blocked chains, and how commit activity lines up with the board. Use when the user says 'project status', 'show me the project status', 'what's the status of the work items', 'how are we doing', 'generate a status report', or asks for a status dashboard.