What Good Looks Like: Recognizing Effective AI Agent Usage - Todo-MCP Blog
Guides 8 min read | January 2025

What Good Looks Like: Recognizing Effective AI Agent Usage

A field guide to understanding what healthy Todo MCP usage looks like, the visible patterns in your terminal, and warning signs to watch for.

Get Your Free AI Coding Tutorial

Learn how to solve context loss in Claude Code and Cursor

or enter your details

By continuing, you agree to our Terms and Privacy Policy.

A Note to the Reader

When I first started using Todo MCP, I was not sure if it was working correctly. Tool calls scrolled by in my terminal, but I did not know what patterns to look for or what might indicate a problem.

This guide shows you what effective usage looks like - the visible patterns in your terminal that tell you the system is working well. It also shows you warning signs that something might be off. Think of it as a field guide: here is what healthy looks like, and here is when to be concerned.

The Visible Workflow

What You Will See in Your Terminal

When Claude uses Todo MCP, you will see tool calls appear in your terminal. Each call looks something like:

● mcp__todo-mcp__todo_create(content: "Implement user logout", estimate_minutes: 30)
  ⎿  Task created: «#1» - Implement user logout (30m) 🟡medium

The key elements:

  • indicates a tool being called
  • mcp__todo-mcp__ prefix identifies Todo MCP operations
  • shows the tool's response
  • «#1» is the permanent task ID that never changes

Example Session: Building a Feature

Let us walk through what you would see when asking Claude to implement a multi-part feature.

Phase 1: Task Creation

You say: "Add user authentication with login, logout, and session management"

What you see:

● mcp__todo-mcp__todo_create(content: "Implement login functionality", estimate_minutes: 60, priority: "high")
  ⎿  Task created: «#1» - Implement login functionality (60m) 🔴high

● mcp__todo-mcp__todo_create(content: "Implement logout functionality", estimate_minutes: 30, priority: "high")
  ⎿  Task created: «#2» - Implement logout functionality (30m) 🔴high

● mcp__todo-mcp__todo_create(content: "Add session management", estimate_minutes: 45, priority: "high")
  ⎿  Task created: «#3» - Add session management (45m) 🔴high

Claude is breaking down your request into trackable tasks with time estimates. Each task gets a permanent ID that persists across sessions.

Phase 2: Starting Work

● mcp__todo-mcp__todo_start(task_id: "#1")
  ⎿  Started task «#1» - Implement login functionality
      Status: in_progress
      Time tracking: started

Claude is formally beginning work on a specific task. Only one task can be "in progress" at a time - this is enforced by the system.

Phase 3: Step-by-Step Breakdown

After starting an MCP task, you will see Claude break it into steps using TodoWrite:

● TodoWrite([
    {content: "Create login form component", status: "in_progress"},
    {content: "Add form validation", status: "pending"},
    {content: "Connect to auth API", status: "pending"},
    {content: "Handle login response", status: "pending"},
    {content: "Store auth token", status: "pending"}
  ])

As Claude works, you will see steps completing:

● TodoWrite([
    {content: "Create login form component", status: "completed"},
    {content: "Add form validation", status: "completed"},
    {content: "Connect to auth API", status: "in_progress"},
    {content: "Handle login response", status: "pending"},
    {content: "Store auth token", status: "pending"}
  ])

Key Insight: The TodoWrite steps are a breakdown of the current MCP task only - not a separate tracking system. When the MCP task completes, TodoWrite is cleared.

Phase 4: Work Being Done

Between TodoWrite updates, you will see normal Claude operations:

● Read(file_path: "/src/components/LoginForm.tsx")
  ⎿  [file contents...]

● Edit(file_path: "/src/components/LoginForm.tsx", old_string: "...", new_string: "...")
  ⎿  File updated successfully

● Bash(command: "npm test -- --grep Login")
  ⎿  PASS src/components/LoginForm.test.tsx
     ✓ renders login form (23ms)
     ✓ validates email format (12ms)

Phase 5: Task Completion

When all steps are done:

● TodoWrite([])
  ⎿  Todo list cleared

● mcp__todo-mcp__todo_complete(task_id: "#1")
  ⎿  Completed task «#1» - Implement login functionality
      Duration: 47 minutes
      Status: completed

TodoWrite is cleared because it only tracks the current task's steps. The MCP task is formally completed with time recorded.

Phase 6: Context Preservation

At significant points, you will see Claude save important learnings:

● mcp__todo-mcp__context_set(key: "lesson_auth_api", value: "Auth API requires refresh token in header for /me endpoint")
  ⎿  Context saved: lesson_auth_api

● mcp__todo-mcp__context_set(key: "workaround_cors", value: "Dev server needs proxy config for auth endpoints")
  ⎿  Context saved: workaround_cors

