SoloBoard is an autonomous development orchestrator for Claude Code. It silently tracks your tasks, manages your board, and stays out of your way -- until you need it.
This guide walks you through installation, first use, and the most common workflows.
- Node.js 18+ -- check with
node --version - Claude Code installed and working -- install guide
- (Optional)
ghCLI -- for GitHub integration (pr_create,sync_push, etc.)
npm install -g soloboard
cd my-project
soloboard installgit clone https://github.com/egorfedorov/Soloboard.git
cd Soloboard && npm install && npm run build
bash install.sh /path/to/your/projectBoth options do the same thing:
- Add the SoloBoard MCP server to your project's
.mcp.json - Install hooks in
.claude/settings.json(file tracking, commit linking) - Add agent instructions to
CLAUDE.md - Initialize the
.kanban/directory - Add
.kanban/sessions/to.gitignore
SoloBoard is invisible. There is no init command to run, no config to write. Just open Claude Code in your project:
cd my-project
claude
Then start working as you normally would:
you > fix the login bug on mobile
That's it. Behind the scenes, SoloBoard:
- Initializes the board automatically (if it hasn't already)
- Detects that "fix the login bug on mobile" is an actionable task (not a question)
- Creates a task and moves it to DOING
- Analyzes your project to find related files, set tags, and assign priority
You never see any of this unless you ask.
When you want to see what's on the board, use the slash command:
you > /soloboard-board
Example output:
# my-project
## TODO (1)
- [!!] Add user settings page (t_abc123) [backend, ui]
## DOING (1)
- [!!] Fix login bug on mobile (t_jkl012) [auth, mobile]
branch: fix/login-mobile
commits: abc1234
## DONE (3)
- [!] Setup auth middleware (t_mno345)
- [!] Add dark mode (t_pqr678)
- [!] Refactor API layer (t_stu901)
Priority indicators: [!!!] high, [!!] medium, [!] low.
The board tracks your work automatically based on your prompts.
Actionable prompt -- task created:
you > refactor the database connection pool
A new task is created in DOING. If you already had a task in DOING, it gets moved back to TODO and its context is saved.
Question -- nothing happens:
you > how does the auth middleware work?
SoloBoard recognizes this as a question and does not create a task.
Switching context:
you > fix the login bug on mobile
<- task created: "Fix login bug on mobile"
you > actually, let's add rate limiting first
<- previous task saved to TODO
<- new task created: "Add rate limiting"
Marking a task done:
you > /soloboard-task done
The active task moves to DONE. Time spent is recorded automatically.
Viewing the active task:
you > /soloboard-task
Shows full details: title, priority, tags, linked commits, files touched, and timestamps.
For larger projects, you can plan and organize work ahead of time.
Create tasks manually:
you > /soloboard-task create Migrate database to PostgreSQL
Plan from a description:
Tell Claude what you want to build, and SoloBoard breaks it into tasks with dependencies:
you > I want to build an auth system with JWT, refresh tokens,
and role-based access control
Claude uses plan_from_prompt to generate a structured breakdown:
Plan: Auth System (5 tasks)
1. [!!] Setup JWT signing and verification
2. [!!] Implement refresh token rotation
blocked by: #1
3. [!!!] Add role-based access control
blocked by: #1
4. [!] Create auth middleware
blocked by: #1, #2
5. [!] Write integration tests
blocked by: #3, #4
Then plan_apply creates all the tasks at once with their dependencies wired up.
Dependencies:
Tasks can block each other. A blocked task cannot move to DOING until its blockers are done.
you > make "Write tests" depend on "Add role-based access control"
Use critical_path to find the longest dependency chain -- the bottleneck that determines your project timeline.
Sprints:
Group tasks into time-boxed sprints for focused delivery:
you > create a sprint called "Auth MVP" for this week, add the first 3 auth tasks
View sprint progress with burndown tracking:
you > show the current sprint
SoloBoard supports multiple Claude Code agents working in parallel on the same project.
Register agents:
Each agent registers itself to coordinate with others:
you > register as the backend agent
Uses agent_register to create an agent session.
Claim tasks:
Agents claim tasks to prevent two agents from working on the same thing:
you > claim the "Add rate limiting" task
If another agent already claimed it, the claim fails.
Lock files:
Prevent concurrent edits to the same files:
you > lock src/auth/middleware.ts and src/auth/jwt.ts
Other agents will see these files are locked and work on something else.
Handoff context:
When one agent finishes part of a task and another needs to continue:
you > hand off this task with context about what I've done so far
Creates a handoff package with full context: files examined, decisions made, remaining work. The next agent picks it up with agent_pickup.
SoloBoard includes tools for automated quality checks.
Pre-close review:
Before marking an important task done, run a review:
you > review this task before closing it
Uses task_review to check for:
- Leftover TODOs in changed files
- Missing tests for new code
- Type errors
- Uncommitted changes
Automated code review:
Run a deeper review on specific files or the whole task:
you > run a code review on the auth changes
Uses review_run to scan for TODOs, type errors, security issues, and style problems. View findings with review_findings and respond to each one.
QA automation:
Run your test suite and parse the results:
you > run QA on the auth module
Uses qa_run to execute tests, parse failures, and automatically create bug tasks for anything that broke. Re-run after fixes with qa_rerun to compare results.
Approval workflow:
For critical decisions, request human approval:
you > request approval to deploy to production
Uses approval_request. The approval stays pending until a human resolves it with approval_resolve.
SoloBoard links your git activity to tasks automatically.
Commits are auto-linked:
When you commit while a task is in DOING, the commit SHA is recorded on the task.
PR auto-flow:
Create a complete PR workflow in one step:
you > create a PR for this task
Uses pr_auto_flow to: create a branch, commit changes, push, open a PR, and link it back to the task.
External sync:
Push tasks to GitHub Issues, Linear, or Jira:
you > sync this task to GitHub Issues
Set up with sync_setup, then push and pull with sync_push and sync_pull. Status changes sync bidirectionally with sync_update.
SoloBoard adds three slash commands to Claude Code:
| Command | Subcommands | What it does |
|---|---|---|
/soloboard-board |
(none) | Display the kanban board with all columns |
/soloboard-task |
(none) | Show the active (DOING) task |
done |
Move active task to DONE | |
todo |
Move active task back to TODO | |
create <title> |
Create a new task | |
<id-or-name> |
Show details for a specific task | |
delete <id-or-name> |
Archive a task | |
/soloboard-project |
(none) | Show active project info |
create <name> |
Create a new project board | |
list |
List all projects | |
switch <name-or-id> |
Switch to a different project |
SoloBoard stores everything in the .kanban/ directory at the root of your project.
.kanban/
config.json # Active project, session, settings
boards/ # Board definitions (columns and task IDs)
tasks/ # One JSON file per task
sprints/ # Sprint definitions
archive/ # Completed old tasks
sessions/ # Session logs (gitignored)
agents/ # Agent registrations (multi-agent)
locks/ # File locks (multi-agent)
...
Config file: .kanban/config.json
{
"activeProjectId": null,
"activeSessionId": null,
"kanbanDir": ".kanban",
"autoTrack": true,
"autoArchiveDays": 30
}autoTrack-- whether to auto-create tasks from prompts (default: true)autoArchiveDays-- move DONE tasks to archive after this many days (default: 30)
Safe to commit: The .kanban/ directory is designed to be committed to git. Session files are automatically gitignored since they are ephemeral. Committing tasks, boards, and sprints lets your whole team share the board state.
Let the board manage itself. The less you think about SoloBoard, the better it works. Just describe what you want to build, and it tracks the work.
Use /soloboard-board sparingly. Check the board when you want an overview or need to decide what to work on next. You do not need to check it after every prompt.
Use sprints for larger projects. If you have more than 5-6 tasks, group them into sprints. This gives you burndown tracking and helps focus your work.
Run task_review before closing important tasks. The pre-close review catches leftover TODOs, missing tests, and uncommitted changes that are easy to miss.
Use plan_from_prompt for feature planning. Instead of manually creating tasks one by one, describe the whole feature and let SoloBoard break it down with dependencies.
Use suggest_next when you are unsure what to do. It analyzes priorities, blockers, and dependencies to recommend the highest-impact task to work on next.
"I don't see any SoloBoard tools in Claude Code"
Make sure SoloBoard is registered in your project's .mcp.json. Run:
cat .mcp.jsonYou should see a soloboard entry under mcpServers. If not, re-run the install:
soloboard install
# or: bash /path/to/soloboard/install.sh"Tasks aren't being created from my prompts"
SoloBoard relies on Claude calling task_smart_create when it detects an actionable prompt. Check that:
- The
CLAUDE.mdfile in your project contains the SoloBoard agent instructions (look for<!-- SOLOBOARD:START -->) - The
.claude/settings.jsonfile has the SoloBoard hooks configured - You are giving actionable prompts, not questions. "Fix the login bug" creates a task. "How does the login work?" does not.
"The board is empty even though I've been working"
The board auto-initializes on the first interaction via auto_init. If nothing has run yet:
- Start a new Claude Code session:
claude - Give an actionable prompt: "fix the login bug"
- Then check:
/soloboard-board
If the board is still empty, check that the MCP server is running by looking for errors in Claude Code's output.
"I want to start fresh"
Delete the .kanban/ directory and SoloBoard will re-initialize on the next session:
rm -rf .kanban/"How do I uninstall?"
Remove these files and sections:
- Delete the
soloboardentry from.mcp.json - Remove the SoloBoard hooks from
.claude/settings.json - Remove the
<!-- SOLOBOARD:START -->...<!-- SOLOBOARD:END -->block fromCLAUDE.md - Delete
.kanban/if you want to remove all task data - Delete
.claude/commands/soloboard-*.md