Manage structured todo files for tracking code review findings, technical debt, and implementation tasks.
/plugin marketplace add KreativReason/merged-end-to-end-ai-dpp---e2e-cli/plugin install kreativreason-e2e-pipeline@kreativreason-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Manage structured todo files for tracking code review findings, technical debt, and implementation tasks.
This skill provides utilities for creating, updating, and organizing todo files with consistent formatting, priority management, and status tracking.
---
id: PERF-001
status: open
priority: P1
category: performance
source: review/pr-123
created: 2024-01-15T10:30:00Z
updated: 2024-01-15T10:30:00Z
assignee: null
tags: [database, optimization]
---
# Short Title
## Context
How this issue was discovered.
## Problem
What's wrong and why it matters.
## Location
- File: `path/to/file.py`
- Line: 45
- Function: `function_name()`
## Current Code
```language
// problematic code
// fixed code
### File Naming Convention
{id}-{status}-{priority}-{slug}.md
Examples: PERF-001-open-P1-n+1-query-orders.md SEC-002-resolved-P1-sql-injection.md ARCH-001-open-P2-coupling-issue.md
## Skill Functions
### `create_todo(finding)`
Creates a new todo file from a finding.
**Input:**
```json
{
"id": "PERF-001",
"priority": "P1",
"category": "performance",
"title": "N+1 query in orders API",
"source": "review/pr-123",
"file": "src/api/orders.py",
"line": 78,
"problem": "Each order triggers separate query",
"solution": "Use eager loading",
"acceptance_criteria": ["Query count < 3", "Response < 200ms"]
}
Output:
{
"status": "created",
"path": "todos/P1/PERF-001-open-P1-n+1-query-orders.md",
"id": "PERF-001"
}
update_todo_status(id, status)Updates todo status and renames file accordingly.
Input:
{
"id": "PERF-001",
"status": "in_progress"
}
Output:
{
"status": "updated",
"old_path": "todos/P1/PERF-001-open-P1-n+1-query.md",
"new_path": "todos/P1/PERF-001-in_progress-P1-n+1-query.md"
}
resolve_todo(id, resolution_notes)Marks todo as resolved with resolution details.
Input:
{
"id": "PERF-001",
"resolution_notes": "Fixed in commit abc123, added eager loading",
"pr_number": 125
}
Output:
{
"status": "resolved",
"path": "todos/resolved/PERF-001-resolved-P1-n+1-query.md",
"resolved_at": "2024-01-16T14:30:00Z"
}
list_todos(filter)Lists todos with optional filtering.
Input:
{
"status": "open",
"priority": "P1",
"category": null
}
Output:
{
"todos": [
{
"id": "PERF-001",
"title": "N+1 query in orders",
"priority": "P1",
"status": "open",
"path": "todos/P1/PERF-001-open-P1-n+1-query.md"
},
{
"id": "SEC-002",
"title": "Input validation missing",
"priority": "P1",
"status": "open",
"path": "todos/P1/SEC-002-open-P1-input-validation.md"
}
],
"total": 2
}
get_todo_summary()Gets overview of all todos by status and priority.
Output:
{
"summary": {
"total": 15,
"by_status": {
"open": 10,
"in_progress": 3,
"resolved": 2
},
"by_priority": {
"P0": 0,
"P1": 4,
"P2": 6,
"P3": 5
},
"by_category": {
"security": 2,
"performance": 4,
"architecture": 5,
"simplicity": 4
}
},
"action_required": {
"P0_count": 0,
"P1_open": 3,
"stale_count": 1
}
}
todos/
├── P0/ # Immediate (critical)
├── P1/ # This sprint
│ ├── PERF-001-open-P1-n+1-query.md
│ └── SEC-002-in_progress-P1-validation.md
├── P2/ # Next sprint
│ └── ARCH-001-open-P2-coupling.md
├── P3/ # Backlog
│ └── SIMP-001-open-P3-dead-code.md
└── resolved/ # Completed todos
└── PERF-002-resolved-P1-caching.md
| Status | Description |
|---|---|
open | Not started |
in_progress | Being worked on |
blocked | Waiting on dependency |
resolved | Completed |
wont_fix | Decided not to address |
Review command creates todos automatically via this skill.
Triage command organizes todos by priority.
Work command can pick up todos to resolve.
## Impact
- Severity: {severity}
- Attack Vector: {vector}
- Affected Users: {scope}
## Remediation Steps
1. Step one
2. Step two
## Metrics
- Current: {current_value}
- Target: {target_value}
- Improvement: {percentage}%
## Benchmarks
Before/after comparison data
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.