From agent-skills
Enforces disciplined task tracking across context boundaries. Use when starting any coding task, receiving a new user request mid-work, planning multi-step work, discovering sub-tasks or issues, before context compaction, switching between tasks, or resuming a previous session. Skip for purely informational questions with no code changes.
npx claudepluginhub oryanmoshe/agent-skills --plugin agent-skillsThis skill uses the workspace's default tool permissions.
**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.
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
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.
NEVER start work without creating a task first.
"I'll just quickly..." → CREATE TASK FIRST
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.
Maximum ONE task as in_progress at any time.
Starting new work? Complete or pause current first.
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.
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
pending ──→ in_progress ──→ completed
There is no separate "blocked" status. Keep blocked tasks as pending and note the blocker in the description.
When continuing work after compaction or in a new session:
TaskList to see all existing tasksin_progress and pending tasks — are statuses still accurate?pending task or continue the in_progress one| 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 |
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"