| name | markdown-task-manager |
| description | 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. |
š Markdown Task Manager Skill
When to Use This Skill
- Create tasks to document work to be done
- Plan complex features
- Track project progress
- Archive completed tasks
- Generate status reports
š STRICT Task Format
Mandatory Template
### TASK-XXX | Task title
**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)
ā FORBIDDEN
## Title or ### Title inside a task
**Subtasks** or **Notes** without :
- Automatic archiving (only on user request)
Why? The HTML parser of the application does not recognize ## inside tasks.
š Workflow
1. New Request
- Read
kanban.md to get the last task ID
- Create task in
kanban.md ā "š To Do" section
- Unique ID (TASK-XXX) auto-incremented
- Break down into subtasks if needed
- Increment counter in
<!-- Config: Last Task ID: XXX -->
2. Start Work
- Move task ā "š In Progress" section
- Add
**Started**: YYYY-MM-DD
- Check off subtasks progressively
3. Finish Work
- Move ā "ā
Done" section
- Add
**Finished**: YYYY-MM-DD
- Document in
**Notes**::
**Result**: - What was done
**Modified files**: - List with line numbers
**Technical decisions**: - Choices made
**Tests performed**: - Validated tests
4. Archiving
ā ļø Tasks are NOT archived immediately!
- Completed tasks remain in "ā
Done"
- Only on user request ā move to
archive.md
- Never archive directly at end of work
š File Structure
kanban.md
# Kanban Board
<!-- Config: Last Task ID: 42 -->
## āļø Configuration
**Columns**: š To Do | š In Progress | š Review | ā
Done
**Categories**: Frontend, Backend, DevOps
**Users**: @alice, @bob
**Tags**: #bug, #feature, #docs
---
## š To Do
### TASK-001 | Title
[...]
## š In Progress
## š Review
## ā
Done
### TASK-003 | Completed task
[...]
archive.md
# Task Archive
> Archived tasks
## ā
Archives
### TASK-001 | Archived task
[... full content ...]
---
### TASK-002 | Another archived task
[... full content ...]
šÆ Golden Rules
ā
ALWAYS
- Create task BEFORE coding
- Strict format (no
## inside tasks)
- Break down if complex (3+ steps)
- Update in real-time
- Document result in
**Notes**:
- Reference tasks in commits (
TASK-XXX)
- Leave in "Done" (archive only on user request)
ā NEVER
## Title inside a task
- Code without creating task
- Forget to check off subtasks
- Archive immediately (stay in "Done")
- Forget to document the result
š§ User Commands
Planning
- "Plan [feature]"
- "Create roadmap for 3 months"
Execution
- "Do TASK-XXX"
- "Continue TASK-XXX"
Tracking
- "Where are we?"
- "Weekly status"
Modifications
- "Break down TASK-XXX"
- "Add subtask to TASK-XXX"
Search
- "Search in archives: [keyword]"
Maintenance
- "Archive completed tasks"
š Complete Examples
Simple 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.
Complete Task with Result
### 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
š ļø Skill Functions
When using this skill, you must:
- Read kanban.md to understand current state and get last ID
- Create tasks following strict format
- Update tasks by moving between sections
- Check off subtasks progressively
- Document result in Notes before marking Done
- Increment Last Task ID in config comment
- Never archive unless explicitly requested
š Git Integration
git commit -m "feat: Add feature (TASK-042 - 3/5)"
git commit -m "fix: Bug fix (TASK-001)"
git checkout -b feature/TASK-042-notifications
ā ļø Critical Points of Attention
- Markdown Format: Strictly respect format (no
## inside tasks)
- ID Increment: Always increment
<!-- Config: Last Task ID: XXX -->
- Columns: Use exact column names defined in Configuration
- Archiving: NEVER archive automatically, only on request
- Documentation: Always fill
**Notes**: with Result, Modified files, etc.
š Usage
Initialization
Before using the skill, verify the project contains:
kanban.md (required)
archive.md (required)
AI_WORKFLOW.md (optional but recommended)
First Use
"Use the markdown-task-manager skill to create a task for [feature]"
Invocation Examples
"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"
š Implementation Details
Reading kanban.md
Always start by reading kanban.md to:
- Get the last task ID from
<!-- Config: Last Task ID: XXX -->
- Understand existing columns structure
- Check current tasks in each column
Creating a New Task
- Calculate new ID:
last_id + 1
- Format as
TASK-XXX (3 digits with leading zeros)
- Add to "š To Do" section
- Update
<!-- Config: Last Task ID: XXX --> comment
- Use today's date for
**Created**:
Moving Tasks Between Columns
When moving a task:
- Copy entire task content (from
### TASK-XXX to blank line before next task)
- Paste in target column section
- Delete from original location
- Update dates accordingly (
**Started**: or **Finished**:)
Completing Tasks
Before moving to "ā
Done":
- Ensure all subtasks are checked
[x]
- Add
**Finished**: YYYY-MM-DD
- Fill in
**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 run
Archiving Tasks
Only when user explicitly requests archiving:
- Read task from "ā
Done" section in
kanban.md
- Append task to "## ā
Archives" section in
archive.md
- Add separator
--- between archived tasks
- Remove task from
kanban.md
This skill ensures complete traceability and total transparency of work done by AI.