Skip to content
Back to skills

Receiving Review

ASecurity

Use when receiving code-review feedback or a critique — from the

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsrustgosqlreactcode-reviewfrontendsecurity

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add Canhada-Labs/ceo-orchestration --skill receiving-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Receiving Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Receiving Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/canhada-labs-receiving-review/badge)](https://www.skillsdirectory.com/skills/canhada-labs-receiving-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: receiving-review
description: Use when receiving code-review feedback or a critique — from the
  Owner, the Codex pair-rail, a debate archetype, or any reviewer — and deciding
  whether to implement, clarify, or push back. Use when tempted to agree with a
  suggestion before verifying it, when a reviewer claims a bug, when feedback asks
  to "implement properly" or add a feature, or when a suggestion would weaken a
  security control.
owner: CEO (cross-cutting discipline — applies to every archetype and the CEO)
# Pattern inspired by obra/superpowers `receiving-code-review` (MIT, release
# v5.1.0, HEAD f2cbfbe). Full attribution + decision record: ADR-140. The
# structured `inspired_by:` field is omitted intentionally — its validator
# requires a 40-hex commit SHA, and only the short SHA is on record.
# --- smart-loading fields (PLAN-083 Wave 0a) ---
domain: core
priority: 2
risk_class: low
stack: []
context_budget_tokens: 1200
inactive_but_retained: false
repo_profile_binding:
  frontend: {active: true, priority: 2}
  engine: {active: true, priority: 2}
  fintech: {active: true, priority: 2}
  trading-readonly: {active: true, priority: 2}
  generic: {active: true, priority: 2}
activation_triggers:
  - {event: review-received}
  - {event: help-me-invoked, regex: "(?i)receiv|feedback|push.?back|critique|review.?comment"}
---

# Receiving Review

## Role

This is the **receiving** half of the review discipline. The giving half —
how to author a review — lives in `code-review-checklist` and ADR-058. This
skill governs how the CEO or any agent **responds** to a review, a critique,
or feedback, whether it comes from the Owner, the Codex pair-rail, a debate
archetype, or an external reviewer.

The failure mode it prevents is **sycophancy**: agreeing because agreement is
socially smooth, not because the feedback is correct for this codebase.
Performative agreement followed by a wrong change is worse than reasoned
pushback. Technical rigor over social comfort.

## The discipline (in order)

1. **Read the whole thing without reacting.** Do not start replying — or
   editing — mid-feedback. Read every item first.
2. **Restate the technical requirement in your own words** (or ask, if it is
   genuinely ambiguous). If you cannot restate what the reviewer is asking
   for, you cannot evaluate it.
3. **Verify against codebase reality.** A claim is not true because a reviewer
   stated it. Grep / read / run the code. A reviewer who says "this has a SQL
   injection" about a parameterized query is **wrong**, and the correct
   response is to verify and say so — not to "fix" safe code.
4. **Evaluate: is it sound for THIS codebase?** A suggestion can be correct in
   general and wrong here (conflicts with an ADR, a documented constraint, the
   stdlib-only rule, an invariant). General correctness is not local
   correctness.
5. **Respond with a technical acknowledgment or a reasoned pushback.** Both are
   first-class outcomes. "You're right, verified at `file:line`, fixing" and
   "Verified — the query is parameterized, no change needed, here's why" are
   both good. Neither requires praise.
6. **Implement per item.** Each clear item proceeds on its own. Only a
   *genuinely* ambiguous item is held for clarification — and holding one
   unclear NIT must **never** block N clear CRITICALs. Do not deadlock the
   whole batch behind a single unclear point (CR-MF4).

## Forbidden: performative agreement

Do not open a response with praise or gratitude as a reflex:

- ❌ "You're absolutely right!"
- ❌ "Great point!"
- ❌ "Thank you for catching that!"
- ❌ "Excellent feedback!"

These signal nothing technical and prime auto-acceptance. State the technical
finding directly. If the reviewer is right, say *what* is right and *where you
verified it*. Acknowledgment is a verified fact (`confirmed at file:line`),
not a compliment.

## YAGNI check on "do it properly" suggestions

When feedback says "implement this properly", "add a config knob", "make it
extensible", or "handle the general case", apply YAGNI: build what THIS change
needs, not a speculative generalization. A reviewer asking for an unused
endpoint, a flag with one caller, or a framework for a one-off is a suggestion
to **push back on**, not silently expand scope to satisfy. Cite the concrete
need or decline.

## Security carve-out (never auto-accepted)

> **Any feedback that would weaken a security control re-enters the VETO gate —
> regardless of who suggested it** (Owner, Codex, or any archetype).

"Reasoned pushback" cuts both ways: it lets you decline a wrong critique, but
it **never** lets you accept a security regression because a high-authority
reviewer asked for it. If a suggestion would remove an auth check, relax input
validation, downgrade a crypto choice, broaden a scope grant, weaken redaction,
or disable a governance hook, route it through the `security-and-auth` /
`identity-and-trust-architecture` VETO holders before implementing — even if
the Owner proposed it. Surface the trade-off; do not quietly comply.

## Applies to the Codex pair-rail too

When the Codex pair-rail returns BLOCK / ACCEPT-WITH-FIXES, apply the same
discipline: verify each finding against the code before implementing. Codex is
strong at catching false factual premises (see
[[feedback-codex-validates-reality-debate-validates-design]]), but a Codex
finding is still a claim to verify, not an order to obey. Fix what is real;
push back (in the reply thread) on what is not, with evidence.

## Anti-patterns

- Editing files while still reading the feedback.
- Replying "You're absolutely right" and then making a change you never verified.
- Holding all feedback hostage to one ambiguous item.
- Expanding scope to satisfy a "make it extensible" comment with no real caller.
- Accepting a security-weakening change because the Owner or Codex proposed it.

## Relationship to other governance

- **Giving side:** `code-review-checklist` + the `code-reviewer` archetype +
  `/debate` (ADR-058 BORROW-2).
- **This (receiving) side:** ADR-140, and the PROTOCOL.md §Receiving review clause.
- **Verification doctrine:** the same-LLM mitigations in PROTOCOL.md §Honest
  limitation (verify against code, fluency is a red flag) are the *why* behind
  step 3.

Files in this skill

  • SKILL.md6.2 KB
  • benchmarks/receiving-review.yaml11 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.