smk-labs/claude-config/vikunja-vja

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Manage Vikunja tasks, projects, and labels via the vja CLI. Use whenever the user mentions tasks, todos, Vikunja, due dates, priorities, or wants to create, list, edit, complete, or delete anything in their task manager.

Install

npx vskill@latest install smk-labs/claude-config/vikunja-vja

SKILL.md

Vikunja Tasks (vja CLI)

Interact with a Vikunja instance using the vja command-line tool.

Two rules that always apply:

  • Always pass --json for machine-readable output
  • Task titles are positional arguments — not --title

Tasks

Create
bash
vja add "Task title"
vja add "Task title" -n "Description" -d "tomorrow" -p 3 -l urgent -A alice
vja add "Task title" -d "next monday at 9:00" -r "1h before due_date" -o "My Project"
FlagMeaning
-n / --noteDescription/body
-d / --dueDue date (natural language or ISO)
--start / --endStart/end dates
-p / --prioPriority: 1=low, 2=medium, 3=high, 4=urgent
-l / --labelLabel (repeat for multiple: -l bug -l backend)
-A / --assigneeUsername to assign
-r / --reminderReminder time ("in 3 days at 18:00", "1h before due_date")
-o / --projectProject name or ID
-f / --starMark as favorite
--force-createCreate the label if it doesn't exist
List & Filter
bash
# Basic list
vja ls --json | jq '.tasks[] | {id, title, due_date, priority}'
# Common filters
vja ls --filter "done eq false" --json | jq '.tasks[] | {id, title}'
vja ls --filter "priority ge 3" --json | jq '.tasks[] | {id, title, priority}'
vja ls --filter "due_date before today" --json | jq '.tasks[] | {id, title, due_date}'
vja ls -l urgent --json | jq '.tasks[] | {id, title}'
vja ls -o "My Project" --json | jq '.tasks[] | {id, title}'
vja ls -u 3 --json | jq '.tasks[] | {id, title, urgency}' # urgency score >= 3
vja ls --all --json | jq '.tasks[] | {id, title, done}' # include completed
vja ls --sort "-priority,due_date" --json | jq '.tasks[] | {id, title}'

Filter operators: eq, ne, gt, lt, ge, le, before, after, contains Multiple --filter flags are ANDed together.

Show
bash
vja show <task_id> --json | jq '{id, title, description, due_date, priority, assignees, labels}'
Edit
bash
vja edit <task_id> -i "New title"
vja edit <task_id> -n "Updated description"
vja edit <task_id> -a "Appended note" # append to existing description
vja edit <task_id> -d "next friday" -p 4
vja edit <task_id> -l bug -l backend # replace labels
vja edit <task_id> -A alice # toggle assignee (adds if absent, removes if present)
vja edit <task_id> -c true # mark completed
vja edit <task_id> -f # star; use --no-star to unstar
vja edit <task_id> -o "Other Project" # move to a different project
Other task commands
bash
vja toggle <task_id> # toggle done/undone
vja delete <task_id> -q # delete quietly
vja defer <task_id> 2d # push due date forward (also shifts reminders)
vja defer <task_id> 1h30m
vja clone <task_id> "New title" # duplicate a task
vja open <task_id> # open in browser

Projects

bash
vja project ls --json | jq '.[] | {id, title, parent_project_id}'
vja project show <project_id> --json | jq .
vja project add "Project name"
vja project add "Sub-project" -o "Parent Project"

Labels

bash
vja label ls --json | jq '.[] | {id, title}'
vja label add "new-label"

User

bash
vja user show --json | jq '{id, username, email}'

Workflow Examples

Daily review
bash
# Overdue open tasks
vja ls --filter "due_date before today" --filter "done eq false" --json \
| jq '.tasks[] | {id, title, due_date}'
# High-priority open tasks, sorted by urgency
vja ls --filter "priority ge 3" --filter "done eq false" --sort "-urgency" --json \
| jq '.tasks[] | {id, title, priority, urgency, due_date}'
Create with full context in one shot
bash
vja add "Review PR #42" -p 3 -d "today" -A alice -l review --force-create
Bulk-defer all overdue tasks by one day
bash
vja ls --filter "due_date before today" --filter "done eq false" --json \
| jq '.tasks[].id' \
| xargs -I{} vja defer {} 1d -q
Mark complete and confirm
bash
vja toggle <task_id> -v --json | jq '{id, title, done}'

Notes

  • Dates accept natural language via parsedatetime: "tomorrow", "next monday", "in 3 days at 9:00", "2025-12-31"
  • --json returns Vikunja API format; --jsonvja returns vja's internal format
  • Config lives at ~/.config/vja/config.rc (legacy: ~/.vjacli/vja.rc)

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/smk-labs/claude-config/vikunja-vja/badge)](https://verified-skill.com/skills/smk-labs/claude-config/vikunja-vja)

Something wrong with this skill or its page? Tell us.