Agent skill

Markdown Task Manager

by ioniks in ioniks/MarkdownTaskManager

A skill your agent uses when managing tasks, the system is a Kanban task manager based on local Markdown files (kanban.md and archive.md).

MPL-2.0Auto-check passedProductivity & Automation

Install Markdown Task Manager

skills CLI
$ npx skills add ioniks/MarkdownTaskManager --skill markdown-task-manager -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ioniks/MarkdownTaskManager markdown-task-manager --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ioniks/MarkdownTaskManager.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/markdown-task-manager .claude/skills/markdown-task-manager && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
markdown-task-manager
GitHub stars
535
Token cost
~2.2k tokens
SKILL.md length
728 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MPL-2.0

At a glance

A skill your agent uses when managing tasks, the system is a Kanban task manager based on local Markdown files (kanban.md and archive.md).

  • Works in 4 steps: New Request → Start Work → Finish Work → …
  • The system is a Kanban task manager based on local Markdown files (kanban.md and archive.md)
  • SKILL.md covers When to Use This Skill, 📋 STRICT Task Format, 🔄 Workflow and 📁 File Structure, plus 6 more sections
  • Calls git

What it does

Markdown Task Manager is an agent skill from ioniks/MarkdownTaskManager. 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.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Task management. The repository describes itself as: Local-first Kanban task manager. The licence is MPL-2.0.

When your agent uses it

  • The system is a Kanban task manager based on local Markdown files (kanban.md and archive.md)
  • Tasks that involve Task management

Example prompts

  • “/markdown-task-manager”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. New Request
  2. Start Work
  3. Finish Work
  4. Archiving

What it can do on your machine

Read from SKILL.md and the folder at commit f173f0d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Markdown Task Manager loads about 2.2k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 728 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ioniks/MarkdownTaskManager at commit f173f0d, republished under its MPL-2.0 licence (© ioniks). 728 words, ~2,236 tokens.

