Manage tasks in SiYuan Note via its HTTP API. Create, query, update, and organize tasks stored in the 任务清单 document (with a TASK database) and sub-documents for related materials. Use when the user mentions SiYuan, task management, or needs to track work items.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install siyuan-task-skill或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install siyuan-task-skill⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/siyuan-task-skill/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: siyuan-task description: Manage tasks in SiYuan Note via its HTTP API. Create, query, update, and organize tasks stored in the 任务清单 document (with a TASK database) and sub-documents for related materials. Use when the user mentions SiYuan, task management, or needs to track work items. compatibility: Requires Python 3.7+ and network access to SiYuan Note instance. metadata: author: walter version: "1.0" allowed-tools: Bash(python3:*) ---
Manage tasks in SiYuan Note (思源笔记) via Python scripts. All connection settings are in config.env — modify that file when the SiYuan instance address or credentials change.
Edit config.env in the skill root directory. Only 3 items need manual configuration:
SIYUAN_API_URL=http://100.64.0.11:52487
SIYUAN_API_TOKEN=xxxxxxxxxxxxxxxx
SIYUAN_NOTEBOOK_NAME=work
Note: SIYUAN_NOTEBOOK_ID is auto-resolved from SIYUAN_NOTEBOOK_NAME at runtime. You can still set it explicitly to skip the lookup.
Then run init to auto-create the database and write remaining config:
cd <skill_root>/scripts
python3 task_ops.py init
This creates the 任务清单 document, the TASK database, all columns, and writes AV_ID / COL_* IDs back to config.env automatically. If the 任务清单 document already contains a TASK database (e.g. copied from another notebook), init will detect and reuse it instead of creating a duplicate.
Tasks are stored as rows in a TASK database (Attribute View) block inside the 任务清单 document. Each row has these columns:
| Column | Chinese | Type | Values / Colors | |--------|---------|------|-----------------| | 主键 | 任务名称 | block | Primary key — task name | | 任务内容 | 任务内容 | text | Task description / details (what the task is about) | | 相关方 | 相关方 | text | Free text | | 重要程度 | 重要程度 | select | 高(红) / 中(绿) / 低(灰) | | 紧急程度 | 紧急程度 | select | 高(红) / 中(绿) / 低(灰) | | 状态 | 状态 | select | 未开始(灰) / 进行中(绿) / 结束(红) / 挂起(蓝) | | 备注 | 备注 | text | Extra notes / supplementary remarks (not the main task info) | | 创建时间 | 创建时间 | created | Auto | | 开始时间 | 开始时间 | date | Timestamp | | 结束时间 | 结束时间 | date | Timestamp | | 更新时间 | 更新时间 | updated | Auto |
Database IDs (auto-generated in config.env by init command):
AV_ID — Attribute View IDAV_BLOCK_ID — AV block IDCOL_* — Column IDs for each fieldEach task automatically gets a sub-document under /任务清单/{task_name} with this template:
# 任务描述
# 任务附件
# 下一步
The sub-document name always matches the task name. The task's primary key in the database is linked to the sub-document (non-detached), showing a document icon. Renaming a task also renames its sub-document. Deleting a task also deletes its sub-document.
All scripts are in the scripts/ directory. Run from that directory:
cd <skill_root>/scripts
Low-level client wrapping all SiYuan HTTP API endpoints. Used by task_ops.py internally. Can also be imported directly for custom operations:
from siyuan_api import SiYuanClient
client = SiYuanClient()
result = client.sql_query("SELECT * FROM blocks WHERE type = 'd' LIMIT 5")
Key methods: sql_query, create_doc, append_block, update_block, delete_block, set_block_attrs, get_block_attrs, get_child_blocks, get_block_kramdown, export_md, upload_asset, push_msg. See references/API.md for full SiYuan API reference.
High-level CLI for task management. All commands output JSON.
Create a task (auto-creates sub-document with template):
python3 task_ops.py create "任务名称" content="任务内容" importance="高" urgency="中" notes="备注信息"
Parameter mapping:
content → 任务内容 (task description / main information about the task)notes → 备注 (supplementary remarks, not the main task info)stakeholders → 相关方importance → 重要程度 (高/中/低)urgency → 紧急程度 (高/中/低)status → 状态 (default: 未开始)List all tasks:
python3 task_ops.py list
Find tasks by status:
python3 task_ops.py find "进行中"
Change task status (pass row_id from list output):
python3 task_ops.py start <row_id>
python3 task_ops.py complete <row_id>
python3 task_ops.py suspend <row_id>
Rename a task (also renames sub-document):
python3 task_ops.py rename <row_id> "新名称"
Attach image to task sub-document (uploads file and inserts into section):
python3 task_ops.py attach-image <row_id> /path/to/image.png
python3 task_ops.py attach-image <row_id> /path/to/image.png section="任务描述"
Default section is 任务附件. On macOS, save clipboard image first: osascript -e 'set png to (the clipboard as «class PNGf»)' -e 'set f to open for access (POSIX file "/tmp/clip.png") with write permission' -e 'write png to f' -e 'close access f'
List sub-documents:
python3 task_ops.py list-docs
Delete a task (also deletes sub-document):
python3 task_ops.py delete <row_id>
Migrate database (apply schema changes and reorder columns):
python3 task_ops.py migrate
For complex workflows, import TaskManager directly in Python:
import sys; sys.path.insert(0, "<skill_root>/scripts")
from task_ops import TaskManager
tm = TaskManager()
# Create task (auto-creates sub-document with template)
result = tm.create_task("实现用户登录", content="OAuth2 集成", importance="高", urgency="高")
row_id = result["row_id"]
doc_id = result["doc_id"]
# Rename task (also renames sub-document)
tm.rename_task(row_id, "实现OAuth2登录")
# Status transitions
tm.start_task(row_id)
tm.complete_task(row_id)
# Delete task (also deletes sub-document)
tm.delete_task(row_id)
# Attach image to task sub-document (default section: 任务附件)
tm.attach_image_to_task(row_id, "/path/to/image.png")
tm.attach_image_to_task(row_id, "/path/to/image.png", section="任务描述")
row_id from list output is used for all update/delete operations创建时间 and 更新时间 columns are auto-managed by SiYuan(( "anchor text")) code field — 0 means success安装 siyuan-task-skill 后,可以对 AI 说这些话来触发它
Help me get started with siyuan-task-skill
Explains what siyuan-task-skill does, walks through the setup, and runs a quick demo based on your current project
Use siyuan-task-skill to manage tasks in SiYuan Note via its HTTP API
Invokes siyuan-task-skill with the right parameters and returns the result directly in the conversation
What can I do with siyuan-task-skill in my product manager workflow?
Lists the top use cases for siyuan-task-skill, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/siyuan-task-skill/ 目录(个人级,所有项目可用),或 .claude/skills/siyuan-task-skill/(项目级)。重启 AI 客户端后,用 /siyuan-task-skill 主动调用,或让 AI 根据上下文自动发现并使用。
siyuan-task-skill 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
siyuan-task-skill 可免费安装使用。请查阅仓库了解许可证信息。
Manage tasks in SiYuan Note via its HTTP API. Create, query, update, and organize tasks stored in the 任务清单 document (with a TASK database) and sub-documents for related materials. Use when the user mentions SiYuan, task management, or needs to track work items.
siyuan-task-skill 属于「Product Manager」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my product manager tasks using siyuan-task-skill
Identifies repetitive steps in your workflow and sets up siyuan-task-skill to handle them automatically