Skip to content
Back to skills

Duck

ASecurity

Rubber duck tutor — auto-detects which review mode to run. Use when the user says \"duck\", \"tutor\", \"quiz me\", \"do I understand this\", or mentions rubber-stamping or learning while coding. For a specific phase use /duck-prebuild, /duck-verify, /duck-review, or /duck-orient.

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

Security analysis

A100/100

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

Scanned October 1, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Duck?

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

Security grade badge for Duck
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/leejuoh-duck/badge)](https://www.skillsdirectory.com/skills/leejuoh-duck)

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
description: "Rubber duck tutor — auto-detects which review mode to run. Use when the user says \"duck\", \"tutor\", \"quiz me\", \"do I understand this\", or mentions rubber-stamping or learning while coding. For a specific phase use /duck-prebuild, /duck-verify, /duck-review, or /duck-orient."
disable-model-invocation: true
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 (auto-detect)

Auto-detects which mode fits the user's current state and routes to the matching mode skill. Read [`../ducking/engine.md`](../ducking/engine.md) for shared persona, principles, and session-management rules — they apply to every mode.

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

## Mode Map

| Trigger phrase / state | Mode skill |
|------|------|
| "build this for me" / stated implementation intent, no plan or code yet | `/duck-prebuild` |
| Active plan in conversation (or `.claude/orientation.md`-adjacent design doc) | `/duck-prebuild` |
| Files recently created/modified in this session | `/duck-verify` |
| Uncommitted changes (`git diff --stat` non-empty) | `/duck-review` |
| User new to the repo, returning after long break, "where should I even start" | `/duck-orient` |
| None of the above | Ask the user which phase they want |

## Detection Order

Check in this order — first match wins:

1. **Pre-coding intent** — user just stated they want to build X but no plan/diff/code exists yet → `/duck-prebuild`
2. **Plan in context** — a plan or design doc was produced in this session → `/duck-prebuild`
3. **Uncommitted changes** — `git diff --stat` shows a real diff → `/duck-review`
4. **Recent in-session edits** — files were created or modified earlier in this session but not yet committed → `/duck-verify`
5. **Orientation gap** — user appears unfamiliar with the repo → `/duck-orient`
6. **Ambiguous** — ask the user which phase they want before continuing

## Behavior When the User Picks Their Own Mode

If the user named a mode (`prebuild`, `verify`, `review`, `orient` — or the older `design`/`plan` words, both alias to `prebuild`), suggest the matching `/duck-<mode>` command and stop — don't run the mode flow inline. The dedicated mode skill carries the full instructions for that flow.

If the user passed `$ARGUMENTS` and it matches a known mode word, hand off to `/duck-<mode>` (map `design`/`plan` → `prebuild`; otherwise use `$ARGUMENTS` as-is):

> "🦆 Quack — you want `/duck-<mode>`. Call it directly instead."

Otherwise apply the detection order above.

## Sticking to Auto Mode

If the user wants to keep going inside `/duck` instead of switching to the mode-specific command, run the matching mode's flow inline. The mode-specific SKILL.md files contain the canonical flows — read the file and follow it.

## Shared Rules

All persona, opening line, "Wait for their answer", Confidence Check, Intensity Scaling, Uncertainty Check, Session Wrap-up + gap persistence, Branch-first workflow + fallback, Session Limits, Facilitation, and Gotchas live in [`../ducking/engine.md`](../ducking/engine.md). Read it before running any flow.

Files in this skill

  • SKILL.md2.9 KB
  • references/core.md12.2 KB
  • references/exercise-patterns.md7.8 KB
  • references/learning-science.md10.8 KB
  • references/orientation-guide.md4.9 KB
  • scripts/log-gap.sh1 KB
  • scripts/recent-gaps.sh1.1 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.