Download SKILL.mdSave it as .claude/skills/markdown-task-manager/SKILL.md (or your agent's skills folder).
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
markdown
### 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)
❌ FORBIDDEN
  • ## Title or ### Title inside a task
  • **Subtasks** or **Notes** without :
  • Automatic archiving (only on user request)

Why? All tasks share one ## Tasks section, so a stray ##/### heading inside a task can break parsing.

🔄 Workflow

V2 — status is a field, not a position. A task's column is its **Status**: value; all tasks live in one ## Tasks section. Move a task by editing its one **Status**: line — never cut/paste the whole block (~1 line vs 20+).

1. New Request
  1. Read kanban.md to get the last task ID
  2. Add the task to the ## Tasks section with **Status**: todo (first column id)
  3. Unique ID (TASK-XXX) auto-incremented
  4. Break down into subtasks if needed
  5. Increment counter in <!-- Config: Last Task ID: XXX -->
2. Start Work
  1. Edit one line: **Status**: todo → **Status**: in-progress
  2. Add **Started**: YYYY-MM-DD
  3. Check off subtasks progressively
3. Finish Work
  1. Edit one line: **Status**: in-progress → **Status**: done
  2. Add **Finished**: YYYY-MM-DD
  3. 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 stay at **Status**: done
  • Only on user request → move to archive.md
  • Never archive directly at end of work

📁 File Structure

kanban.md
markdown
# 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.

⚡ Token-economical operations (for AI)

No stored index — rebuild it on demand with grep, and read/edit one task:

bash
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
archive.md
markdown
# Task Archive

> Archived tasks

## ✅ Archives

### TASK-001 | Archived task
[... full content ...]

---

### TASK-002 | Another archived task
[... full content ...]

🎯 Golden Rules

✅ ALWAYS
  1. Create task BEFORE coding
  2. Strict format (no ## inside tasks)
  3. Break down if complex (3+ steps)
  4. Update in real-time
  5. Document result in **Notes**:
  6. Reference tasks in commits (TASK-XXX)
  7. Leave in "Done" (archive only on user request)
❌ NEVER
  1. ## Title inside a task
  2. Code without creating task
  3. Forget to check off subtasks
  4. Archive immediately (stay in "Done")
  5. 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 in archives: [keyword]"
Maintenance
  • "Archive completed tasks"

📝 Complete Examples

Simple Task
markdown
### 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
markdown
### 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:

  1. Read kanban.md to understand current state and get last ID
  2. Create tasks following strict format
  3. Update tasks by moving between sections
  4. Check off subtasks progressively
  5. Document result in Notes before marking Done
  6. Increment Last Task ID in config comment
  7. Never archive unless explicitly requested
Show full SKILL.md (280 more words)Show less

📘 Git Integration

bash
# 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

⚠️ Critical Points of Attention

  1. Markdown Format: Strictly respect format (no ## inside tasks)
  2. ID Increment: Always increment <!-- Config: Last Task ID: XXX -->
  3. Columns: Use exact column names defined in Configuration
  4. Archiving: NEVER archive automatically, only on request
  5. 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
  1. Calculate new ID: last_id + 1
  2. Format as TASK-XXX (3 digits with leading zeros)
  3. Add to "📝 To Do" section
  4. Update <!-- Config: Last Task ID: XXX --> comment
  5. Use today's date for **Created**:
Moving Tasks Between Columns

When moving a task:

  1. Copy entire task content (from ### TASK-XXX to blank line before next task)
  2. Paste in target column section
  3. Delete from original location
  4. Update dates accordingly (**Started**: or **Finished**:)
Completing Tasks

Before moving to "✅ Done":

  1. Ensure all subtasks are checked [x]
  2. Add **Finished**: YYYY-MM-DD
  3. 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:

  1. Read task from "✅ Done" section in kanban.md
  2. Append task to "## ✅ Archives" section in archive.md
  3. Add separator --- between archived tasks
  4. Remove task from kanban.md

This skill ensures complete traceability and total transparency of work done by AI.

© ioniks, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/markdown-task-manager of ioniks/MarkdownTaskManager.

Open the folder on GitHubat commit f173f0d

Compare with similar skills

Markdown Task Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Markdown Task Manager compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Markdown Task Manager this skillioniks/MarkdownTaskManager535—~2.2kAutomated safety check: PassMPL-2.0
Superset Agent Standupsuperset-sh/superset15k—~712Automated safety check: PassCustom licence
AgentRQ Workspace Agentagentrq/agentrq1.1k—~1.9kAutomated safety check: PassAGPL-3.0
Pi Messenger Crewnicobailon/pi-messenger719—~3.7kAutomated safety check: PassNone
Codekanban CLIfy0/CodeKanban225—~2.7kAutomated safety check: PassApache-2.0
Kanban TuiZaloog/kanban-tui285—~4.1kAutomated safety check: PassMIT

Similar skills

  • Superset Agent Standup

    superset-sh/superset

    Sweeps every Superset workspace, task and agent terminal to report what finished, what needs review and what is blocked, read-only, and can publish the digest as a page.

    15k GitHub stars~712 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Guides a workspace agent through executing assigned tasks, replying to a remote human operator, and creating sub-tasks, memory and events inside an AgentRQ workspace.

    1.1k GitHub stars~1.9k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Pi Messenger Crew

    nicobailon/pi-messenger

    Orchestrator reference for pi-messenger Crew planning, task management, configuration, and agent coordination.

    719 GitHub stars~3.7k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Codekanban CLI

    fy0/CodeKanban

    Operate CodeKanban workflows, terminal sessions, and web sessions through the installable codekanban-cli command.

    225 GitHub stars~2.7k tokensUpdated 3 days ago
    Productivity & AutomationAuto-check passed
  • Kanban Tui

    Zaloog/kanban-tui

    Comprehensive kanban board and task management via ktui CLI.

    285 GitHub stars~4.1k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Kanban Video Orchestrator

    Luciole-Studio/Misaka-Agent

    Plan and run multi-agent video production pipelines. An agent skill from Luciole-Studio/Misaka-Agent.

    125 GitHub starsUsed in 2 repos~2.4k tokens
    Productivity & AutomationAuto-check: notes

Questions about Markdown Task Manager

What does Markdown Task Manager do?

A skill your agent uses when managing tasks, the system is a Kanban task manager based on local Markdown files (kanban.md and archive.md). Markdown Task Manager is an agent skill from ioniks/MarkdownTaskManager.md).

When should I use Markdown Task Manager?

Markdown Task Manager fits situations like: the system is a Kanban task manager based on local Markdown files (kanban.md and archive.md); tasks that involve Task management.

How do I install Markdown Task Manager in Claude Code?

Run `npx skills add ioniks/MarkdownTaskManager --skill markdown-task-manager -a claude-code`. Or copy the skill folder (.claude/skills/markdown-task-manager in ioniks/MarkdownTaskManager) into .claude/skills/markdown-task-manager in your project. Claude Code loads it when a task matches its description.

How do I install Markdown Task Manager in Codex?

Run `npx skills add ioniks/MarkdownTaskManager --skill markdown-task-manager -a codex`. Or copy the skill folder (.claude/skills/markdown-task-manager in ioniks/MarkdownTaskManager) into .agents/skills/markdown-task-manager in your project. Codex loads it when a task matches its description.

Can I use Markdown Task Manager in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ioniks/MarkdownTaskManager --skill markdown-task-manager -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/markdown-task-manager, .gemini/skills/markdown-task-manager, .github/skills/markdown-task-manager and .opencode/skills/markdown-task-manager in your project.

What does Markdown Task Manager need to run?

Going by SKILL.md and its folder, Markdown Task Manager needs the command-line tools its instructions call (git).

Does Markdown Task Manager access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Markdown Task Manager safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Markdown Task Manager use?

Markdown Task Manager is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Markdown Task Manager use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Markdown Task Manager?

Skills that share tags, products or a category with Markdown Task Manager: Superset Agent Standup (superset-sh/superset, 15k stars), AgentRQ Workspace Agent (agentrq/agentrq, 1.1k stars), Pi Messenger Crew (nicobailon/pi-messenger, 719 stars) and Codekanban CLI (fy0/CodeKanban, 225 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Markdown Task Manager?

ioniks (a GitHub user) maintains it in ioniks/MarkdownTaskManager, which has 535 GitHub stars. The repository was last updated on June 20, 2026.

Source: ioniks/MarkdownTaskManager on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.