← Back to Skills Marketplace
bydavid

Vikunja

by David · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ Security Clean
116
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install self-hosted-vikunja
Description
Interact with a self-hosted Vikunja task management instance via its REST API. Use when the user asks to create, update, delete, or list tasks/projects/label...
README (SKILL.md)

Vikunja

Self-hosted Vikunja integration via REST API. The instance is configured in references/vikunja.yaml (or ~/.config/vikunja.yaml).

Quick Start

# Authenticate once, then use the token for all requests
TOKEN=$(python3 "$(skill-dir)/scripts/vikunja.py" login)

# Add a task to the Inbox project (id=1)
python3 "$(skill-dir)/scripts/vikunja.py" task create "Walk the dog" --project 1 --due "2026-05-20T18:00:00Z" --priority 2

Configuration

Place ~/.config/vikunja.yaml with:

base_url: "http://192.168.1.230:3456"
username: "admin"
password: "admin123"

The helper script auto-detects this path. Override with env vars: VIKUNJA_BASE_URL, VIKUNJA_USER, VIKUNJA_PASS.

Important API Quirks

  • PUT creates resources (not POST)
  • POST updates resources (not PUT)
  • DELETE works for deleting tasks/projects
  • Tasks are created under a project — each project must exist first
  • Token expires; the script re-authenticates automatically on 401

Core Workflows

1. Create a Task

python3 "$(skill-dir)/scripts/vikunja.py" task create "Title" \
  --project 1 \
  --description "Details here" \
  --due "2026-05-20T18:00:00" \
  --start "2026-05-19T09:00:00" \
  --priority 2 \
  --label "work" \
  --reminder "before 1h"

Supported flags: --project, --description, --due, --start, --end, --priority, --label, --reminder, --repeat-every, --repeat-mode (0=default, 1=monthly, 2=from-current), --color.

2. List Tasks

# All tasks
python3 "$(skill-dir)/scripts/vikunja.py" task list

# Tasks in a specific project
python3 "$(skill-dir)/scripts/vikunja.py" task list --project 1

# Only undone tasks, sorted by priority descending
python3 "$(skill-dir)/scripts/vikunja.py" task list --filter "done=false" --sort-by "priority" --order "desc"

Filter syntax: see API Reference for full query syntax.

3. Update a Task

# Mark as done
python3 "$(skill-dir)/scripts/vikunja.py" task update $TASK_ID --done

# Change due date
python3 "$(skill-dir)/scripts/vikunja.py" task update $TASK_ID --due "2026-05-21T10:00:00"

# Change priority
python3 "$(skill-dir)/scripts/vikunja.py" task update $TASK_ID --priority 3

4. Bulk Operations

# Mark multiple tasks done at once
python3 "$(skill-dir)/scripts/vikunja.py" tasks bulk-complete 12 15 18

5. Projects

# List all projects
python3 "$(skill-dir)/scripts/vikunja.py" project list

# Create a new project
python3 "$(skill-dir)/scripts/vikunja.py" project create "Side Projects" --identifier "SP" --color "#ff6600"

6. Labels

# List labels
python3 "$(skill-dir)/scripts/vikunja.py" label list

# Create a label
python3 "$(skill-dir)/scripts/vikunja.py" label create "urgent" --color "#ff0000"

# Assign label to task
python3 "$(skill-dir)/scripts/vikunja.py" task add-label $TASK_ID "urgent"

7. Delete

python3 "$(skill-dir)/scripts/vikunja.py" task delete $TASK_ID
python3 "$(skill-dir)/scripts/vikunja.py" project delete $PROJECT_ID

AI Usage Patterns

When the user says "schedule X for Y date", parse the date and create a task:

  • "remind me to buy milk tomorrow at 6pm" → task title "Buy milk", due "2026-05-19T18:00:00"
  • "every monday review expenses" → task with --repeat-every 604800 --repeat-mode 0
  • "add fix the login bug as high priority" → priority 3 or 4

For recurring tasks, compute repeat_after in seconds:

  • daily = 86400, weekly = 604800, monthly = 2592000, yearly = 31536000

Version Notes

  • Buckets/Kanban (bucket commands) require Vikunja v2.4+ — not available in v2.3.0
  • Admin routes (/api/v1/admin/) require Vikunja v2.4+ — not available in v2.3.0
  • This skill works with Vikunja v2.3.0+ for all task/project/label operations

Error Handling

  • 401 → re-login automatically
  • 403 → project access issue; list projects to check permissions
  • 404 → task/project not found; try listing to find it
  • 400 → invalid request body; check required fields (title is always required)
  • Log errors to memory/vikunja-errors.log for debugging

Resources

Usage Guidance
Treat this as an incomplete review: the scan did not find supported evidence of suspicious behavior, but the artifacts should be re-run through review once metadata.json and the artifact directory are readable.
Capability Assessment
Purpose & Capability
Not assessed from artifact content because command execution failed before metadata.json or artifact files could be read.
Instruction Scope
Not assessed from artifact content because the supplied skill instructions were unavailable to inspect.
Install Mechanism
Not assessed from artifact content because install specs and manifests could not be read.
Credentials
Not assessed from artifact content because runtime capability details were unavailable.
Persistence & Privilege
Not assessed from artifact content because persistence, credential, and privilege behavior could not be inspected.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install self-hosted-vikunja
  3. After installation, invoke the skill by name or use /self-hosted-vikunja
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
Fixed parse_date timezone format, fixed --done boolean parsing, fixed bulk update API body, removed non-functional bucket commands (kanban requires v2.4+), added version notes
v1.0.0
Initial release of self-hosted Vikunja skill: - Integrates with a self-hosted Vikunja task management instance via REST API. - Supports creating, updating, deleting, and listing tasks, projects, and labels. - Handles reminders, due dates, bulk-completion, recurring tasks, and project views. - Includes command-line workflow examples and detailed configuration instructions. - Automatic token management and robust error handling for common API issues.
Metadata
Slug self-hosted-vikunja
Version 1.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Vikunja?

Interact with a self-hosted Vikunja task management instance via its REST API. Use when the user asks to create, update, delete, or list tasks/projects/label... It is an AI Agent Skill for Claude Code / OpenClaw, with 116 downloads so far.

How do I install Vikunja?

Run "/install self-hosted-vikunja" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Vikunja free?

Yes, Vikunja is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Vikunja support?

Vikunja is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Vikunja?

It is built and maintained by David (@bydavid); the current version is v1.1.0.

💬 Comments