Claude is preserving knowledge that will survive session restarts and help future work. This is how your AI assistant builds institutional knowledge about your codebase.

Phase 7: Moving to Next Task

● mcp__todo-mcp__todo_list()
  ⎿  1. ● 🔴 Implement login functionality (60m) «#1»        [COMPLETED]
     2. ○ 🔴 Implement logout functionality (30m) «#2»
     3. ○ 🔴 Add session management (45m) «#3»

● mcp__todo-mcp__todo_start(task_id: "#2")
  ⎿  Started task «#2» - Implement logout functionality

Phase 8: Archiving Completed Work

After several tasks complete:

● mcp__todo-mcp__todo_archive()
  ⎿  Archived 3 completed tasks to: tasks/exports/archive_20250102_143022.md
     Active tasks remaining: 0

Completed tasks are exported to markdown for records, then cleared from the active list. This keeps your task list clean and focused.

Session Recovery: Context Resume

When starting a new session or after an interruption, you will see:

● mcp__todo-mcp__context_resume()
  ⎿  === Context Resume ===

     Current Tasks:
       ◐ «#5» Add password reset flow (in_progress)

     Recent Context (last 24h):
       lesson_auth_api: "Auth API requires refresh token in header for /me endpoint"
       workaround_cors: "Dev server needs proxy config for auth endpoints"
       task_#5_steps: "✓Step1|✓Step2|→Step3|Step4"

     Recommendation: Resume task «#5» - currently at step 3

Claude knows exactly where it left off, including which task was in progress, what steps were completed, lessons learned in previous sessions, and what to do next. This is the power of persistent memory.

Signs of Effective Usage

You are seeing mastery-level usage when:

  • Task IDs are used - task_id: "#49" instead of position_id: 1. Permanent IDs are more reliable.
  • One task at a time - Only one in_progress task visible at any moment.
  • TodoWrite matches MCP - Steps relate to current MCP task only, not multiple tasks.
  • Context is preserved - Regular context_set calls with meaningful keys after discoveries.
  • Archive happens - todo_archive called after several task completions.
  • Recovery works - context_resume called at session start.

The Healthy Rhythm

Effective Todo MCP usage follows this pattern:

Session Start:
  context_resume → see where we are

For each task:
  todo_start → begin work
  TodoWrite → break into steps
  [actual work] → reading, editing, testing
  TodoWrite → update progress
  todo_complete → finish task
  context_set → preserve learnings (if significant)

Periodically:
  todo_archive → clean up completed tasks

Warning Signs: Ineffective Usage

Watch for these patterns that indicate something is wrong:

  • Skipping start - todo_complete without prior todo_start will cause errors.
  • Position confusion - Repeatedly using position_id that keeps changing as tasks reorder.
  • TodoWrite overload - Multiple MCP task IDs tracked in TodoWrite instead of just current task steps.
  • No context saves - Long sessions without any context_set calls means knowledge is being lost.
  • No archiving - 10+ completed tasks sitting in the list cluttering the view.
  • No recovery - Session starts without context_resume means previous work might be forgotten.

Pro Tip: If you see these warning signs, Claude may not have the mastery patterns loaded. Check that your Todo MCP installation includes the mastery documentation.

Quick Reference

Tool Calls You Should See Regularly

  • context_resume - At session start for recovery
  • todo_create - When new work is requested for planning
  • todo_start - Before any work begins to start tracking
  • todo_complete - After work is done to end tracking
  • context_set - After discoveries to preserve knowledge
  • todo_archive - After completions for cleanup

STF (Standard Task Format) Symbols

Status indicators:

  • created
  • in_progress
  • paused
  • completed

Priority indicators:

  • critical
  • 🔴 high
  • 🟡 medium
  • 🟢 low
  • 🔵 backlog

Task ID Format

  • «#49» - Permanent ID that never changes, use this for reliability
  • Position 1, 2, 3 - Ephemeral positions that change when list reorders

Summary

When Todo MCP is being used effectively, you will see a clear pattern:

  1. Tasks created with estimates and priorities
  2. One task started at a time
  3. TodoWrite steps for the current task only
  4. Actual work including file operations and tests
  5. Task completed with time recorded
  6. Context saved for important learnings
  7. Archive to clean up completed work
  8. Resume to recover state on new sessions

This rhythm ensures your work is tracked, recoverable, and your knowledge compounds across sessions rather than being lost to context window limitations. With Todo MCP, your AI coding assistant builds genuine institutional memory about your project.

Ready to Never Lose Context Again?

Get your free setup tutorial and start shipping faster

or enter your details

By continuing, you agree to our Terms and Privacy Policy.

Continue Reading

Back to all articles