Get the FREE Ultimate OpenClaw Setup Guide →

tracking-tasks

npx machina-cli add skill oryanmoshe/agent-skills/tracking-tasks --openclaw
Files (1)
SKILL.md
3.2 KB

Tracking 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:

  1. Run TaskList to see all existing tasks
  2. If no tasks exist (first session), create initial tasks from user request
  3. Review in_progress and pending tasks — are statuses still accurate?
  4. Update any stale statuses
  5. Resume the highest-priority pending task or continue the in_progress one
  6. If all tasks are completed, report to user and await new instructions

Red Flags — STOP

ThoughtAction
"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

  1. Step 1: Create the initial task before you start any work.
  2. Step 2: If you discover something new, CREATE a pending task and note: 'Discovered while working on #N'.
  3. 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.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers