Use when managing tasks, the system is a Kanban task manager based on local Markdown files (`kanban.md` and `archive.md`). It follows a strict format compatible with the task-manager.html web application.
### TASK-XXX | Task title
**Status**: <column-id>
**Priority**: [Critical|High|Medium|Low] | **Category**: [Value] | **Assigned**: @user1, @user2
**Created**: YYYY-MM-DD | **Started**: YYYY-MM-DD | **Due**: YYYY-MM-DD | **Finished**: YYYY-MM-DD
**Tags**: #tag1 #tag2 #tag3
Free text description. **NO `##` or `###` headings allowed**.
**Subtasks**:
- [ ] First subtask
- [x] Completed subtask
**Notes**:
Additional notes with subsections `**Title**:`.
**Result**:
What was done.
**Modified files**:
- file.js (lines 42-58)
## Title or ### Title inside a task**Subtasks** or **Notes** without :Why? All tasks share one ## Tasks section, so a stray ##/### heading inside a task can break parsing.
V2 — status is a field, not a position. A task's column is its
**Status**:value; all tasks live in one## Taskssection. Move a task by editing its one**Status**:line — never cut/paste the whole block (~1 line vs 20+).
kanban.md to get the last task ID## Tasks section with **Status**: todo (first column id)<!-- Config: Last Task ID: XXX -->**Status**: todo → **Status**: in-progress**Started**: YYYY-MM-DD**Status**: in-progress → **Status**: done**Finished**: YYYY-MM-DD**Notes**::
**Result**: - What was done**Modified files**: - List with line numbers**Technical decisions**: - Choices made**Tests performed**: - Validated tests⚠️ Tasks are NOT archived immediately!
**Status**: donearchive.md# Kanban Board
<!-- Config: Last Task ID: 42 -->
<!-- Format: v2 -->
## ⚙️ Configuration
**Columns**: 📝 To Do (todo) | 🚀 In Progress (in-progress) | 👀 Review (in-review) | ✅ Done (done)
**Categories**: Frontend, Backend, DevOps
**Users**: @alice, @bob
**Priorities**: 🔴 Critical | 🟠 High | 🟡 Medium | 🟢 Low
**Tags**: #bug, #feature, #docs
---
## Tasks
### TASK-001 | Title
**Status**: todo
[...]
### TASK-003 | Completed task
**Status**: done
[...]
All tasks share the single ## Tasks section; the column comes from **Status**:
(which must equal a column id from the Config), and file order = order within a column.
No stored index — rebuild it on demand with grep, and read/edit one task:
grep -nE "^### TASK-|^\*\*Status\*\*:" kanban.md # board overview (index on demand)
grep -n "^### TASK-042 " kanban.md # locate a task by id
sed -n '/^### TASK-042 /,/^### TASK-/p' kanban.md # read just that task
# MOVE = edit one line: **Status**: todo -> **Status**: in-progress
grep -n "^\*\*Status\*\*: in-progress" kanban.md | head -1 # next task in a column
# Task Archive
> Archived tasks
## ✅ Archives
### TASK-001 | Archived task
[... full content ...]
---
### TASK-002 | Another archived task
[... full content ...]
## inside tasks)**Notes**:TASK-XXX)## Title inside a task### TASK-001 | Fix login bug
**Priority**: Critical | **Category**: Backend | **Assigned**: @bob
**Created**: 2025-01-20 | **Due**: 2025-01-21
**Tags**: #bug #urgent
Users cannot log in. Error 500 in logs.
**Notes**:
Check Redis, related to yesterday's deployment.
### TASK-042 | Notification system
**Priority**: High | **Category**: Backend | **Assigned**: @alice
**Created**: 2025-01-15 | **Started**: 2025-01-18 | **Finished**: 2025-01-22
**Tags**: #feature
Real-time notifications with WebSockets.
**Subtasks**:
- [x] Setup WebSocket server
- [x] REST API
- [x] Email sending
- [x] Notifications UI
- [x] E2E tests
**Notes**:
**Result**:
✅ Functional system with WebSocket, REST API and emails.
**Modified files**:
- src/websocket/server.js (lines 1-150)
- src/api/notifications.js (lines 20-85)
**Technical decisions**:
- Socket.io for WebSockets
- SendGrid for emails
- 30-day history in MongoDB
**Tests performed**:
- ✅ 100 simultaneous connections
- ✅ Auto-reconnection
- ✅ Emails < 2s
When using this skill, you must:
# Commits with reference
git commit -m "feat: Add feature (TASK-042 - 3/5)"
git commit -m "fix: Bug fix (TASK-001)"
# Branches
git checkout -b feature/TASK-042-notifications
## inside tasks)<!-- Config: Last Task ID: XXX -->**Notes**: with Result, Modified files, etc.Before using the skill, verify the project contains:
kanban.md (required)archive.md (required)AI_WORKFLOW.md (optional but recommended)"Use the markdown-task-manager skill to create a task for [feature]"
"Skill markdown-task-manager: create a task to implement authentication"
"Skill markdown-task-manager: update TASK-007 with results"
"Skill markdown-task-manager: list all tasks in progress"
"Skill markdown-task-manager: archive completed tasks"
Always start by reading kanban.md to:
<!-- Config: Last Task ID: XXX -->last_id + 1TASK-XXX (3 digits with leading zeros)<!-- Config: Last Task ID: XXX --> comment**Created**:When moving a task:
### TASK-XXX to blank line before next task)**Started**: or **Finished**:)Before moving to "✅ Done":
[x]**Finished**: YYYY-MM-DD**Notes**: section with:
**Result**: describing what was accomplished**Modified files**: listing changed files with line ranges**Technical decisions**: if any choices were made**Tests performed**: if tests were runOnly when user explicitly requests archiving:
kanban.mdarchive.md--- between archived taskskanban.mdThis skill ensures complete traceability and total transparency of work done by AI.
下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
Manage Trello boards, lists, and cards via the Trello REST API.
Category:productivity