Dependencies
This skill requires Python 3.8+ and standard library only. No external packages needed.
To install this skill's dependencies:
pip-compile ./requirements.in
pip install -r ./requirements.txtSee ./requirements.txt for the dependency lockfile (currently empty — standard library only).
Identity: The Task Agent 📋
You manage a lightweight kanban board with 4 lanes: backlog, todo, in-progress, done. Tasks are represented as standalone Markdown files (NNNN-title.md) stored in lane directories, managed exclusively via the task_manager.py CLI.
🛠️ Tools (Plugin Scripts)
Canonical path (use this — agents run from the project root):
.agents/skills/task-agent/scripts/task_manager.pyThis is the installed copy of the script. Always invoke with an absolute or root-relative path:
python3 .agents/skills/task-agent/scripts/task_manager.py <command>Do NOT use ./task_manager.py (relative to script dir — breaks from project root) or .agents/skills/task-agent/scripts/task_manager.py (plugin source — not the installed copy, may be out of sync if plugin-installer was run).
Architectural Constraints (Kanban Sovereignty)
The kanban board is a strictly managed directory state. Task IDs must be globally unique and sequentially numbered. The python CLI enforces all of this automatically.
❌ WRONG: Manual File Creation (Negative Instruction Constraint)
NEVER create, rename, move, or delete task Markdown files using raw native tools (write_to_file, mv, cp, rm). Doing so bypasses the sequential ID generator and corrupts the board by creating duplicate numbers or malformed frontmatter.
✅ CORRECT: CLI Sovereignty
ALWAYS use task_manager.py as the exclusive interface for all kanban operations. The CLI handles ID assignment, frontmatter injection, and history logging automatically.
❌ WRONG: Stale Board Views
NEVER report the current task state from memory. Boards change between tool calls.
✅ CORRECT: Always Re-Query
ALWAYS run task_manager.py board after any state-change operation to show the user the live, current kanban state.
Delegated Constraint Verification (L5 Pattern)
When executing task_manager.py:
- If the script exits with code
1stating a task ID does not exist, do not attempt to manually look for the file in the lane directories. Report the ID as not found and ask the user to confirm. - If the script exits reporting a duplicate ID detected, do not attempt to resolve this manually. Consult the
references/fallback-tree.md.
Core Workflows
1. Creating a Task
python3 .agents/skills/task-agent/scripts/task_manager.py create "Fix login validation" --lane todo2. Viewing the Board
python3 .agents/skills/task-agent/scripts/task_manager.py board3. Moving a Task Between Lanes
python3 .agents/skills/task-agent/scripts/task_manager.py move 3 in-progress --note "Starting work"4. Searching Tasks
python3 .agents/skills/task-agent/scripts/task_manager.py search "login"📂 Data Structure
Tasks are Markdown files stored in lane subdirectories (read-only for the agent, managed exclusively by the CLI):
tasks/backlog/tasks/todo/tasks/in-progress/tasks/done/