# Markdown Tasks

> Work with markdown-based task lists in .llm/todo.md files. Use when managing tasks, working with todo lists, extracting incomplete tasks, marking tasks complete, or implementing tasks from a task list.

- **Type:** Skill
- **Install:** `agentstack add skill-motlin-claude-code-plugins-tasks`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [motlin](https://agentstack.voostack.com/s/motlin)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [motlin](https://github.com/motlin)
- **Source:** https://github.com/motlin/claude-code-plugins/tree/main/plugins/markdown-tasks/skills/tasks

## Install

```sh
agentstack add skill-motlin-claude-code-plugins-tasks
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Markdown Task Management

This skill enables working with the markdown task list stored in `.llm/todo.md`.

## Scripts

### task_get.py - Extract Next Task

Extract the first incomplete task with its context:

```bash
python ${CLAUDE_PLUGIN_ROOT}/scripts/task_get.py .llm/todo.md
```

Returns the first `[ ]` checkbox line with all indented context lines below it.

**Exit codes**: 0 (success), 1 (file not found or error)

### task_add.py - Add New Task

Add a new task:

```bash
python ${CLAUDE_PLUGIN_ROOT}/scripts/task_add.py .llm/todo.md "Task description
  Context line 1
  Context line 2"
```

Creates the `.llm/` directory and `todo.md` file if they do not exist, and appends the new task with a `[ ]` checkbox. The script preserves all indentation in multi-line strings.

**Exit codes**: 0 (success), 1 (error)

### task_mark.py - Mark Task

Mark the first incomplete task with a marker character:

```bash
python ${CLAUDE_PLUGIN_ROOT}/scripts/task_mark.py .llm/todo.md
python ${CLAUDE_PLUGIN_ROOT}/scripts/task_mark.py .llm/todo.md --marker='!'
```

Changes the first `[ ]` to `[x]` by default. Pass `--marker` with any single non-space character (e.g. `!`, `>`, `-`) to use a different marker.

**Exit codes**: 0 (success), 1 (no incomplete tasks or error)

### task_archive.py - Archive Task List

Archive a completed task list:

```bash
python ${CLAUDE_PLUGIN_ROOT}/scripts/task_archive.py .llm/todo.md
```

Moves the file to `.llm/YYYY-MM-DD-todo.md` where YYYY-MM-DD is today's date.

**Exit codes**: 0 (success), 1 (file not found or error)

## Task Format

The task list is in `.llm/todo.md`.

NEVER use the `Read` tool on `.llm/todo.md`. Always interact with the task list exclusively through the Python scripts.

### Task States

- `[ ]` - Not started (ready to work on)
- `[x]` - Completed
- `[!]` - Blocked after failed attempt

### Task Structure

Each task includes indented context lines with full implementation details:

- Absolute file paths
- Exact function/class names
- Code analogies to existing patterns
- Dependencies and prerequisites
- Expected outcomes

### Standalone Context

Each task is extracted and executed in isolation. Every task must contain ALL context needed to implement it. Repeat shared context in every related task. Never reference other tasks.

If tasks were created from a plan file, include the plan file path in each task so the implementing agent can read the full context.

## Plan Mode

When using Claude's native plan mode to design an implementation before creating tasks:

1. The plan file is written to `~/.claude/plans/.md` (e.g., `~/.claude/plans/abstract-knitting-garden.md`)
2. **Before adding any tasks**, archive the plan locally:
    - Create the `.llm/plans/` directory if it does not exist
    - Move the file from `~/.claude/plans/.md` to `.llm/plans/-.md`
    - Choose a concise, meaningful name that describes the plan's purpose (e.g., `2025-12-04-thread-safety-tests.md`, `2025-12-04-plugin-hook-system.md`)
3. Include the **absolute path** to the archived `.llm/plans/` file in each task so the implementing agent can read the full context

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [motlin](https://github.com/motlin)
- **Source:** [motlin/claude-code-plugins](https://github.com/motlin/claude-code-plugins)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-motlin-claude-code-plugins-tasks
- Seller: https://agentstack.voostack.com/s/motlin
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
