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.
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
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
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
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
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
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.