Install
openclaw skills install @shad0wca7/vikunja-kanbanopenclaw skills install @shad0wca7/vikunja-kanbanManage a Vikunja kanban board via API. Read status, create/move/complete tasks, and integrate with heartbeat and triage crons.
Credentials stored in secrets/vikunja.env:
VIKUNJA_URL=https://kanban.pigpen.haus
VIKUNJA_TOKEN=${VIKUNJA_TOKEN}
VIKUNJA_PROJECT_ID=1
VIKUNJA_VIEW_ID=4
All scripts use a long-lived API token (expires 2030-01-01). No JWT login needed.
VIKUNJA_TOKEN environment variableAuthorization: Bearer $VIKUNJA_TOKENsecrets/vikunja.env for reference only| ID | Name | Purpose |
|---|---|---|
| 1 | 🔴 Urgent | Needs immediate attention |
| 2 | ⏳ Waiting On | Sent/requested, awaiting reply |
| 7 | ⚠️ System Issues | Infra/system problems |
| 8 | 🚧 Active Projects | In progress |
| 9 | 📅 Upcoming | Scheduled/future |
| 10 | 📥 Inbox | New items, untriaged |
| 3 | ✅ Done | Completed |
All scripts are in the skill's scripts/ directory. Run from the skill root.
bash scripts/vikunja-status.sh # All buckets
bash scripts/vikunja-status.sh "Urgent" # Filter by bucket name
bash scripts/vikunja-add-task.sh "Title" "Description" BUCKET_ID [PRIORITY]
# Priority: 0=unset, 1=low, 2=medium, 3=high, 4=urgent
# Example: bash scripts/vikunja-add-task.sh "Fix DNS" "Check records" 1 4
bash scripts/vikunja-move-task.sh TASK_ID BUCKET_ID
# Example: bash scripts/vikunja-move-task.sh 15 3 # Move to Done
bash scripts/vikunja-complete-task.sh TASK_ID
The heartbeat cron reads from Vikunja:
bash scripts/vikunja-status.sh
scripts/nc-status-board.sh readEmail triage adds Action Required items to the Inbox bucket:
bash scripts/vikunja-add-task.sh "Email subject" "Brief description" 10 3