360 Secure SkillHub
360 安全技能中心

Vikunja-complete

面向 Vikunja 任务管理 API 的命令行封装,提供任务增删改查、移动、完成、批量更新,以及评论、标签、负责人、视图、分桶、附件、关联关系、保存过滤器、通知、订阅、Webhook 和 API 令牌等操作,并附带冒烟测试脚本。使用前需配置实例地址与访问令牌,依赖 curl 与 jq。

kohlhammond
kohlhammond
热度 85.27
最近更新 2026-05-17 14:11:11
分类:协作依赖:代码执行 / 第三方 API / 读写文件应用场景:任务管理 / 工作流 / API 集成 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add vikunja-complete
Metadata
name
vikunja
description
Production-oriented Vikunja task/project management skill with deterministic commands and strong validation.
homepage
https://vikunja.io/
metadata
{"clawdbot":{"emoji":"📋","requires":{"bins":["curl","jq"],"env":["VIKUNJA_URL","VIKUNJA_TOKEN"]}}}

Vikunja (Custom Core)

Production-focused custom Vikunja skill.

Setup

export VIKUNJA_URL="https://your-vikunja-host"
export VIKUNJA_TOKEN="<api-or-jwt-token>"

Script path:

{baseDir}/scripts/vikunja.sh

Core task commands

{baseDir}/scripts/vikunja.sh health
{baseDir}/scripts/vikunja.sh list --project "Inbox" --limit 25
{baseDir}/scripts/vikunja.sh create --project "Inbox" --title "Call vendor" --due "2026-03-15" --priority 4
{baseDir}/scripts/vikunja.sh update --id 123 --title "Updated title" --priority 5 --reminder "2026-03-14"
{baseDir}/scripts/vikunja.sh move --id 123 --project "Ops" --view "Kanban" --bucket "In Progress"
{baseDir}/scripts/vikunja.sh complete --id 123
{baseDir}/scripts/vikunja.sh bulk-update --ids 101,102,103 --priority 3 --done false

Comments

{baseDir}/scripts/vikunja.sh comments list --task-id 123
{baseDir}/scripts/vikunja.sh comments add --task-id 123 --comment "Initial note"
{baseDir}/scripts/vikunja.sh comments update --task-id 123 --comment-id 9 --comment "Edited note"
{baseDir}/scripts/vikunja.sh comments delete --task-id 123 --comment-id 9

Labels

# global labels
{baseDir}/scripts/vikunja.sh labels list
{baseDir}/scripts/vikunja.sh labels create --title "blocked" --color "#ff0000"

# task labels
{baseDir}/scripts/vikunja.sh labels list --task-id 123
{baseDir}/scripts/vikunja.sh labels add --task-id 123 --label "blocked"
{baseDir}/scripts/vikunja.sh labels remove --task-id 123 --label-id 4

Assignees

{baseDir}/scripts/vikunja.sh assignees list --task-id 123
{baseDir}/scripts/vikunja.sh assignees add --task-id 123 --user-id 1
{baseDir}/scripts/vikunja.sh assignees remove --task-id 123 --user-id 1

Views and buckets

{baseDir}/scripts/vikunja.sh views list --project "Inbox"
{baseDir}/scripts/vikunja.sh views create --project "Inbox" --title "Kanban" --kind kanban

{baseDir}/scripts/vikunja.sh buckets list --project "Inbox" --view "Kanban"
{baseDir}/scripts/vikunja.sh buckets create --project "Inbox" --view "Kanban" --title "In Progress"

Project webhooks

{baseDir}/scripts/vikunja.sh webhooks list --project "Inbox"
{baseDir}/scripts/vikunja.sh webhooks create --project "Inbox" --target-url "http://localhost:8787/hook" --event task.created --event task.updated
{baseDir}/scripts/vikunja.sh webhooks delete --project "Inbox" --webhook-id 7

Attachments

{baseDir}/scripts/vikunja.sh attachments list --task-id 123
{baseDir}/scripts/vikunja.sh attachments upload --task-id 123 --file /tmp/proof.pdf
{baseDir}/scripts/vikunja.sh attachments download --task-id 123 --attachment-id 44 --output /tmp/proof-copy.pdf
{baseDir}/scripts/vikunja.sh attachments delete --task-id 123 --attachment-id 44

Relations

{baseDir}/scripts/vikunja.sh relations add --task-id 123 --other-task-id 456 --kind blocks
{baseDir}/scripts/vikunja.sh relations remove --task-id 123 --other-task-id 456 --kind blocks

Saved filters

{baseDir}/scripts/vikunja.sh filters list
{baseDir}/scripts/vikunja.sh filters create --title "Today High" --filter 'done = false && priority >= 4 && due_date < now/d + 1d'
{baseDir}/scripts/vikunja.sh filters get --id 3
{baseDir}/scripts/vikunja.sh filters update --id 3 --title "Today Critical"
{baseDir}/scripts/vikunja.sh filters delete --id 3

Notifications + subscriptions

{baseDir}/scripts/vikunja.sh notifications list
{baseDir}/scripts/vikunja.sh notifications mark --id 8
{baseDir}/scripts/vikunja.sh notifications mark

{baseDir}/scripts/vikunja.sh subscriptions subscribe --entity project --entity-id 12
{baseDir}/scripts/vikunja.sh subscriptions unsubscribe --entity project --entity-id 12

API tokens

{baseDir}/scripts/vikunja.sh tokens list
{baseDir}/scripts/vikunja.sh tokens create --title "automation" --expires-at "2026-12-31" --permissions-json '{"tasks":["read_all"]}'
{baseDir}/scripts/vikunja.sh tokens delete --token-id 5

Smoke test harness

# example (optional): source your local env helper file
# source ~/.config/vikunja/.vikunja_skill_env
export VIKUNJA_URL VIKUNJA_TOKEN
{baseDir}/scripts/test-smoke.sh