Agent skill
fix-todos
Intelligent TODO resolution with context-aware implementation
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/fix-todos
SKILL.md
Fix TODOs
I'll systematically find and resolve TODO comments in your codebase with intelligent understanding and continuity across sessions.
Arguments: $ARGUMENTS - files, directories, or specific TODO patterns to fix
Token Optimization Strategy
Target: 60% reduction (3,000-5,000 → 1,200-2,000 tokens)
This skill implements aggressive optimization for TODO resolution workflows by minimizing file reads, leveraging session state, and using progressive fixing patterns.
Core Optimization Patterns
1. Grep-First TODO Discovery (Primary: 60-70% savings)
# ALWAYS use Grep to find TODOs - never Read files for scanning
grep -rn "TODO|FIXME|HACK|XXX" --include="*.{js,ts,py,go}" .
grep "TODO:" src/ -C 2 # Get 2 lines context for understanding
# ANTI-PATTERN: Reading files to find TODOs
# Read each .js file # ❌ NEVER do this
2. Session-Based State Tracking (80% savings on resume)
fix-todos/
├── plan.md # All TODOs with resolution status
├── state.json # Current progress, decisions, context
└── resolutions/ # Completed TODO resolutions for reference
**Session state prevents re-scanning and re-analyzing:
- Check for
fix-todos/directory FIRST - If state.json exists, resume from last TODO
- Only scan for new TODOs if explicitly requested
- Use cached TODO inventory and context
3. Git Diff for Changed Files with TODOs (70% savings)
# Find files with TODOs that changed recently
git diff --name-only HEAD~5 | xargs grep -l "TODO"
# Focus on changed files vs full codebase scan
git diff --name-only | grep -f todo-files.txt
4. Progressive TODO Resolution (one at a time)
- Fix ONE TODO per iteration
- Update state after each fix
- Commit incrementally
- User can continue/stop at any point
- Reduces context loading by 70%
5. Early Exit Patterns
# Check for session FIRST
ls fix-todos/state.json 2>/dev/null && echo "Session exists"
# Check for TODOs before scanning
grep -q "TODO" . || echo "No TODOs found"
# Skip fixed TODOs from state
grep "^FIXED:" fix-todos/plan.md | wc -l
Optimization Decision Tree
START
├── Session exists? (check fix-todos/state.json)
│ ├── YES → Load state (200 tokens)
│ │ ├── Show progress summary
│ │ ├── Resume from last TODO
│ │ └── Fix next TODO (400-800 tokens)
│ └── NO → New session
│ ├── Grep for TODOs (400 tokens)
│ ├── No TODOs? → Early exit (300 tokens)
│ └── Create plan → Fix first TODO (1,200-1,500 tokens)
└── Specific file/pattern?
├── Grep in scope only (300 tokens)
└── Fix matching TODOs (800-1,200 tokens)
Token Cost Breakdown
Initial Session (1,200-2,000 tokens):
- Check for session: 100 tokens
- Grep for TODOs: 300-400 tokens
- Categorize TODOs: 200-300 tokens
- Create plan: 200-400 tokens
- Fix first TODO: 400-900 tokens (Read file, Edit, verify)
Resume Session (400-800 tokens):
- Load state: 100-200 tokens
- Show progress: 100 tokens
- Read file with next TODO: 200-300 tokens
- Fix TODO: 200-300 tokens
Specific File Focus (800-1,200 tokens):
- Grep in file: 100-200 tokens
- Read file: 300-400 tokens
- Fix TODOs: 400-600 tokens
Template-Based Resolution Patterns
Cache common TODO resolution templates:
// Error handling template
TODO_TEMPLATES = {
error_handling: "try { /* existing */ } catch (err) { logger.error(err); throw err; }",
validation: "if (!input) throw new ValidationError('Required');",
null_check: "if (value === null) return defaultValue;",
logging: "logger.debug('Operation:', { context });",
type_guard: "if (typeof x !== 'expected') throw new TypeError();"
}
// Use templates instead of analyzing patterns every time
Caching Strategy
Session Location: fix-todos/ (current project directory)
plan.md- TODO inventory with statusstate.json- Progress, decisions, current TODOresolutions/- Completed fixes for pattern matching
Cache Location: .claude/cache/fix-todos/
todo-inventory.json- All TODOs foundresolution-patterns.json- Your code patternscontext-snippets/- Related code for each TODO
Cache Validity: Until session completed or user runs fix-todos new
Cache Sharing: /find-todos, /create-todos, /todos-to-issues can reuse TODO inventory
Practical Token Savings Examples
Example 1: Resume existing session
BEFORE optimization (3,500 tokens):
- Re-scan all files for TODOs: 1,200 tokens
- Re-categorize: 400 tokens
- Re-create plan: 500 tokens
- Find next TODO: 300 tokens
- Fix TODO: 1,100 tokens
AFTER optimization (500 tokens):
- Load state: 100 tokens
- Read next TODO file: 200 tokens
- Fix TODO: 200 tokens
Savings: 3,000 tokens (86%)
Example 2: Fix TODOs in specific file
BEFORE optimization (4,000 tokens):
- Read all project files: 2,000 tokens
- Find TODOs everywhere: 800 tokens
- Filter to target file: 200 tokens
- Fix TODOs: 1,000 tokens
AFTER optimization (1,000 tokens):
- Grep in specific file: 200 tokens
- Read file: 300 tokens
- Fix TODOs: 500 tokens
Savings: 3,000 tokens (75%)
Example 3: New session with no TODOs
BEFORE optimization (2,000 tokens):
- Read many files looking for TODOs: 1,800 tokens
- Report none found: 200 tokens
AFTER optimization (300 tokens):
- Grep entire codebase: 200 tokens
- Report none found (early exit): 100 tokens
Savings: 1,700 tokens (85%)
Usage Patterns by Token Cost
High-efficiency commands (400-800 tokens):
fix-todos resume- Continue existing sessionfix-todos src/api/auth.js- Specific filefix-todos status- Check progress only
Medium-efficiency commands (1,200-1,500 tokens):
fix-todos- New session (first time)fix-todos src/- Directory scopefix-todos "security"- Pattern filter
Avoid if possible (2,000+ tokens):
fix-todos newwhen session already exists- Re-scanning without using cached results
- Fixing all TODOs at once (use progressive mode)
Optimization Checklist
Before TODO Discovery:
- ✅ Check for
fix-todos/state.jsonFIRST - ✅ Load cached TODO inventory if available
- ✅ Use Grep (not Read) for TODO scanning
- ✅ Apply scope filters early (file/pattern)
- ✅ Early exit if no TODOs found
During TODO Resolution:
- ✅ Fix ONE TODO at a time (progressive mode)
- ✅ Use git diff to find changed files
- ✅ Apply resolution templates when possible
- ✅ Update state after each fix
- ✅ Commit incrementally
After TODO Resolution:
- ✅ Cache resolution patterns for future use
- ✅ Update plan.md with completion status
- ✅ Persist state for next session
- ✅ Clean up session when all TODOs fixed
Anti-Patterns to Avoid
❌ Reading all files to find TODOs → Use Grep ❌ Re-scanning on every resume → Use session state ❌ Fixing all TODOs in one iteration → Progressive mode ❌ Not checking for existing session → Load state first ❌ Not using cached patterns → Apply templates ❌ Full codebase analysis per TODO → Incremental context
Expected Performance
Token Usage:
- Initial session: 1,200-2,000 tokens
- Resume session: 400-800 tokens
- Specific file: 800-1,200 tokens
- Average: 1,200 tokens (vs 3,000-5,000 unoptimized)
Reduction: 60-75% (exceeds 60% target)
Optimization Status: ✅ Optimized (Phase 2 Batch 3D-F, 2026-01-26)
Session Intelligence
I'll maintain TODO resolution progress across sessions:
Session Files (in current project directory):
fix-todos/plan.md- All TODOs found and resolution statusfix-todos/state.json- Current progress and decisions
IMPORTANT: Session files are stored in a fix-todos folder in your current project directory
Auto-Detection:
- If session exists: Resume from last TODO
- If no session: Scan and create new plan
- Commands:
resume,status,new
Phase 1: Discovery & Analysis
MANDATORY FIRST STEPS:
- Check if
fix-todosdirectory exists in current working directory - If directory exists, check for session files:
- Look for
fix-todos/state.json - Look for
fix-todos/plan.md - If found, resume from existing session
- Look for
- If no directory or session exists:
- Scan entire codebase for TODOs
- Create categorized plan
- Initialize progress tracking
- Show TODO summary before starting
I'll find and categorize all TODOs:
TODO Detection:
- TODO, FIXME, HACK, XXX markers
- Different priority levels
- Context and complexity assessment
- Related code understanding
Smart Categorization:
- Quick fixes: Simple validations, null checks
- Features: Missing functionality
- Refactoring: Code improvements
- Security: Safety and validation needs
- Performance: Optimization opportunities
Phase 2: Resolution Planning
Based on analysis, I'll create a resolution plan:
Priority Order:
- Security-critical TODOs
- Bug-related TODOs
- Simple improvements
- Feature additions
- Performance optimizations
I'll write this plan to fix-todos/plan.md with:
- Each TODO location and content
- Proposed resolution approach
- Risk assessment
- Implementation order
Phase 3: Intelligent Resolution
I'll fix TODOs matching your code patterns:
Pattern Detection:
- Find similar implementations in your code
- Match your error handling style
- Use your validation patterns
- Follow your naming conventions
Resolution Strategies:
- Error handling → Your try/catch patterns
- Validation → Your input checking style
- Performance → Your optimization approach
- Security → Your safety patterns
Phase 4: Incremental Implementation
I'll resolve TODOs systematically:
Execution Process:
- Create git checkpoint
- Fix TODO with contextual understanding
- Verify functionality preserved
- Update plan with completion
- Move to next TODO
Progress Tracking:
- Mark each TODO as resolved in plan
- Update state file with decisions
- Create meaningful commits
Phase 5: Verification
After each resolution:
- Run relevant tests
- Check for regressions
- Validate integration points
- Ensure code quality
Context Continuity
Session Resume:
When you return and run /fix-todos or /fix-todos resume:
- Load existing plan and progress
- Show completion statistics
- Continue from last TODO
- Maintain all resolution decisions
Progress Example:
RESUMING TODO FIXES
├── Total TODOs: 47
├── Resolved: 23 (49%)
├── Current: src/api/auth.js:42
└── Next: src/utils/validation.js:15
Continuing resolution...
Practical Examples
Start Fixing:
/fix-todos # Fix all TODOs
/fix-todos src/ # Focus on directory
/fix-todos "security" # Fix security TODOs
Session Control:
/fix-todos resume # Continue existing session
/fix-todos status # Check progress
/fix-todos new # Start fresh
Safety Guarantees
Protection Measures:
- Git checkpoint before changes
- Incremental commits
- Functionality verification
- No TODO removal without implementation
Important: I will NEVER:
- Remove TODOs without fixing them
- Break existing functionality
- Add AI attribution
- Implement without understanding context
Command Suggestions
After resolving critical TODOs:
/test- To ensure fixes work correctly/commit- To save TODO resolutions
What I'll Actually Do
- Scan comprehensively - Find all TODOs with context
- Plan strategically - Order by priority and risk
- Resolve intelligently - Match your patterns
- Track meticulously - Perfect session continuity
- Verify constantly - Ensure quality maintained
I'll maintain complete continuity between sessions, always resuming exactly where we left off with full context of previous resolutions.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?