Source Code
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 /path/to/skills/dashboard/setup.sh
Or have your agent run it:
Set up and start my Clawdbot dashboard
Manual Setup
1. Install Dependencies
# Ubuntu/Debian
apt-get install -y python3-flask python3-flask-cors
# Or with pip
pip3 install flask flask-cors
2. Create Dashboard Directory
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
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 --jsonevery 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:
# 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 --jsonworks 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.pythen edit theapp.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.