Install
openclaw skills install task-todoManage tasks with persistent storage, supporting creation, retrieval, updates, deletion, filtering by status or priority, and status tracking via SQLite.
openclaw skills install task-todoA task management agent skill that provides persistent task storage and management using SQLite database. This skill enables AI agents to create, read, update, delete, and query tasks with status tracking and priority management.
# Add task
python task_skill.py add "Task title" "Description" --status pending --priority high
# List all tasks
python task_skill.py list
# Filter by status
python task_skill.py list --status in_progress
# Filter by priority
python task_skill.py list --priority urgent
# Get task details
python task_skill.py get 1
# Update task
python task_skill.py update 1 --status completed --priority low
# Delete task
python task_skill.py delete 1
| Field | Type | Description | Required | Default |
|---|---|---|---|---|
| id | INTEGER | Auto-generated task ID | Auto | - |
| title | TEXT | Task title | Yes | - |
| description | TEXT | Task description | No | "" |
| status | TEXT | Task status | Yes | "pending" |
| priority | TEXT | Task priority | Yes | "medium" |
| created_at | TIMESTAMP | Creation timestamp | Auto | Current time |
| updated_at | TIMESTAMP | Last update timestamp | Auto | Current time |
pending - Task is pending and not startedin_progress - Task is currently being worked oncompleted - Task is finishedblocked - Task is blocked and cannot proceedlow - Low priority taskmedium - Medium priority task (default)high - High priority taskurgent - Urgent task requiring immediate attentionAll agent methods return a dictionary with a success field:
{
"success": True,
"task_id": 1,
"message": "Task created with ID: 1"
}
{
"success": True,
"tasks": [
{
"id": 1,
"title": "Task title",
"description": "Task description",
"status": "pending",
"priority": "medium",
"created_at": "2026-02-11T10:30:00",
"updated_at": "2026-02-11T10:30:00"
}
],
"count": 1
}
{
"success": True,
"task": {
"id": 1,
"title": "Task title",
"description": "Task description",
"status": "pending",
"priority": "medium",
"created_at": "2026-02-11T10:30:00",
"updated_at": "2026-02-11T10:30:00"
}
}
{
"success": False,
"message": "Task 1 not found"
}
tasks.db (created automatically in current directory)None - uses Python's built-in sqlite3 module.
agent.close() when finished to properly close the databasewith TaskAgent() as agent:
agent.add_task("Task", "Description")