Coducktor banner
blakepiper blakepiper

Coducktor

Productivity community

Description

Coducktor is a parallel coding agents orchestrator. Type a task, pick a workflow and an agent — Claude Code, Codex or OpenCode, or a mix of them per step — and watch it work live: steps, tool calls ... or: fire and forget, PR will land and issue will be fixed.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Coducktor

Coducktor is a local terminal cockpit for durable coding-agent conversations. It wraps Claude Code, Codex, OpenCode, and pi in one Rust binary, keeps chats scoped to their repository, and leaves the selected harness in charge of its own agent loop.

One submitted message means one native harness turn. The harness reasons, calls tools, delegates, edits, and tests for as long as that turn needs. When it returns, Coducktor records the result and waits for the next message. Coducktor does not route between providers, retry by re-prompting the model, or run a workflow behind the conversation.

Install and start

You need Rust and at least one supported agent CLI. Git is optional for in-place chats; `gh` is optional for the GitHub screen.

The installer script checks for `rustup` and builds both binaries with `--locked`:

git clone https://github.com/blakepiper/coducktor.git
cd coducktor
./install.sh
coducktor projects add --repo .
coducktor

A plain Cargo install works too:

cargo install --path crates/coducktor-tui

Either way, the installed binary is `coducktor`; `duck` is its short alias. During development, run it straight from the checkout instead of installing it:

cargo run -p coducktor-tui --

Startup discovers the current repository, registered projects, local skills, Git, agent CLIs, and provider health. A missing optional CLI, credential, network connection, Git checkout, or writable optional state only narrows the affected capability; it never blocks startup.

The conversation loop

Open **New chat**, write the exact message you want to send, and choose:

  • a concrete harness: Claude, Codex, OpenCode, or pi;
  • the harness default or a discovered model and reasoning value;
  • zero or more local skills for this message;
  • a base branch and managed-worktree policy when Git is available; and
  • manual or automatic Git handling.

Harness, model, reasoning, base branch, and working directory lock in once the conversati