vikunja
SKILL.md
Vikunja Task Manager
Manage tasks and projects on a self-hosted Vikunja instance via REST API.
Setup
Set these environment variables:
export VIKUNJA_URL="https://your-vikunja-instance.com"
export VIKUNJA_TOKEN="your-api-token"
Get your API token: Vikunja → Settings → API Tokens → Create token.
Commands
List tasks
{baseDir}/scripts/vikunja.sh tasks --count 10
{baseDir}/scripts/vikunja.sh tasks --project "Shopping" --count 5
{baseDir}/scripts/vikunja.sh tasks --search "groceries"
{baseDir}/scripts/vikunja.sh tasks --sort priority --order desc
Overdue tasks
{baseDir}/scripts/vikunja.sh overdue
Tasks due soon (next N hours)
{baseDir}/scripts/vikunja.sh due --hours 24
{baseDir}/scripts/vikunja.sh due --hours 48
Create a task
{baseDir}/scripts/vikunja.sh create-task --project "Tasks" --title "Buy milk" --due "2026-02-01" --priority 3
Priority: 1 (low) to 5 (urgent). Due date format: YYYY-MM-DD.
Complete a task
{baseDir}/scripts/vikunja.sh complete --id 123
Get task details
{baseDir}/scripts/vikunja.sh task --id 123
List projects
{baseDir}/scripts/vikunja.sh projects
Create a project
{baseDir}/scripts/vikunja.sh create-project --title "New Project" --description "Optional description"
Get notifications
{baseDir}/scripts/vikunja.sh notifications
Due Date Monitoring
To get proactive notifications about due/overdue tasks, set up a cron job:
clawdbot cron add \
--name "Task due check" \
--cron "0 9,14 * * *" \
--tz "America/Denver" \
--session isolated \
--message "Check Vikunja for overdue and upcoming tasks (next 24 hours). If any are found, notify me with the list." \
--deliver \
--channel telegram
Notes
- Project names in
--projectare case-insensitive - Filter expressions follow Vikunja filter syntax (see https://vikunja.io/docs/filters)
- All times are handled in America/Denver timezone