# Dashboard Skill
Build and run a Kanban-style task management dashboard for your Clawdbot agent.
## Overview
This skill creates a local web dashboard that lets you:
- Manage tasks in a Kanban board (To Do ā In Progress ā Done ā Archived)
- Monitor agent status in real-time (Online/Thinking/Ready)
- Drop notes for the agent to check on heartbeats
- View action logs and quick-access deliverables
## Quick Start
Run the setup script to install and start the dashboard:
```bash
bash /path/to/skills/dashboard/setup.sh
```
Or have your agent run it:
> Set up and start my Clawdbot dashboard
## Manual Setup
### 1. Install Dependencies
```bash
# Ubuntu/Debian
apt-get install -y python3-flask python3-flask-cors
# Or with pip
pip3 install flask flask-cors
```
### 2. Create Dashboard Directory
```bash
mkdir -p ~/clawd-dashboard/{templates,static/css,static/js,data}
```
### 3. Copy Files
Copy these files from the skill's `src/` directory:
- `app.py` ā `~/clawd-dashboard/`
- `templates/index.html` ā `~/clawd-dashboard/templates/`
- `static/css/style.css` ā `~/clawd-dashboard/static/css/`
- `static/js/dashboard.js` ā `~/clawd-dashboard/static/js/`
### 4. Start the Dashboard
```bash
cd ~/clawd-dashboard
python3 app.py
```
Dashboard runs on **http://localhost:5050**
## Configuration
### Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `CLAWD_WORKSPACE` | `/root/clawd` | Path to agent workspace |
| `DASHBOARD_PORT` | `5050` | Port to run dashboard on |
### Customization
Edit `app.py` to customize:
- **Deliverables**: Modify `get_deliverables()` to add your own folder shortcuts
- **Agent ID**: Change the session key pattern in `get_agent_status()` if your agent isn't named "clawd"
## Features
### Kanban Board
- **Drag & drop** tasks between columns
- **Color-coded** columns (red=todo, yellow=progress, green=done, gray=archived)
- **Click to edit** any task
- Tasks persist in `data/tasks.json`
### Agent Status
- Polls `clawdbot status --json` every 10 seconds
- Shows: Online/Offline, Thinking/Ready state
- Displays model name and token usage
### Notes Section
- Add instructions for your agent
- Agent can read these during heartbeat checks
- Saved to `data/notes.json`
### Action Log
- Tracks task creates/moves/deletes
- Timestamps all actions
- Last 100 entries stored in `data/action_log.json`
## Running as a Service
To keep the dashboard running after logout:
```bash
# Using systemd (recommended)
cat > /etc/systemd/system/clawd-dashboard.service << 'EOF'
[Unit]
Description=Clawd Dashboard
After=network.target
[Service]
Type=simple
WorkingDirectory=/root/clawd-dashboard
ExecStart=/usr/bin/python3 app.py
Restart=always
Environment=CLAWD_WORKSPACE=/root/clawd
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable clawd-dashboard
systemctl start clawd-dashboard
```
## Security Notes
- Dashboard has **no authentication** by default
- Only run on trusted networks (localhost, Tailscale, VPN)
- Do NOT expose to public internet without adding auth
## Troubleshooting
### "Status shows offline"
- Check that `clawdbot status --json` works from command line
- Verify the agent ID pattern matches your setup
### "Tasks not saving"
- Check that `data/` directory exists and is writable
- Look for errors in the terminal or `/tmp/dashboard.log`
### "Port already in use"
- Change port: `python3 app.py` then edit the `app.run()` line
- Or kill existing process: `pkill -f "python3 app.py"`
## Files Reference
```
clawd-dashboard/
āāā app.py # Flask backend (API + routes)
āāā data/
ā āāā tasks.json # Kanban tasks
ā āāā notes.json # Notes for agent
ā āāā action_log.json # Activity history
āāā static/
ā āāā css/
ā ā āāā style.css # Dark theme styles
ā āāā js/
ā āāā dashboard.js # Frontend logic
āāā templates/
āāā index.html # Main page template
```
## Credits
Inspired by the "Klaus Dashboard" from Nate Herk's Clawdbot video.Help answer questions about Catholicism accurately
Analyze budget vs actual
Push decisions to Arbiter Zebu for async human review.
Create, validate, and publish Agent Skills following