tracking-tasks
npx machina-cli add skill oryanmoshe/agent-skills/tracking-tasks --openclawTracking Tasks
Overview
Every action must be tracked. The task list is your memory across context boundaries. No mental notes. No exceptions. If it's not written down, it will be lost at the next compaction.
Use TaskCreate to create tasks, TaskUpdate to change status, TaskList to review all tasks.
Core Rules
RULE 1: Track Before Acting
NEVER start work without creating a task first.
"I'll just quickly..." → CREATE TASK FIRST
RULE 2: Never Delete
NEVER delete tasks. EVER.
Done? → Mark completed
Not needed? → Mark completed + note why
Wrong? → Mark completed + create corrected task
Deleted tasks lose history. Completed tasks preserve context for future sessions.
RULE 3: One In-Progress at a Time
Maximum ONE task as in_progress at any time.
Starting new work? Complete or pause current first.
RULE 4: Deviation Protocol
When you discover something unexpected while working:
1. KEEP current task as in_progress
2. CREATE new task (pending) for the discovery
3. Note in description: "Discovered while working on #N"
4. DECIDE: handle now (switch in_progress) or defer
5. RETURN to original task when done
This includes when the user asks for something new mid-task — don't drop the current task. Track the new request, decide priority, and proceed.
RULE 5: Pre-Compaction Checkpoint
Before context compaction:
1. ALL discovered work captured as tasks
2. Current task status accurate
3. Blocked tasks have reason noted in description
4. NO mental notes — everything tracked
Task Lifecycle
pending ──→ in_progress ──→ completed
There is no separate "blocked" status. Keep blocked tasks as pending and note the blocker in the description.
Resuming a Session
When continuing work after compaction or in a new session:
- Run
TaskListto see all existing tasks - If no tasks exist (first session), create initial tasks from user request
- Review
in_progressandpendingtasks — are statuses still accurate? - Update any stale statuses
- Resume the highest-priority
pendingtask or continue thein_progressone - If all tasks are completed, report to user and await new instructions
Red Flags — STOP
| Thought | Action |
|---|---|
| "I'll just quickly fix this" | CREATE TASK FIRST |
| "This is too small to track" | CREATE TASK ANYWAY |
| "I'll remember to come back" | CREATE TASK NOW |
| "Let me clean up old tasks" | NEVER DELETE |
| "I have two things in progress" | PAUSE ONE |
| "I'll batch-add tasks later" | ADD EACH AS DISCOVERED |
| "User asked something new, let me just do it" | CREATE TASK, THEN DECIDE PRIORITY |
Anti-Patterns
Batching discoveries: Add each task as discovered, not in batches later. Waiting means forgetting.
Vague descriptions: "Fix bug" vs "Fix null pointer in UserService.getById at line 45"
Source
git clone https://github.com/oryanmoshe/agent-skills/blob/main/skills/tracking-tasks/SKILL.mdView on GitHub Overview
Tracking Tasks enforces that every action is written as a task, serving as memory across context boundaries. No mental notes—if it isn’t written, it can be lost during context compaction. Use TaskCreate, TaskUpdate, and TaskList to create, update, and review tasks.
How This Skill Works
You create a task before starting any work and update its status as you progress using TaskCreate and TaskUpdate. Review all tasks with TaskList to keep a shared memory. When new discoveries emerge, follow the deviation protocol to add a pending task without dropping the current one, ensuring only one in_progress task exists.
When to Use It
- Starting any coding task
- Receiving a new user request mid-work
- Planning multi-step work
- Discovering sub-tasks or issues
- Resuming a previous session
Quick Start
- Step 1: Create the initial task before you start any work.
- Step 2: If you discover something new, CREATE a pending task and note: 'Discovered while working on #N'.
- Step 3: Mark tasks complete when done; before context compaction, ensure all work is captured and statuses are accurate.
Best Practices
- Always create a task before taking action.
- Never delete tasks; complete them and note why.
- Keep only one in_progress task at a time.
- Use the Deviation Protocol for discoveries during work.
- Perform a Pre-Compaction Checkpoint to capture all work.
Example Use Cases
- Starting work on a new feature: create an initial task and break down steps as sub-tasks.
- A user asks for a mid-task change: create a new discovery task, label it, and prioritize accordingly.
- Refactoring plan: create separate tasks for each refactor step and track progress.
- Before summarizing, verify that all discovered work is captured as tasks with clear descriptions.
- Resuming after a break: run TaskList, adjust statuses, and resume the highest-priority pending task or continue in_progress.