task-focus
Category: Task Management
Usage
task-focus <task-file>
Arguments
- <task-file> : Required - Path to task file to focus on
Execution Instructions for Claude Code
When this command is run, Claude Code should:
-
Check if focus/ directory is empty (enforce one-task rule)
-
If not empty, show current focus and ask to switch
-
Move the specified task file to tasks/focus/
-
Parse the task file to extract:
-
Task metadata (ID, title, status, priority)
-
All subtasks with their completion status
-
Current progress percentage
-
Load all tasks into TodoWrite tool
-
Update task file header with focus start time
-
Display current progress and next incomplete subtask
-
Show session restoration command for future use
TodoTools Loading
Convert task file format to TodoWrite format:
File format: - [x] 1.1 Task description (2h)
Todo format: {"id": "1.1", "content": "Task description", "status": "completed", "priority": "medium"}
Status mapping:
[ ] → "pending"
[-] → "in_progress"
[x] → "completed"
[~] → "cancelled" (exclude from todos)
Focus Session Start
Add to task file work log:
Work Log
2025-01-06 14:30 - SESSION START
- Moved to focus
- Current progress: 40%
- Next task: 2.3 Implement JWT tokens
Output Format
🎯 Focusing on: TASK-001-user-authentication.md
📊 Task Overview: Title: Implement User Authentication Progress: 40% (4/10 subtasks) Estimated remaining: 4.5 hours Dependencies: All satisfied ✅
📋 Loading tasks into TodoTools... ✅ Loaded 10 tasks (4 completed, 6 pending)
🚀 Next subtask: 2.3 Implement JWT tokens (est. 2h)
💡 To resume this session later: task-focus tasks/focus/TASK-001-user-authentication.md
Ready to work! Use 'task-done' when completing subtasks.
Error Handling
-
If task file not found: Show available tasks with task-list
-
If focus not empty: Show current focus and confirm switch
-
If task file invalid: Run validation and show errors
-
If already in focus: Show message and continue
Example
Start focusing on a task
task-focus tasks/active/TASK-001-auth.md
Focus on task from current directory
task-focus ./implement-search.md
Switch focus (will prompt)
task-focus tasks/active/TASK-002-api.md
Implementation Tips for Claude Code
-
Atomic Move: Use git mv if in git repo, ensure file moves successfully
-
Parse Robustly: Handle various task formats and indentation
-
Preserve State: Don't lose work log or metadata during move
-
Time Tracking: Start tracking time when focus begins
-
Dependency Check: Warn if dependencies not met