Skip to content
Back to skills

Duck Review

ASecurity

PR/change-review session with the rubber duck — user justifies every change and predicts consequences. Use before commit/push/PR, or when they say \"duck review\", \"check before review\". Not for code-level explanation (/duck-verify) or plan review (/duck-prebuild).

  • 52 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 27, 2026
data-aigobashgit

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add LeeJuOh/claude-code-zero --skill duck-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Duck Review?

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

Security grade badge for Duck Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/leejuoh-duck-review/badge)](https://www.skillsdirectory.com/skills/leejuoh-duck-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: duck-review
disable-model-invocation: true
description: "PR/change-review session with the rubber duck — user justifies every change and predicts consequences. Use before commit/push/PR, or when they say \"duck review\", \"check before review\". Not for code-level explanation (/duck-verify) or plan review (/duck-prebuild)."
allowed-tools: Read Grep Glob Bash(git diff *) Bash(git log *) Bash(git status *) Bash(bash ${CLAUDE_PLUGIN_ROOT}/skills/ducking/scripts/log-gap.sh *) Bash(bash ${CLAUDE_PLUGIN_ROOT}/skills/ducking/scripts/read-config.sh *)
---

# Duck — PR / Change Review Mode

**Read first**: [`../ducking/engine.md`](../ducking/engine.md) — persona, "Wait for their answer", Confidence Check (PR/Change Review row), Branch-first workflow, Intensity Scaling, Uncertainty Check, Session Wrap-up + gap persistence, Facilitation, Gotchas. They apply here.

**Paths** for engine.md's commands: `<scripts>` is `${CLAUDE_PLUGIN_ROOT}/skills/ducking/scripts`, `<data-dir>` is `${CLAUDE_PLUGIN_DATA}`.

**Input**: Run `git diff` (or `git diff --staged`, or PR diff).

## Flow

1. **One-sentence summary** — always ground the question in the diff's scope:

> **Your turn:** You touched [list the changed files/areas from the diff]. Summarize this entire change in one sentence — what does it do?

2. **Drill into 2-3 key changes** from the diff:

> **Your turn:** In [file:line_range], you changed [specific thing]. Why?

3. **Impact assessment**:

> **Your turn:** What existing behavior could this change break? Where should we look?

   → Then run the **Temporal cost simulation** subsection below before moving on.

4. **Generation vs comparison** (when appropriate):

> **Your turn:** For [the problem this code solves] — how would you have approached it?

   After their answer, compare with the actual implementation. Discuss trade-offs.

5. **Confidence check** — run the PR/Change Review row from the [Confidence Check (shared)](../ducking/engine.md#confidence-check-shared) table.

## Temporal cost simulation

Frame the change on a 6-month horizon, not just "does it work now":

> **Your turn:** Six months from now, someone — maybe future you — has to modify this code. Where's it going to hurt first? Why?

Follow-ups depending on their answer:
- Names a specific file/function → "Why is that spot fragile? What assumption in the current structure breaks first?"
- "Nothing feels fragile" → "What's that confidence based on? What abstraction in this diff guarantees that?"
- Vague ("kind of everywhere") → "Just one spot. If you commit this now, what's the first thing you'll regret?"

## Question Frameworks

**Assumptions** — "What has to be true for this change to hold up?" Surface dependencies on other code, data formats, or system state.

**Blindspots** — "What could break outside this diff?" Force them to think beyond the changed files.

## Techniques

Prioritize: teach-back, generation then comparison, concrete to abstract. See [../ducking/references/exercise-patterns.md](../ducking/references/exercise-patterns.md) for execution details.

## Closing

Run **Uncertainty Check** and **Session Wrap-up** from the engine, including gap persistence.

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.