From otto-kit
Organize plan files into a local filesystem task directory with pending/in-progress/done status tracking. Used as a tracker adapter by /plan.
How this skill is triggered — by the user, by Claude, or both
Slash command
/otto-kit:local-planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Sync a plan file into a structured local task directory. This skill is invoked as a sub-agent by `/plan` — it is not user-invocable directly.
Sync a plan file into a structured local task directory. This skill is invoked as a sub-agent by /plan — it is not user-invocable directly.
PLAN_FILE: absolute path to the plan file (epic for complex, single file for simple)TASK_DIR: base directory for tasks (e.g., docs/tasks)For complex plans, a sibling directory with the same name (minus .md) contains detailed task files:
.claude/plans/2fa-authentication.md ← PLAN_FILE (epic)
.claude/plans/2fa-authentication/ ← task directory
01-okta-sdk-setup.md
02-keychain-service.md
...
{TASK_DIR}/
├── INDEX.md
├── pending/
│ ├── TASK-001-login-redirect.md
│ └── TASK-002-auth-middleware.md
├── in-progress/
└── done/
Create {TASK_DIR}/pending/, {TASK_DIR}/in-progress/, and {TASK_DIR}/done/ if they don't exist.
Read {TASK_DIR}/INDEX.md if it exists. Find the highest TASK-NNN number. Next ID is that number + 1. If INDEX.md doesn't exist, start at TASK-001.
Read the plan file. Extract:
feature from frontmatter — used as the display nametype — simple or complexFor complex plans, derive the task directory: ${PLAN_FILE%.md}/ and list *.md files within it.
Simple plan: Create a single task file.
TASK-<NNN>-<slugified-feature>.md in {TASK_DIR}/pending/task_id field in frontmatterComplex plan: Create one epic file + one task file per file in the task directory.
TASK-<NNN>-<slugified-feature>.md in {TASK_DIR}/pending/
TASK-<NNN+1>-<slugified-task-title>.md, TASK-<NNN+2>-..., etc. in {TASK_DIR}/pending/
task_id: TASK-<NNN+X>, parent: TASK-<NNN>Append entries to {TASK_DIR}/INDEX.md. Create the file if it doesn't exist.
Format:
# Task Index
| ID | Feature | Type | Status | Created |
|----|---------|------|--------|---------|
| TASK-001 | Fix login redirect | simple | pending | 2026-02-14 |
| TASK-002 | User Authentication | complex/epic | pending | 2026-02-14 |
| TASK-003 | Auth middleware setup | complex/task | pending | 2026-02-14 |
| TASK-004 | Token validation | complex/task | pending | 2026-02-14 |
Move (do not delete) the original plan file into {TASK_DIR}/pending/ as the epic or single task file. The plan file IS the task — there's no separate tracker to sync to.
TASK-<NNN>-...md.TASK-<NNN>-...md). Remove the plan's task directory after its contents have been used to create the sub-task files in step 4.Output a summary:
TASK-<NNN> with title and status{TASK_DIR}/INDEX.md{TASK_DIR}/pending/Tasks move between directories to track status:
pending/ — not yet startedin-progress/ — actively being worked on (move here when starting /task TASK-NNN)done/ — completed (move here after /task finishes and verification passes)The /task command handles these moves automatically when configured with local task tracking.
npx claudepluginhub bardin08/claude-kit --plugin otto-kitCreates persistent markdown files (task_plan.md, notes.md, deliverable.md) for multi-step work that requires planning, progress tracking, and durable notes across tool calls.
Creates file-based project plans and tracks progress across complex tasks using task_plan.md, findings.md, and progress.md. Activates on planning requests, multi-step work, or research requiring over 5 tool calls.
Decomposes a Strikethroo plan into atomic Markdown task files. Use when a user asks to break down a specific plan ID into tasks.