plan-draft-review-artifact-truthfulness-and-issue-body-alignment
Keep plan drafts truthful during adversarial review loops by verifying real provider artifact state on disk and aligning the GitHub issue body to the bounded plan tranche before claiming approval-readiness.
Best use case
plan-draft-review-artifact-truthfulness-and-issue-body-alignment is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Keep plan drafts truthful during adversarial review loops by verifying real provider artifact state on disk and aligning the GitHub issue body to the bounded plan tranche before claiming approval-readiness.
Teams using plan-draft-review-artifact-truthfulness-and-issue-body-alignment should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/plan-draft-review-artifact-truthfulness-and-issue-body-alignment/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How plan-draft-review-artifact-truthfulness-and-issue-body-alignment Compares
| Feature / Agent | plan-draft-review-artifact-truthfulness-and-issue-body-alignment | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Keep plan drafts truthful during adversarial review loops by verifying real provider artifact state on disk and aligning the GitHub issue body to the bounded plan tranche before claiming approval-readiness.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Plan draft review-artifact truthfulness and issue-body alignment Use when: - A GitHub issue plan is being iteratively hardened through multiple adversarial review waves - Provider review artifacts are regenerated multiple times - The issue body is broader than the bounded tranche the plan can honestly deliver - Reviewers are flagging stale/misreported artifact state or plan-vs-issue scope mismatch ## Core lesson Two things must stay truthful at all times during plan hardening: 1. The plan's review summary must match the actual provider artifacts on disk right now 2. The GitHub issue body must match the bounded tranche the plan is actually proposing If either drifts, reviewers will keep returning MAJOR even when the technical plan is mostly sound. ## Required workflow ### 1. Verify provider artifact reality before summarizing it Before updating `## Adversarial Review Summary`, inspect the actual files under `scripts/review/results/`. Do not rely on memory or a prior turn summary. Minimum checks: - file exists - file is non-empty - read the artifact content and extract the real verdict - if the artifact is empty, mark it INVALID rather than inventing findings Practical rule: - never summarize provider findings from a 0-byte artifact - if a rerun times out or produces an empty file, say so explicitly - if you need 3-provider review, do not lower the acceptance bar to 2 just to get unstuck unless the workflow/policy explicitly allows that ### 2. Align the issue body before trying to force plan approval If the issue body sounds like full remediation, but the plan can only honestly deliver a bounded tranche, edit the GitHub issue body first. Good pattern: - change the issue body to say this tranche removes the current first blocker(s) - explicitly say the work is expected to expose the next failure surface - explicitly say broader debt remains in follow-up tracking This removes the plan-vs-issue contradiction that reviewers will otherwise keep flagging. ### 3. Keep the success condition precise Avoid vague phrases like: - "meaningfully green" - "advances past blockers" Prefer: - exact workflow/job/step names - exact narrowed CI gate - exact evidence expected after the run - explicit statement whether the workflow is expected to be fully green or only to expose the next failure surface ### 4. For workflow-only verification, prefer deterministic inspection over brittle YAML-parsing pytest files If the plan only needs to verify that a workflow keeps specific invariants, a deterministic command in the plan can be better than inventing workflow-specific pytest files. Examples of good invariants: - smoke step still appears before lint and mypy - smoke command remains single-line/shell-neutral - both flake8 commands use the intended target scope But make the check strict enough: - prefer counting exact occurrences instead of substring presence - include the actual command block in the plan, not an ellipsis placeholder ### 5. Make local verification match the planned CI contract If local evidence uses flags like `--follow-imports=silent` or extra stub packages, the plan must include those same flags/packages in the planned CI command. Do not claim success on a different local command than the workflow will actually run. ### 6. Evidence all scope-boundary follow-up issues If the plan says certain excluded surfaces are safely deferred to follow-up issues, embed live issue evidence for those issues: - issue number - title - state Do not just mention them prose-only. If child/follow-up issues have already been created during an iterative hardening loop, update the plan from "Create issue #NNN" to "Link existing issue #NNN" and re-check live issue state before the next review. Stale create-language for already-created children is enough for adversarial reviewers to keep the plan in REQUEST_CHANGES. ### 7. Treat transient evidence as draft-only unless materialized If a correctness-critical inventory or proof lives only in `/tmp`, a terminal buffer, or an uncommitted local file outside the target repo, label it as transient draft evidence. Do not present it as approval-grade evidence. Good pattern: - cite `/tmp/...` only as a local draft source - require a durable raw/grouped inventory artifact in the relevant repo before child implementation approval - if the target code is in a nested repo, name that repo/worktree explicitly and do not imply the workspace-hub root commit can carry nested-repo artifacts ### 8. After handoff triage, post a GitHub state-sync comment When resuming from a handoff and tightening a plan without making it approval-ready, leave a short GitHub comment that states: - the plan remains draft / not approval-ready - what stale claims were corrected locally - current provider verdicts / unavailable artifacts - the next blocking action (usually fresh substantive adversarial re-review) This prevents the GitHub thread from lagging behind local cleanup and stops later agents from treating old comments as current review state. ## Fast checklist before the next review wave - [ ] Issue body matches the bounded tranche or parent/child closure contract - [ ] Review summary matches actual artifact files on disk - [ ] Empty/quota/unavailable artifacts are marked INVALID/UNAVAILABLE, not summarized as substantive reviews - [ ] Success condition is explicit and falsifiable - [ ] Local proof commands match planned CI commands - [ ] Follow-up/child issues used as scope boundaries are evidenced with live state - [ ] Already-created child issues are listed as existing links, not future creations - [ ] Any `/tmp`/transient evidence has a required durable artifact path before approval - [ ] Workflow verification commands are concrete and strict - [ ] A GitHub state-sync comment was posted if local plan state changed but approval-readiness did not ## Anti-patterns to avoid - Reusing stale review summary text after reruns - Claiming a provider returned MAJOR/MINOR when its artifact is empty - Letting the issue body promise full remediation while the plan only covers the next blocker-removal tranche - Lowering review-evidence requirements ad hoc just because one provider is flaky - Using `...` placeholders in acceptance commands that are supposed to be executable
Related Skills
plan-review-prompt-refresh-after-plan-edits
Refresh reviewer prompt files from the latest on-disk plan before every adversarial re-review. Prevents Codex/Gemini from critiquing stale plan text after local edits.
workspace-hub-overnight-plan-monitor
Monitor and reconcile workspace-hub overnight planning or implementation batches, including process status, result artifacts, issue/commit verification, and controlled failed-lane recovery.
plan-gated-issue-execution-wave
Execute a multi-issue architecture/planning wave in a plan-gated repo, then safely transition approved issues into implementation with file-based Codex prompts, local approval markers, subprocess monitoring, and cleanup handling for sandbox/hook edge cases.
mixed-ops-vs-repo-fix-plan-boundary
Plan mixed operational-vs-repo remediation issues by proving live-state classification first, then only proposing code changes for confirmed repo-owned failure paths.
wave-based-parallel-plan-execution
Orchestrate phase execution by discovering dependencies, grouping into waves, spawning subagents, and collecting results with optional wave filtering
tdd-verification-and-adversarial-review
Verify pre-written TDD tests pass, conduct adversarial code review on committed diffs, and route findings to existing issues
staged-issue-tree-creation-with-deduplication
Pattern for creating hierarchical GitHub issue trees from phased project plans while checking for duplicate/overlapping issues
plan-gated-issue-validation-workflow
Systematic validation pattern for plan-approved GitHub issues with pre-existing deliverables
plan-gated-issue-implementation
Workflow for executing pre-approved GitHub issues with mandatory validation checkpoints
multi-role-agent-contract-review-pipeline
Execute a 4-role agent team (Planner/Architect/Reviewer/Integrator) pipeline for self-reviewing knowledge artifacts before delivery
gsd-adversarial-review-pattern
Catch hidden test failures by running adversarial review on sparse-data edge cases before final push
github-issue-structure-for-personal-finance-tracking
Pattern for organizing financial analysis work across multiple repos (data/config vs. logic separation)