# Agentboard

A bidirectional kanban board for AI agents and humans. Both sides read and write the same `.agentboard/board.json` file, with a live web UI that syncs in real-time.

## Install

```bash
pip install agentboard
```

## Quick start

```bash
# Initialize a board in your project
cd your-project
agentboard init

# Open the web UI
agentboard
```

## How it works

- The agent reads and writes `.agentboard/board.json` directly via the filesystem
- The web server polls the file every second and pushes changes to the browser via SSE
- User changes in the UI are posted back to the server, which writes to the same file
- No database, no external services, just a JSON file

## CLI Commands

| Command | Description |
|---------|-------------|
| `agentboard` | Start the web UI (default) |
| `agentboard init` | Create `.agentboard/board.json` in the current directory |
| `agentboard status` | Print task counts per column |
| `agentboard add "title"` | Add a task (options: `--column`, `--tag`, `--priority`) |

## Claude Code Integration

Copy `skill/SKILL.md` to your Claude Code skills directory:

```bash
mkdir -p ~/.claude/skills/agentboard
cp skill/SKILL.md ~/.claude/skills/agentboard/SKILL.md
```

The skill teaches the agent to read the board before writing, move tasks through columns as it works, and respect user-added tasks.

## Board Schema

Tasks have these fields:

- `id` - Unique identifier (e.g., `t_a1b2c3d4`)
- `title` - Short imperative description
- `description` - Optional longer description
- `tag` - One of: `feature`, `bug`, `chore`, `docs`, `test`, `design`
- `priority` - One of: `high`, `medium`, `low`, or `null`
- `column` - One of: `backlog`, `todo`, `in_progress`, `done`
- `created_by` - Either `agent` or `user`

## Web UI Features

- Drag and drop cards between columns
- Double-click cards to edit title, description, tag, and priority
- Add tasks via the input at the bottom of the Backlog column
- Live updates when the agent modifies the board file
- Connection status indicator

## License

MIT
