{
  "schemaVersion": "1.0",
  "item": {
    "slug": "obsidian-plugin-tasknotes",
    "name": "Obsidian Tasknotes",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/benoitjadinon/obsidian-plugin-tasknotes",
    "canonicalUrl": "https://clawhub.ai/benoitjadinon/obsidian-plugin-tasknotes",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/obsidian-plugin-tasknotes",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=obsidian-plugin-tasknotes",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/tasks.py"
    ],
    "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",
      "slug": "obsidian-plugin-tasknotes",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T08:17:06.022Z",
      "expiresAt": "2026-05-13T08:17:06.022Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=obsidian-plugin-tasknotes",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=obsidian-plugin-tasknotes",
        "contentDisposition": "attachment; filename=\"obsidian-plugin-tasknotes-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "obsidian-plugin-tasknotes"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/obsidian-plugin-tasknotes"
    },
    "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/obsidian-plugin-tasknotes",
    "agentPageUrl": "https://openagent3.xyz/skills/obsidian-plugin-tasknotes/agent",
    "manifestUrl": "https://openagent3.xyz/skills/obsidian-plugin-tasknotes/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/obsidian-plugin-tasknotes/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": "TaskNotes Skill",
        "body": "Manage Obsidian tasks via the TaskNotes plugin HTTP API."
      },
      {
        "title": "Requirements",
        "body": "TaskNotes plugin installed in Obsidian\nEnable HTTP API in TaskNotes settings:\n\nOpen Obsidian Settings → TaskNotes\nEnable \"HTTP API\" toggle\nSet API port (default: 8080)\nAPI token: leave empty for no auth, or set a token for security\n\n\nEnvironment variables in .env file at vault root (if using auth):\nTASKNOTES_API_PORT=8080\nTASKNOTES_API_KEY=your_token_here\n\nIf TaskNotes has no auth token set, you don't need a .env file."
      },
      {
        "title": "CLI Commands",
        "body": "# List all tasks\nuv run scripts/tasks.py list\n\n# List by status (use your configured status values)\nuv run scripts/tasks.py list --status \"in-progress\"\n\n# List by project\nuv run scripts/tasks.py list --project \"My Project\"\n\n# Create task\nuv run scripts/tasks.py create \"Task title\" --project \"My Project\" --priority high\n\n# Create task with scheduled time\nuv run scripts/tasks.py create \"Meeting prep\" --scheduled \"2025-01-15T14:00:00\"\n\n# Update task status\nuv run scripts/tasks.py update \"Tasks/task-file.md\" --status done\n\n# Add/update task description\nuv run scripts/tasks.py update \"Tasks/task-file.md\" --details \"Additional context here.\"\n\n# Delete task\nuv run scripts/tasks.py delete \"Tasks/task-file.md\"\n\n# Get available options (statuses, priorities, projects)\nuv run scripts/tasks.py options --table\n\n# Human-readable output (add --table)\nuv run scripts/tasks.py list --table"
      },
      {
        "title": "Task Properties",
        "body": "Status and Priority values: Configured in your TaskNotes plugin settings. Run options command to see available values:\n\nuv run scripts/tasks.py options --table\n\nOther fields:\n\nprojects - Array of project links, e.g. [\"[[Project Name]]\"]\ncontexts - Array like [\"office\", \"energy-high\"]\ndue - Due date (YYYY-MM-DD)\nscheduled - Scheduled date/time (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)\ntimeEstimate - Minutes (number)\ntags - Array of tags\ndetails - Task description (writes to markdown body, not frontmatter)"
      },
      {
        "title": "API Reference",
        "body": "Base URL: http://localhost:8080/api\n\nMethodEndpointDescriptionGET/tasksList tasks (supports filters)POST/tasksCreate taskGET/tasks/{id}Get single taskPUT/tasks/{id}Update taskDELETE/tasks/{id}Delete taskGET/filter-optionsAvailable statuses, priorities, projects"
      },
      {
        "title": "Query Parameters for GET /tasks",
        "body": "status - Filter by status\nproject - Filter by project name\npriority - Filter by priority\ntag - Filter by tag\noverdue - true/false\nsort - Sort field\nlimit - Max results\noffset - Pagination offset"
      },
      {
        "title": "When to Use",
        "body": "\"create a task for X\" → create task\n\"show my tasks\" → list all tasks\n\"show in-progress tasks\" → list --status in-progress\n\"mark X as done\" → update task status to done\n\"what should I work on\" → list tasks by status"
      },
      {
        "title": "Example Workflow",
        "body": "# Morning: Check what to work on\nuv run scripts/tasks.py list --status in-progress --table\nuv run scripts/tasks.py list --limit 5 --table\n\n# Create task linked to project\nuv run scripts/tasks.py create \"Finish landing page\" \\\n  --project \"Website Redesign\" \\\n  --priority high\n\n# Complete a task\nuv run scripts/tasks.py update \"Tasks/finish-landing-page.md\" --status done"
      }
    ],
    "body": "TaskNotes Skill\n\nManage Obsidian tasks via the TaskNotes plugin HTTP API.\n\nRequirements\nTaskNotes plugin installed in Obsidian\nEnable HTTP API in TaskNotes settings:\nOpen Obsidian Settings → TaskNotes\nEnable \"HTTP API\" toggle\nSet API port (default: 8080)\nAPI token: leave empty for no auth, or set a token for security\nEnvironment variables in .env file at vault root (if using auth):\nTASKNOTES_API_PORT=8080\nTASKNOTES_API_KEY=your_token_here\n\nIf TaskNotes has no auth token set, you don't need a .env file.\nCLI Commands\n# List all tasks\nuv run scripts/tasks.py list\n\n# List by status (use your configured status values)\nuv run scripts/tasks.py list --status \"in-progress\"\n\n# List by project\nuv run scripts/tasks.py list --project \"My Project\"\n\n# Create task\nuv run scripts/tasks.py create \"Task title\" --project \"My Project\" --priority high\n\n# Create task with scheduled time\nuv run scripts/tasks.py create \"Meeting prep\" --scheduled \"2025-01-15T14:00:00\"\n\n# Update task status\nuv run scripts/tasks.py update \"Tasks/task-file.md\" --status done\n\n# Add/update task description\nuv run scripts/tasks.py update \"Tasks/task-file.md\" --details \"Additional context here.\"\n\n# Delete task\nuv run scripts/tasks.py delete \"Tasks/task-file.md\"\n\n# Get available options (statuses, priorities, projects)\nuv run scripts/tasks.py options --table\n\n# Human-readable output (add --table)\nuv run scripts/tasks.py list --table\n\nTask Properties\n\nStatus and Priority values: Configured in your TaskNotes plugin settings. Run options command to see available values:\n\nuv run scripts/tasks.py options --table\n\n\nOther fields:\n\nprojects - Array of project links, e.g. [\"[[Project Name]]\"]\ncontexts - Array like [\"office\", \"energy-high\"]\ndue - Due date (YYYY-MM-DD)\nscheduled - Scheduled date/time (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)\ntimeEstimate - Minutes (number)\ntags - Array of tags\ndetails - Task description (writes to markdown body, not frontmatter)\nAPI Reference\n\nBase URL: http://localhost:8080/api\n\nMethod\tEndpoint\tDescription\nGET\t/tasks\tList tasks (supports filters)\nPOST\t/tasks\tCreate task\nGET\t/tasks/{id}\tGet single task\nPUT\t/tasks/{id}\tUpdate task\nDELETE\t/tasks/{id}\tDelete task\nGET\t/filter-options\tAvailable statuses, priorities, projects\nQuery Parameters for GET /tasks\nstatus - Filter by status\nproject - Filter by project name\npriority - Filter by priority\ntag - Filter by tag\noverdue - true/false\nsort - Sort field\nlimit - Max results\noffset - Pagination offset\nWhen to Use\n\"create a task for X\" → create task\n\"show my tasks\" → list all tasks\n\"show in-progress tasks\" → list --status in-progress\n\"mark X as done\" → update task status to done\n\"what should I work on\" → list tasks by status\nExample Workflow\n# Morning: Check what to work on\nuv run scripts/tasks.py list --status in-progress --table\nuv run scripts/tasks.py list --limit 5 --table\n\n# Create task linked to project\nuv run scripts/tasks.py create \"Finish landing page\" \\\n  --project \"Website Redesign\" \\\n  --priority high\n\n# Complete a task\nuv run scripts/tasks.py update \"Tasks/finish-landing-page.md\" --status done"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/benoitjadinon/obsidian-plugin-tasknotes",
    "publisherUrl": "https://clawhub.ai/benoitjadinon/obsidian-plugin-tasknotes",
    "owner": "benoitjadinon",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/obsidian-plugin-tasknotes",
    "downloadUrl": "https://openagent3.xyz/downloads/obsidian-plugin-tasknotes",
    "agentUrl": "https://openagent3.xyz/skills/obsidian-plugin-tasknotes/agent",
    "manifestUrl": "https://openagent3.xyz/skills/obsidian-plugin-tasknotes/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/obsidian-plugin-tasknotes/agent.md"
  }
}