ワンクリックで
paw-review-critic
Critically assesses generated review comments for usefulness, accuracy, and appropriateness, adding assessment sections.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Critically assesses generated review comments for usefulness, accuracy, and appropriateness, adding assessment sections.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Orchestrates the PAW Review workflow, coordinating activity skills to analyze PRs and generate comprehensive review feedback.
Shared git mechanics for PAW activity skills including branch naming conventions, strategy-based branching logic, and selective staging discipline.
Bootstrap skill for PAW workflow initialization. Creates WorkflowContext.md, directory structure, and git branch. Runs before workflow skill is loaded.
Workflow status activity skill for PAW workflow. Diagnoses workflow state, recommends next steps, explains PAW process, and optionally posts updates to Issues/PRs.
Pre-PR review activity skill for PAW workflow. Reviews implementation against spec before Final PR creation with configurable single-model, multi-model, or society-of-thought execution.
Implementation review activity skill for PAW workflow. Reviews implementation for quality, adds documentation, and returns structured verdict.
| name | paw-review-critic |
| description | Critically assesses generated review comments for usefulness, accuracy, and appropriateness, adding assessment sections. |
Critically assess generated review comments to help reviewers make informed decisions about what feedback to include, modify, or skip.
Reference: Follow Core Review Principles from
paw-review-workflowskill.
Verify ReviewComments.md exists in .paw/reviews/<identifier>/.
Also verify access to all supporting artifacts:
ReviewContext.md (PR metadata)CodeResearch.md (baseline understanding)DerivedSpec.md (PR intent)Review Mode from ReviewContext.md):
single-model or absent: require ImpactAnalysis.md + GapAnalysis.mdsociety-of-thought: require REVIEW-SYNTHESIS.mdIf ReviewComments.md is missing, report blocked status—Feedback Generation must complete first.
Understand the complete feedback landscape:
Load ReviewComments.md:
Load Supporting Context:
Identify Relationships:
For each review comment, evaluate multiple dimensions:
Ask: "Does this comment truly improve code quality? Is it actionable?"
High Usefulness:
Medium Usefulness:
Low Usefulness:
Ask: "Are evidence references correct? Is the diagnosis sound?"
Verify:
Flag if:
Ask: "What might the initial reviewer have missed? Are there valid reasons for the current approach?"
Consider:
Identify:
Ask: "Are there valid reasons to do it the current way? What are the costs of changing?"
Evaluate:
Balance:
Append assessment after each comment's rationale in ReviewComments.md:
Assessment Structure:
**Assessment:**
- **Usefulness**: <High|Medium|Low> - <justification>
- **Accuracy**: <validation of evidence and diagnosis>
- **Alternative Perspective**: <other valid interpretations or approaches>
- **Trade-offs**: <reasons current approach might be acceptable>
- **Recommendation**: <Include as-is | Modify to... | Skip because...>
CRITICAL - Where Assessments Go:
| Add to ReviewComments.md | DO NOT Post Externally |
|---|---|
| Append assessment sections after rationale | No GitHub posting |
| Keep assessments local to reviewer's workspace | Not visible to PR author |
| Use assessments to inform reviewer's decisions | No external platform posting |
Why: Assessments help the reviewer decide what feedback to give, but showing this internal evaluation process to the PR author would be confusing and potentially counterproductive.
Example Assessment:
### File: `auth.ts` | Lines: 45-50
**Type**: Must
**Category**: Safety
Missing null check before accessing user.profile could cause runtime error.
**Suggestion:**
```typescript
if (user?.profile) {
return user.profile.name;
}
return 'Anonymous';
Rationale:
auth.ts:45 shows direct access to user.profile.nameauth.ts:120 uses null checks for user objectsAssessment:
Posted: ✓ Pending review comment ID:
### Recommendation Guidelines
**Include as-is:**
- High usefulness + accurate diagnosis + no major alternatives
- Clear benefit with minimal cost
- Addresses concrete issue with evidence
- Aligns with codebase patterns
- Reviewer confident in recommendation
**Modify to...:**
- Core issue is valid but suggestion needs adjustment
- Tone could be more/less direct
- Could be batched with related comment
- Suggestion is too prescriptive vs suggesting exploration
- Evidence is correct but impact overstated
**Skip because...:**
- Low usefulness (stylistic preference, minimal impact)
- Inaccurate diagnosis or evidence
- Valid alternative explanation exists
- Already addressed elsewhere
- Cost outweighs benefit
- Not appropriate for this review cycle
## Assessment Guidelines
### Usefulness Calibration
**Avoid Grade Inflation:**
- Not every suggestion is "High" usefulness
- Style preferences are typically "Low" even if correct
- Medium is appropriate for incremental improvements
**Focus on Impact:**
- What actually breaks vs what could theoretically be better?
- User-facing impact vs internal code cleanliness?
- Maintainability boost that saves real time vs theoretical elegance?
**Consider Context:**
- Is this a critical production system or experimental prototype?
- Is this a hot path or rarely-executed edge case?
- Is this public API or internal implementation?
### Accuracy Rigor
**Verify Evidence:**
- Check that file:line references are current (not stale)
- Confirm code behavior matches description
- Validate that baseline pattern is truly analogous
**Challenge Assumptions:**
- Is the "problem" actually problematic in this context?
- Could the current code be intentionally designed this way?
- Is the suggestion actually an improvement or just different?
**Check Suggestions:**
- Would the proposed fix actually work?
- Would it introduce new issues (performance, complexity)?
- Is it compatible with the framework/platform?
### Alternative Perspective Depth
**Steelman, Don't Strawman:**
- Present the strongest case for the current approach
- Consider legitimate trade-offs, not just defend poor code
- Acknowledge when criticism is valid but timing might be wrong
**Common Valid Alternatives:**
- "Premature optimization" - current simple approach sufficient for now
- "Technical debt acknowledged" - team aware, will address later
- "Platform limitation" - workaround necessary given constraints
- "Readability trade-off" - more explicit code despite verbosity
### Trade-off Realism
**Quantify When Possible:**
- "Would require refactoring 5 files" vs "simple one-line fix"
- "Adds 10% performance overhead" vs "negligible impact"
- "Increases complexity from 3 conditionals to 8" vs "simplifies logic"
**Acknowledge Uncertainty:**
- "Unknown if this path is hot enough to matter"
- "Unclear if this pattern will generalize to future cases"
- "Would need profiling to confirm performance impact"
## Guardrails
**Advisory Only:**
- Assessments help reviewer decide, don't make final decisions
- Reviewer can override any recommendation
- Purpose is to inform, not to dictate
**Critical Thinking:**
- Question assumptions in generated comments
- Consider alternative interpretations
- Don't rubber-stamp every comment as useful
**Local Only:**
- NEVER post assessments to GitHub or external platforms
- Assessments remain in ReviewComments.md only
- Internal decision-making tool, not external communication
**Respectful Tone:**
- Assessment is about comment quality, not personal critique
- Focus on improving feedback, not judging the Feedback Generation skill
- Acknowledge when comments are well-crafted
**Context-Aware:**
- Reference all available artifacts for complete picture
- Consider project-specific patterns from CodeResearch.md
- Understand PR intent from DerivedSpec.md
- Factor in system-wide impacts from evaluation artifacts
**Balanced Perspective:**
- Don't be reflexively negative or positive
- Some comments will be excellent, others questionable
- Honest assessment serves reviewer and PR author best
## Iteration Summary
After adding assessments to all comments, append an Iteration Summary section to ReviewComments.md:
```markdown
---
## Iteration Summary
### Comments to Update (Based on Critique)
| Original Comment | Recommendation | Update Guidance |
|------------------|----------------|-----------------|
| File: auth.ts L45-50 | Modify | Soften tone; acknowledge valid alternative |
| File: api.ts L88 | Skip | Stylistic preference, not actionable |
| File: db.ts L120 | Include as-is | High value, accurate |
### Counts
- **Comments to Include as-is**: X
- **Comments to Modify**: Y
- **Comments to Skip**: Z (will not post to GitHub, retained in ReviewComments.md)
### Notes for Feedback Response
[Any specific guidance for the feedback skill when updating comments]
Skip Clarification: Comments marked "Skip" remain in ReviewComments.md for documentation but will NOT be posted to GitHub by paw-review-github. The reviewer can override by changing the recommendation before the feedback response pass.
Before completing, verify:
Activity complete.
Artifact saved: .paw/reviews/<identifier>/ReviewComments.md (assessments added)
Status: Success
Iteration Summary:
- Include as-is: N comments
- Modify: M comments (with update guidance in assessments)
- Skip: K comments (retained in artifact, will not post to GitHub)
Next: Run paw-review-feedback in Critique Response Mode to finalize comments with **Final**: markers.