Your planning board,
running itself.

Sully watches your board and spawns headless Claude Code sessions that plan, implement, open PRs for, and review each ticket — every ticket in its own git worktree, with results posted back to your board and GitHub.

Coming soonSee how it works

A recreation of the Sully desktop app showing a board with five columns — Uncategorized, Planning, Plan ready, In progress and In review — holding 10 tickets, two of them with live agent sessions writing a plan and editing code. Docked on the right is the agent chat for one ticket, where the agent has answered a question about webhook retries and is writing the decision into the plan file. All of the tickets and messages shown are fictional examples.

How it works

Five steps from ticket to pull request.

  1. 1

    A ticket lands in a mapped column

    You map your board columns to phases — planning, in progress, in review. Use Linear, or Sully’s own local tickets if you would rather not connect anything. Moving a card is the only trigger Sully needs.

  2. 2

    Sully cuts a worktree and a branch

    Every ticket gets a dedicated git worktree and branch, so parallel work never collides and your main checkout stays untouched.

  3. 3

    A headless agent runs the phase

    A Claude Code (or Codex) session runs the phase the column implies: writing the plan, implementing the change, creating the PR, or reviewing it.

  4. 4

    Plans land in .sully/plan.md for review

    You read the plan before a line of code is written. Agents can ask blocking questions, and you answer them in the in-app ticket chat.

  5. 5

    Sully advances it to a merged PR

    Coding, PR creation, and review follow as the ticket moves, with progress posted back to your board and GitHub along the way.

Sessions

Nothing runs off in the dark.

Every headless session Sully spawns shows up in one list with its phase, agent, model, elapsed time and spend. Open any of them to watch the normalized stream — tool calls, agent prose, test results — as it arrives, and stop it mid-flight if it is heading the wrong way.

A recreation of Sully's Sessions screen next to an open session log. The list shows two running sessions and three finished ones, each with its ticket, phase, agent and model, elapsed time and cost. The log panel streams a coding session's output: the files it read, the edits it made, and a passing test run. All of it is a fictional example.

Phase configuration

Every phase gets its own agent, model, and budget.

Plan with Opus and a planning skill, implement with Sonnet, open the PR with Haiku, review with Codex. Each phase carries its own injected prompt, permission mode, timeout, and MCP server subset, so you are not paying frontier-model prices to write a commit message.

  • Planning
  • Coding
  • Create PR
  • Commit & Push
  • Address Comments
  • Figma Comments
  • PR Review
  • Error Investigation

A recreation of Sully's Settings screen, showing the phase configuration panel: one card per phase with dropdowns for agent, model, skill, permissions, timeout, and which MCP servers to load, plus a free-text prompt injected into every session for that phase. The values shown are fictional examples.

Watchers

It also watches the things you forget to.

Two background watchers run whether or not a ticket is moving. One picks up every PR where you are a requested reviewer and posts a real review on GitHub. The other stays on the PRs Sully opened: when a check goes red or a reviewer leaves comments, it reads the failing job log, reprompts the agent, and pushes the fix.

Two recreations of Sully screens. The PR Reviews screen lists four pull requests — one being reviewed right now, the others carrying the verdict Sully posted: changes requested, approved, commented. The CI screen shows a single pull request with its four GitHub Actions checks — two passed, one failing, one queued — and a fix session running against the failing job and the review comments left on it. All of the repos, pull requests, checks and comments shown are fictional examples.

Features

Everything the loop needs, in one window.

Board-driven orchestration

Column-to-phase mapping drives the whole workflow, with per-ticket opt-in via labels so nothing runs that you did not ask for.

Git worktree isolation

Each ticket gets its own worktree and branch.

Plan review and ticket chat

Review agent plans and answer agent questions without leaving the app.

Automated PR creation and review

Creates PRs, and watches for PRs where you are a requested reviewer — spawning review sessions automatically.

CI auto-fix

Reads failing GitHub Actions logs and PR review comments, then reprompts the agent to fix them.

Production error investigation

Pulls errors from PostHog error tracking and spawns investigation sessions.

Embedded terminals and browser

Split and dockable terminals, a browser panel, and a dev server runner.

One-click deploys

Run your own release commands per repo.

Usage tracking and doctor

Per-session budgets, a live usage bar, and diagnostics for your CLIs, tokens, and MCP servers.

In the loop

Answer the agent. Drive the rest from the keyboard.

When an agent hits a decision it should not make alone, it asks — in a thread attached to the ticket, resumable across app restarts. Everything else is one keystroke away: ⌘K searches tickets, sessions, reviews, terminals and browser tabs at once.

Two recreations of Sully screens. The first is a per-ticket agent chat where the agent asks whether failed webhook deliveries must keep their order, the answer is given, and the agent writes the decision into the plan. The second is the command palette searching the word retry across tickets, sessions, reviews, terminals and actions. Both are fictional examples.

Command palette — search anything, run actions
K
Collapse or expand the sidebar
B
Toggle the browser panel
B
Split the terminal pane side by side
D

Integrations

It plugs into the tools already on your machine.

Linear
Polls tickets by column, moves states, and reads and posts comments through the GraphQL API. Optional — Sully also ships local tickets that live in your repo.
GitHubgh
Creates PRs, checks CI status, fetches failing Actions logs, and reads and posts PR review comments.
Claude Codeclaude
The main agent for planning, coding, PR creation, review, and error investigation.
OpenAI Codexcodex
Optional alternative agent, configurable per phase.
MCP servers
Per-phase server selection from ~/.claude.json, with OAuth re-login support.
Figma
Injects a Figma token into sessions so agents can read design comments.
PostHog
Queries error tracking to feed production error investigation sessions.
Git
Worktrees, branch sync, and mapping repos to local paths.
CI providers
GitHub Actions log fetching, plus CircleCI and Vercel status through the PR check rollup.

Stop babysitting tickets.

Sully is still in private development. The first builds go out soon — watch a ticket go from plan to PR without babysitting it.

Coming soon