{
  "schemaVersion": "1.0",
  "item": {
    "slug": "vikunja-tasks",
    "name": "Vikunja Tasks",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/nickian/vikunja-tasks",
    "canonicalUrl": "https://clawhub.ai/nickian/vikunja-tasks",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/vikunja-tasks",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=vikunja-tasks",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/vikunja.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/vikunja-tasks"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/vikunja-tasks",
    "agentPageUrl": "https://openagent3.xyz/skills/vikunja-tasks/agent",
    "manifestUrl": "https://openagent3.xyz/skills/vikunja-tasks/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/vikunja-tasks/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Vikunja Task Manager",
        "body": "Manage tasks and projects on a self-hosted Vikunja instance via REST API."
      },
      {
        "title": "Setup",
        "body": "Set these environment variables:\n\nexport VIKUNJA_URL=\"https://your-vikunja-instance.com\"\nexport VIKUNJA_TOKEN=\"your-api-token\"\n\nGet your API token: Vikunja → Settings → API Tokens → Create token."
      },
      {
        "title": "List tasks",
        "body": "{baseDir}/scripts/vikunja.sh tasks --count 10\n{baseDir}/scripts/vikunja.sh tasks --project \"Shopping\" --count 5\n{baseDir}/scripts/vikunja.sh tasks --search \"groceries\"\n{baseDir}/scripts/vikunja.sh tasks --sort priority --order desc"
      },
      {
        "title": "Overdue tasks",
        "body": "{baseDir}/scripts/vikunja.sh overdue"
      },
      {
        "title": "Tasks due soon (next N hours)",
        "body": "{baseDir}/scripts/vikunja.sh due --hours 24\n{baseDir}/scripts/vikunja.sh due --hours 48"
      },
      {
        "title": "Create a task",
        "body": "{baseDir}/scripts/vikunja.sh create-task --project \"Tasks\" --title \"Buy milk\" --due \"2026-02-01\" --priority 3\n\nPriority: 1 (low) to 5 (urgent). Due date format: YYYY-MM-DD."
      },
      {
        "title": "Complete a task",
        "body": "{baseDir}/scripts/vikunja.sh complete --id 123"
      },
      {
        "title": "Get task details",
        "body": "{baseDir}/scripts/vikunja.sh task --id 123"
      },
      {
        "title": "List projects",
        "body": "{baseDir}/scripts/vikunja.sh projects"
      },
      {
        "title": "Create a project",
        "body": "{baseDir}/scripts/vikunja.sh create-project --title \"New Project\" --description \"Optional description\""
      },
      {
        "title": "Get notifications",
        "body": "{baseDir}/scripts/vikunja.sh notifications"
      },
      {
        "title": "Due Date Monitoring",
        "body": "To get proactive notifications about due/overdue tasks, set up a cron job:\n\nclawdbot cron add \\\n  --name \"Task due check\" \\\n  --cron \"0 9,14 * * *\" \\\n  --tz \"America/Denver\" \\\n  --session isolated \\\n  --message \"Check Vikunja for overdue and upcoming tasks (next 24 hours). If any are found, notify me with the list.\" \\\n  --deliver \\\n  --channel telegram"
      },
      {
        "title": "Notes",
        "body": "Project names in --project are case-insensitive\nFilter expressions follow Vikunja filter syntax (see https://vikunja.io/docs/filters)\nAll times are handled in America/Denver timezone"
      }
    ],
    "body": "Vikunja Task Manager\n\nManage tasks and projects on a self-hosted Vikunja instance via REST API.\n\nSetup\n\nSet these environment variables:\n\nexport VIKUNJA_URL=\"https://your-vikunja-instance.com\"\nexport VIKUNJA_TOKEN=\"your-api-token\"\n\n\nGet your API token: Vikunja → Settings → API Tokens → Create token.\n\nCommands\nList tasks\n{baseDir}/scripts/vikunja.sh tasks --count 10\n{baseDir}/scripts/vikunja.sh tasks --project \"Shopping\" --count 5\n{baseDir}/scripts/vikunja.sh tasks --search \"groceries\"\n{baseDir}/scripts/vikunja.sh tasks --sort priority --order desc\n\nOverdue tasks\n{baseDir}/scripts/vikunja.sh overdue\n\nTasks due soon (next N hours)\n{baseDir}/scripts/vikunja.sh due --hours 24\n{baseDir}/scripts/vikunja.sh due --hours 48\n\nCreate a task\n{baseDir}/scripts/vikunja.sh create-task --project \"Tasks\" --title \"Buy milk\" --due \"2026-02-01\" --priority 3\n\n\nPriority: 1 (low) to 5 (urgent). Due date format: YYYY-MM-DD.\n\nComplete a task\n{baseDir}/scripts/vikunja.sh complete --id 123\n\nGet task details\n{baseDir}/scripts/vikunja.sh task --id 123\n\nList projects\n{baseDir}/scripts/vikunja.sh projects\n\nCreate a project\n{baseDir}/scripts/vikunja.sh create-project --title \"New Project\" --description \"Optional description\"\n\nGet notifications\n{baseDir}/scripts/vikunja.sh notifications\n\nDue Date Monitoring\n\nTo get proactive notifications about due/overdue tasks, set up a cron job:\n\nclawdbot cron add \\\n  --name \"Task due check\" \\\n  --cron \"0 9,14 * * *\" \\\n  --tz \"America/Denver\" \\\n  --session isolated \\\n  --message \"Check Vikunja for overdue and upcoming tasks (next 24 hours). If any are found, notify me with the list.\" \\\n  --deliver \\\n  --channel telegram\n\nNotes\nProject names in --project are case-insensitive\nFilter expressions follow Vikunja filter syntax (see https://vikunja.io/docs/filters)\nAll times are handled in America/Denver timezone"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/nickian/vikunja-tasks",
    "publisherUrl": "https://clawhub.ai/nickian/vikunja-tasks",
    "owner": "nickian",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/vikunja-tasks",
    "downloadUrl": "https://openagent3.xyz/downloads/vikunja-tasks",
    "agentUrl": "https://openagent3.xyz/skills/vikunja-tasks/agent",
    "manifestUrl": "https://openagent3.xyz/skills/vikunja-tasks/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/vikunja-tasks/agent.md"
  }
}