How sprngr/rubber-duck works
Rubber Duck is a human-directed, Socratic assistant operating system for developer work. A developer starts with an agent or routes an intent through quack; policy frames scope and approval before a bounded skill performs work, followed by review and verification. Separate skills cover design, debugging, patching, review, and related tasks; duck-tape preserves session context, while duck-adventure is an optional interactive game. The README documents these capabilities; source excerpts are limited, so links between individual skills and session persistence are not inferred beyond documented routing and hook behavior.
Main entry points: SKILL.md Scope and approval · quack Quack router · opencode.plugin.js Compaction hook · rubber-duck Rubber Duck agent
Components 19
Assistant entry
- Rubber Duck agent
src/agents/rubber-duck - Duckling subagent
src/agents/duckling - Quack router
src/skills/quack - Session-start hook
src/install/hooks/session-start/session-start.opencode.plugin.js
Decision workflow
- Scope and approval
src/skills/duck-policy/SKILL.md - Adaptation
src/skills/duck-adapt/SKILL.md
Developer skills
- Design
src/skills/duck-design/SKILL.md - Debug
src/skills/duck-debug/SKILL.md - Patch
src/skills/duck-patch/SKILL.md - Refactor and simplify
src/skills/duck-refactor/SKILL.md - Review and risk
src/skills/duck-review/SKILL.md - Triage and teach
src/skills/duck-triage/SKILL.md - Other work skills
src/skills - Duck-adventure game
src/skills/duck-adventure
Session context
- Duck-tape checkpoint
src/skills/duck-tape/SKILL.md - Compaction hook
src/skills/duck-tape/hooks/opencode.plugin.js - Session state files
Other components
- Developer
- Agent harness
Connections 22
- Developer → Rubber Duck agent: starts task
- Developer → Quack router: routes intent
- Rubber Duck agent → Scope and approval: invokes by default
- Quack router → Duckling subagent: delegates work
- Quack router → Scope and approval: routes intent
- Scope and approval → Developer: requests approval
- Developer → Scope and approval: approves scope
- Scope and approval → Design: selects skill
- Scope and approval → Debug: selects skill
- Scope and approval → Patch: selects skill
- Scope and approval → Refactor and simplify: selects skill
- Scope and approval → Review and risk: selects skill
- Scope and approval → Triage and teach: selects skill
- Quack router → Other work skills: routes intent
- Developer → Adaptation: adapts setup
- Agent harness → Session-start hook: dispatches session events
- Session-start hook → Agent harness: injects directive
- Agent harness → Compaction hook: dispatches compaction
- Compaction hook → Session state files: writes checkpoint
- Compaction hook → Agent harness: reads messages
- Developer → Duck-tape checkpoint: manages context
- Developer → Duck-adventure game: plays game