From cipherpowers
Validates blocking code review feedback against implementation plan, categorizing issues as in-scope, out-of-scope, or unclear. Gets user decisions on misalignments to prevent scope creep before agent fixes. Use after reviews in plan execution.
npx claudepluginhub cipherstash/cipherpowers --plugin cipherpowersThis skill uses the workspace's default tool permissions.
When orchestrating plan execution, code review feedback must align with the plan's goals. This workflow validates BLOCKING feedback against the plan, gets user decisions on misalignments, and annotates the review file to guide fixing agents.
Reviews PRs strictly against their originating plan, flagging in-scope undone work as always blocking to prevent scope leaks and pipeline waste.
Intakes PR review feedback, code comments, or issues for structured processing before action. Verifies suggestions against codebase in default PR Review Mode; triages issues into ready-for-agent states in Issue Triage Mode.
Spawns three parallel adversarial reviewers (Feasibility, Completeness, Scope & Alignment) after plan drafting; all must pass before presenting to user. For non-trivial plans (2+ work units, 3+ files).
Share bugs, ideas, or general feedback.
When orchestrating plan execution, code review feedback must align with the plan's goals. This workflow validates BLOCKING feedback against the plan, gets user decisions on misalignments, and annotates the review file to guide fixing agents.
Core principle: User decides scope changes, not the agent. Validate → Ask → Annotate.
Announce at start: "I'm using the validating-review-feedback skill to validate this review against the plan."
Step 1: Read review file
Step 2: Extract items
Step 1: Read plan file
Step 2: Categorize each BLOCKING item
For each BLOCKING item, determine:
Step 3: Document reasoning
For each categorization, note brief reasoning:
Note on NON-BLOCKING items: All NON-BLOCKING items are automatically marked [DEFERRED] without user consultation (see Phase 4 Step 3), as they are by definition not required for merge. User can choose to address them in a follow-up or ignore them entirely.
When: Any BLOCKING items categorized as out-of-scope or unclear
Step 1: Show misaligned items
For each misaligned item:
BLOCKING Item: [exact text from review]
Categorization: [Out-of-scope / Unclear]
Reasoning: [why it doesn't clearly align with plan]
Step 2: Ask user about each item
Use AskUserQuestion for each misaligned BLOCKING item:
Question: "Should we address this BLOCKING issue in the current scope?"
Options:
- "[FIX] Yes, fix now" (Add to current scope)
- "[WONTFIX] No, reject feedback" (User disagrees with review)
- "[DEFERRED] Defer to follow-up" (Valid but out of scope)
Step 3: Check for plan revision
If user selected [DEFERRED] for multiple items or items seem interconnected:
plan_revision_needed flagStep 1: Add tags to BLOCKING items
For each BLOCKING item in original review file:
[FIX] if in-scope or user approved[WONTFIX] if user rejected[DEFERRED] if user deferredStep 2: Add clarifying notes
For each tagged item, add Gatekeeper note explaining categorization:
(Gatekeeper: In-scope - {reasoning})(Gatekeeper: Out-of-scope - {reasoning})(Gatekeeper: User approved - {decision})Step 3: Tag all NON-BLOCKING items
[DEFERRED] to all NON-BLOCKING itemsStep 4: Write annotated review
Save back to same review file path with annotations.
Example annotated review:
# Code Review - 2025-10-19
## Summary
Found 3 BLOCKING issues and 2 NON-BLOCKING suggestions.
## BLOCKING (Must Fix Before Merge)
### [FIX] Security vulnerability in auth endpoint
Missing input validation on user-provided email parameter allows potential injection attacks.
(Gatekeeper: In-scope - required by Task 2 auth implementation)
### [DEFERRED] SRP violation in data processing module
The processUserData function handles both validation and database writes.
(Gatekeeper: Out-of-scope - refactoring not in current plan)
### [FIX] Missing tests for preference storage
No test coverage for the new user preference persistence logic.
(Gatekeeper: In-scope - Task 3 requires test coverage)
## NON-BLOCKING (Can Be Deferred)
(Gatekeeper: All NON-BLOCKING items deferred by default)
### [DEFERRED] Ambiguous variable name in utils
The variable 'data' in formatUserData could be more descriptive like 'userData'.
### [DEFERRED] Consider extracting magic number
The timeout value 5000 appears in multiple places.
When: Any items marked [DEFERRED]
Step 1: Check if plan has Deferred section
## Deferred Items sectionStep 2: Create or append to Deferred section
Add to end of plan file:
---
## Deferred Items
Items deferred during code review - must be reviewed before merge.
### From Batch N Review ({review-filename})
- **[DEFERRED]** {Item description}
- Source: Task X
- Severity: BLOCKING or NON-BLOCKING
- Reason: {why deferred}
Step 3: Save updated plan
Write plan file with deferred items section.
Provide summary to orchestrator:
Validation complete:
- {N} BLOCKING items marked [FIX] (ready for fixing agent)
- {N} BLOCKING items marked [DEFERRED] (added to plan)
- {N} BLOCKING items marked [WONTFIX] (rejected by user)
- {N} NON-BLOCKING items marked [DEFERRED]
- Plan revision needed: {yes/no}
Annotated review saved to: {review-file-path}
Plan updated with deferred items: {plan-file-path}
| Principle | Application |
|---|---|
| User decides scope | Never auto-approve out-of-scope items, always ask |
| Annotate in place | Modify review file with tags, don't create new files |
| Track deferrals | All deferred items must go in plan's Deferred section |
| Clear communication | Tags ([FIX]/[WONTFIX]/[DEFERRED]) guide fixing agent |
| No silent filtering | User must explicitly decide on every misalignment |
Missing required inputs (plan or review path):
No BLOCKING items found:
User marks all BLOCKING as [WONTFIX]:
Plan file not found:
Review file not parseable:
Called by:
Requires:
Produces:
See test-scenarios.md for baseline and with-skill tests proving this workflow prevents scope creep and misinterpretation.