@demerzels-lab/vikunja
AManage tasks and projects on a self-hosted Vikunja instance. Use when the user wants to create, view, complete, or manage tasks, check what's due or overdue, list projects, or get task notifications. Also use for to-do lists, reminders, and task tracking.
Install
agr install @demerzels-lab/vikunja --target claudeWrites 2 files into .claude/skills/, pinned to git-c94259b3.
- .claude/skills/vikunja/SKILL.md
- .claude/skills/vikunja/_meta.json
Document
name: vikunja description: Manage tasks and projects on a self-hosted Vikunja instance. Use when the user wants to create, view, complete, or manage tasks, check what's due or overdue, list projects, or get task notifications. Also use for to-do lists, reminders, and task tracking.
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
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-c94259b3f2c72026-07-31