Project 32: TODO List Automator

Project 32: TODO List Automator

Build a workflow using Kiro CLIโ€™s TODO list and Thinking Tool features to decompose complex tasks, track progress, and visualize AI reasoning in real-time.

Quick Reference

Attribute Value
Difficulty Intermediate (Level 2)
Time Estimate Weekend
Primary Language Natural Language / Markdown
Alternative Languages N/A
Prerequisites Projects 1-5, basic Kiro CLI familiarity
Key Topics Task decomposition, AI reasoning visualization, progress tracking, task dependencies
Kiro CLI Concepts /todo command, Thinking Tool, experimental features, task state management
Main Book Reference โ€œGetting Things Doneโ€ by David Allen

1. Learning Objectives

By completing this project, you will:

  1. Master Kiro CLIโ€™s TODO feature: Understand how to use /todo for structured task management during development sessions
  2. Visualize AI reasoning with the Thinking Tool: Learn how Claudeโ€™s extended thinking works and how to leverage visible reasoning
  3. Implement intelligent task decomposition: Use AI to break complex goals into actionable, ordered subtasks
  4. Design task dependency management: Create workflows where tasks unlock based on completion of prerequisites
  5. Build productive development patterns: Establish personal workflows that maximize AI-assisted productivity

2. Deep Theoretical Foundation

2.1 The Cognitive Science of Task Management

From โ€œGetting Things Doneโ€ (David Allen, Ch. 2): The human brain is excellent at having ideas but terrible at holding them. Writing tasks down frees mental capacity for execution.

                    THE GTD WORKFLOW MODEL

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚                                                                          โ”‚
    โ”‚   CAPTURE                                                                โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                                               โ”‚
    โ”‚   "Build a user authentication system with OAuth"                       โ”‚
    โ”‚                         โ”‚                                                โ”‚
    โ”‚                         โ–ผ                                                โ”‚
    โ”‚   CLARIFY                                                                โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                                               โ”‚
    โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
    โ”‚   โ”‚  Is this a single action or a project?                          โ”‚   โ”‚
    โ”‚   โ”‚  โ†’ Project (multiple steps required)                            โ”‚   โ”‚
    โ”‚   โ”‚                                                                  โ”‚   โ”‚
    โ”‚   โ”‚  What's the desired outcome?                                    โ”‚   โ”‚
    โ”‚   โ”‚  โ†’ Users can log in via Google/GitHub OAuth                    โ”‚   โ”‚
    โ”‚   โ”‚                                                                  โ”‚   โ”‚
    โ”‚   โ”‚  What's the next action?                                        โ”‚   โ”‚
    โ”‚   โ”‚  โ†’ Set up OAuth provider configuration                         โ”‚   โ”‚
    โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
    โ”‚                         โ”‚                                                โ”‚
    โ”‚                         โ–ผ                                                โ”‚
    โ”‚   ORGANIZE                                                               โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                                              โ”‚
    โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
    โ”‚   โ”‚  [ ] Set up OAuth provider configuration                        โ”‚   โ”‚
    โ”‚   โ”‚  [ ] Create user database schema                                โ”‚   โ”‚
    โ”‚   โ”‚  [ ] Implement OAuth callback handler                           โ”‚   โ”‚
    โ”‚   โ”‚  [ ] Add session management                                     โ”‚   โ”‚
    โ”‚   โ”‚  [ ] Create login/logout UI components                          โ”‚   โ”‚
    โ”‚   โ”‚  [ ] Add route protection middleware                            โ”‚   โ”‚
    โ”‚   โ”‚  [ ] Write integration tests                                    โ”‚   โ”‚
    โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
    โ”‚                         โ”‚                                                โ”‚
    โ”‚                         โ–ผ                                                โ”‚
    โ”‚   ENGAGE                                                                 โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€                                                                โ”‚
    โ”‚   [โœ“] Set up OAuth provider configuration  โ† Working on this now       โ”‚
    โ”‚   [ ] Create user database schema                                       โ”‚
    โ”‚   ...                                                                   โ”‚
    โ”‚                                                                          โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Key Insight: Kiro CLIโ€™s TODO feature automates the Clarify and Organize phases - AI breaks down your goal and creates the task list, freeing you to focus on execution.

2.2 The Thinking Tool: Visible AI Reasoning

The Thinking Tool (extended thinking) allows Claude to reason through problems before responding. This makes AI decision-making transparent and debuggable.

                    THINKING TOOL VISUALIZATION

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚                                                                          โ”‚
    โ”‚   USER REQUEST                                                           โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                                         โ”‚
    โ”‚   "Build a user authentication system with OAuth"                       โ”‚
    โ”‚                                                                          โ”‚
    โ”‚                               โ”‚                                          โ”‚
    โ”‚                               โ–ผ                                          โ”‚
    โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
    โ”‚   โ”‚                    THINKING TOOL                                 โ”‚   โ”‚
    โ”‚   โ”‚                    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                โ”‚   โ”‚
    โ”‚   โ”‚                                                                  โ”‚   โ”‚
    โ”‚   โ”‚   โ”œโ”€โ”€ Understanding scope                                        โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข OAuth implies third-party authentication                โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Need to handle tokens, sessions, callbacks              โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Multiple providers (Google, GitHub, etc.)               โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚                                                              โ”‚   โ”‚
    โ”‚   โ”‚   โ”œโ”€โ”€ Identifying components                                    โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Provider configuration (credentials)                    โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Database schema for users                               โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Callback handlers for OAuth flow                        โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Session management                                      โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข UI components                                           โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Route protection                                        โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚                                                              โ”‚   โ”‚
    โ”‚   โ”‚   โ”œโ”€โ”€ Ordering by dependencies                                  โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Config first (everything depends on it)                 โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Database second (handlers need it)                      โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข Handlers third (UI needs them)                          โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚   โ€ข UI last (depends on everything)                         โ”‚   โ”‚
    โ”‚   โ”‚   โ”‚                                                              โ”‚   โ”‚
    โ”‚   โ”‚   โ””โ”€โ”€ Estimating effort                                         โ”‚   โ”‚
    โ”‚   โ”‚       โ€ข Config: 15 min                                          โ”‚   โ”‚
    โ”‚   โ”‚       โ€ข Database: 20 min                                        โ”‚   โ”‚
    โ”‚   โ”‚       โ€ข Handlers: 45 min                                        โ”‚   โ”‚
    โ”‚   โ”‚       โ€ข ...                                                     โ”‚   โ”‚
    โ”‚   โ”‚                                                                  โ”‚   โ”‚
    โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
    โ”‚                               โ”‚                                          โ”‚
    โ”‚                               โ–ผ                                          โ”‚
    โ”‚   GENERATED TODO LIST                                                    โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                                   โ”‚
    โ”‚   [ ] 1. Set up OAuth provider configuration (15 min)                   โ”‚
    โ”‚   [ ] 2. Create user database schema (20 min)                           โ”‚
    โ”‚   ...                                                                   โ”‚
    โ”‚                                                                          โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2.3 Task State Machine

Tasks flow through defined states. Understanding this enables better workflow design:

                    TASK STATE MACHINE

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚                                                                          โ”‚
    โ”‚                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                  โ”‚
    โ”‚                        โ”‚   PENDING   โ”‚                                  โ”‚
    โ”‚                        โ”‚   [ ]       โ”‚                                  โ”‚
    โ”‚                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                  โ”‚
    โ”‚                               โ”‚                                          โ”‚
    โ”‚                               โ”‚ "Start task 1"                          โ”‚
    โ”‚                               โ”‚                                          โ”‚
    โ”‚                               โ–ผ                                          โ”‚
    โ”‚                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                  โ”‚
    โ”‚               โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ IN_PROGRESS โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                         โ”‚
    โ”‚               โ”‚        โ”‚   [~]       โ”‚        โ”‚                         โ”‚
    โ”‚               โ”‚        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚                         โ”‚
    โ”‚               โ”‚               โ”‚               โ”‚                         โ”‚
    โ”‚     Blocked   โ”‚               โ”‚ Complete      โ”‚ Blocked by              โ”‚
    โ”‚     by failureโ”‚               โ”‚               โ”‚ dependency              โ”‚
    โ”‚               โ”‚               โ–ผ               โ”‚                         โ”‚
    โ”‚               โ”‚        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”‚                         โ”‚
    โ”‚               โ”‚        โ”‚  COMPLETED  โ”‚        โ”‚                         โ”‚
    โ”‚               โ”‚        โ”‚   [โœ“]       โ”‚        โ”‚                         โ”‚
    โ”‚               โ”‚        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚                         โ”‚
    โ”‚               โ”‚                               โ”‚                         โ”‚
    โ”‚               โ–ผ                               โ–ผ                         โ”‚
    โ”‚        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                  โ”‚
    โ”‚        โ”‚   FAILED    โ”‚                 โ”‚   BLOCKED   โ”‚                  โ”‚
    โ”‚        โ”‚   [โœ—]       โ”‚                 โ”‚   [โธ]       โ”‚                  โ”‚
    โ”‚        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜                  โ”‚
    โ”‚               โ”‚                               โ”‚                         โ”‚
    โ”‚               โ”‚ Retry                         โ”‚ Dependency complete     โ”‚
    โ”‚               โ”‚                               โ”‚                         โ”‚
    โ”‚               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                         โ”‚
    โ”‚                               โ”‚                                          โ”‚
    โ”‚                               โ–ผ                                          โ”‚
    โ”‚                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                  โ”‚
    โ”‚                        โ”‚   PENDING   โ”‚                                  โ”‚
    โ”‚                        โ”‚   [ ]       โ”‚                                  โ”‚
    โ”‚                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                  โ”‚
    โ”‚                                                                          โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

    State indicators:
    [ ]  Pending - Ready to start
    [~]  In Progress - Currently being worked on
    [โœ“]  Completed - Successfully finished
    [โœ—]  Failed - Encountered error, needs attention
    [โธ]  Blocked - Waiting for dependency

2.4 Task Decomposition Strategies

Different types of goals require different decomposition approaches:

                    DECOMPOSITION STRATEGIES

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚                                                                          โ”‚
    โ”‚   STRATEGY 1: COMPONENT-BASED                                           โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                          โ”‚
    โ”‚   Best for: Feature development, new functionality                      โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "Add user profiles"                                                   โ”‚
    โ”‚   โ”‚                                                                      โ”‚
    โ”‚   โ”œโ”€โ”€ Database: Create profiles table                                   โ”‚
    โ”‚   โ”œโ”€โ”€ API: Implement CRUD endpoints                                     โ”‚
    โ”‚   โ”œโ”€โ”€ Frontend: Build profile components                                โ”‚
    โ”‚   โ””โ”€โ”€ Tests: Write integration tests                                    โ”‚
    โ”‚                                                                          โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                                                          โ”‚
    โ”‚   STRATEGY 2: WORKFLOW-BASED                                            โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                             โ”‚
    โ”‚   Best for: Process automation, CI/CD                                   โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "Set up deployment pipeline"                                          โ”‚
    โ”‚   โ”‚                                                                      โ”‚
    โ”‚   โ”œโ”€โ”€ Step 1: Configure build script                                    โ”‚
    โ”‚   โ”œโ”€โ”€ Step 2: Set up test automation                                    โ”‚
    โ”‚   โ”œโ”€โ”€ Step 3: Create staging environment                                โ”‚
    โ”‚   โ”œโ”€โ”€ Step 4: Implement deployment script                               โ”‚
    โ”‚   โ””โ”€โ”€ Step 5: Add monitoring and alerts                                 โ”‚
    โ”‚                                                                          โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                                                          โ”‚
    โ”‚   STRATEGY 3: ITERATIVE                                                 โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                                  โ”‚
    โ”‚   Best for: Improvements, refactoring                                   โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "Improve API performance"                                             โ”‚
    โ”‚   โ”‚                                                                      โ”‚
    โ”‚   โ”œโ”€โ”€ Iteration 1: Add caching layer                                    โ”‚
    โ”‚   โ”œโ”€โ”€ Iteration 2: Optimize database queries                            โ”‚
    โ”‚   โ”œโ”€โ”€ Iteration 3: Implement pagination                                 โ”‚
    โ”‚   โ””โ”€โ”€ Iteration 4: Add response compression                             โ”‚
    โ”‚                                                                          โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                                                          โ”‚
    โ”‚   STRATEGY 4: DEPENDENCY-ORDERED                                        โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                        โ”‚
    โ”‚   Best for: Complex features with prerequisites                         โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "Implement payment processing"                                        โ”‚
    โ”‚   โ”‚                                                                      โ”‚
    โ”‚   โ”œโ”€โ”€ [No deps] Set up Stripe account                                   โ”‚
    โ”‚   โ”œโ”€โ”€ [Deps: 1] Add Stripe SDK                                          โ”‚
    โ”‚   โ”œโ”€โ”€ [Deps: 2] Create payment service                                  โ”‚
    โ”‚   โ”œโ”€โ”€ [Deps: 3] Build checkout UI                                       โ”‚
    โ”‚   โ”œโ”€โ”€ [Deps: 3] Implement webhooks                                      โ”‚
    โ”‚   โ””โ”€โ”€ [Deps: 4,5] Add order confirmation                                โ”‚
    โ”‚                                                                          โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2.5 The TODO Tool API

Understanding the TODO toolโ€™s interface helps you use it effectively:

                    TODO TOOL INTERFACE

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚                                                                          โ”‚
    โ”‚   COMMANDS                                                               โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                                              โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   /todo                     View current task list                       โ”‚
    โ”‚   /todo "description"       Add new task                                โ”‚
    โ”‚   /todo start <n>           Begin working on task n                     โ”‚
    โ”‚   /todo done <n>            Mark task n complete                        โ”‚
    โ”‚   /todo remove <n>          Remove task n                               โ”‚
    โ”‚   /todo clear               Clear all tasks                             โ”‚
    โ”‚   /todo reorder             Reorganize task order                       โ”‚
    โ”‚                                                                          โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                                                          โ”‚
    โ”‚   NATURAL LANGUAGE INTERFACE                                            โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                            โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   Instead of commands, you can say:                                     โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "Break this down into tasks"                                          โ”‚
    โ”‚   โ†’ AI decomposes goal into ordered task list                           โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "What should I work on next?"                                         โ”‚
    โ”‚   โ†’ AI suggests highest-priority pending task                           โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "I finished the OAuth setup"                                          โ”‚
    โ”‚   โ†’ AI marks relevant task complete                                     โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   "This task is blocked by X"                                           โ”‚
    โ”‚   โ†’ AI updates task status and dependencies                             โ”‚
    โ”‚                                                                          โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚                                                                          โ”‚
    โ”‚   ENABLING THE TODO FEATURE                                             โ”‚
    โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                            โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   In your settings.json or via CLI:                                     โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   kiro-cli settings chat.enableTodo true                                โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   Or in agent configuration:                                            โ”‚
    โ”‚                                                                          โ”‚
    โ”‚   {                                                                      โ”‚
    โ”‚     "experimental": {                                                   โ”‚
    โ”‚       "enableTodo": true,                                               โ”‚
    โ”‚       "enableThinking": true                                            โ”‚
    โ”‚     }                                                                   โ”‚
    โ”‚   }                                                                      โ”‚
    โ”‚                                                                          โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3. Complete Project Specification

3.1 What You Will Build

A personal productivity workflow using Kiro CLI that:

  1. Takes high-level development goals as input
  2. Uses the Thinking Tool to analyze and decompose tasks
  3. Creates structured TODO lists with dependencies
  4. Tracks progress through task states
  5. Provides intelligent suggestions for next actions
  6. Generates progress reports and summaries

3.2 Functional Requirements

Requirement Description
Goal Input Accept complex development goals in natural language
Task Decomposition Break goals into atomic, actionable tasks
Dependency Detection Identify which tasks depend on others
Progress Tracking Track task states (pending, in-progress, done)
Smart Suggestions Recommend next task based on dependencies
Time Estimation Estimate effort for each task
Progress Reports Summarize work completed and remaining

3.3 Non-Functional Requirements

  • Persistence: Task lists survive session restarts
  • Clarity: Task descriptions are actionable and unambiguous
  • Efficiency: Decomposition happens in seconds
  • Flexibility: Tasks can be added, removed, or reordered

4. Solution Architecture

4.1 Workflow Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        TODO AUTOMATOR WORKFLOW                                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                               โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                           INPUT LAYER                                    โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ”‚   "Build a REST API for a blog with posts, comments, and users"        โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                       โ”‚                                       โ”‚
โ”‚                                       โ–ผ                                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                        THINKING TOOL                                     โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ”‚   โ”œโ”€โ”€ Analyzing requirements...                                         โ”‚ โ”‚
โ”‚  โ”‚   โ”‚   โ€ข REST API implies HTTP endpoints                                 โ”‚ โ”‚
โ”‚  โ”‚   โ”‚   โ€ข Blog domain: posts, comments, users                             โ”‚ โ”‚
โ”‚  โ”‚   โ”‚   โ€ข Need CRUD for each entity                                       โ”‚ โ”‚
โ”‚  โ”‚   โ”‚                                                                      โ”‚ โ”‚
โ”‚  โ”‚   โ”œโ”€โ”€ Identifying components...                                         โ”‚ โ”‚
โ”‚  โ”‚   โ”‚   โ€ข Database models                                                 โ”‚ โ”‚
โ”‚  โ”‚   โ”‚   โ€ข Route handlers                                                  โ”‚ โ”‚
โ”‚  โ”‚   โ”‚   โ€ข Validation                                                      โ”‚ โ”‚
โ”‚  โ”‚   โ”‚   โ€ข Authentication                                                  โ”‚ โ”‚
โ”‚  โ”‚   โ”‚                                                                      โ”‚ โ”‚
โ”‚  โ”‚   โ””โ”€โ”€ Determining order...                                              โ”‚ โ”‚
โ”‚  โ”‚       โ€ข Models first โ†’ Routes โ†’ Auth โ†’ Tests                           โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                       โ”‚                                       โ”‚
โ”‚                                       โ–ผ                                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                        TODO LIST MANAGER                                 โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ # โ”‚ Task                                      โ”‚ Status โ”‚ Deps    โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 1 โ”‚ Set up project structure                  โ”‚ [ ]    โ”‚ None    โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 2 โ”‚ Create User model                         โ”‚ [ ]    โ”‚ 1       โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 3 โ”‚ Create Post model                         โ”‚ [ ]    โ”‚ 1       โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 4 โ”‚ Create Comment model                      โ”‚ [ ]    โ”‚ 2,3     โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 5 โ”‚ Implement User CRUD routes                โ”‚ [ ]    โ”‚ 2       โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 6 โ”‚ Implement Post CRUD routes                โ”‚ [ ]    โ”‚ 3       โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 7 โ”‚ Implement Comment routes                  โ”‚ [ ]    โ”‚ 4       โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 8 โ”‚ Add authentication middleware             โ”‚ [ ]    โ”‚ 5       โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ 9 โ”‚ Write integration tests                   โ”‚ [ ]    โ”‚ 5,6,7   โ”‚ โ”‚ โ”‚
โ”‚  โ”‚   โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                       โ”‚                                       โ”‚
โ”‚                                       โ–ผ                                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                        EXECUTION LOOP                                    โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ”‚   User: "Start task 1"                                                  โ”‚ โ”‚
โ”‚  โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ [Kiro] Working on: Set up project structure                     โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚                                                                  โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ [Thinking Tool] Planning implementation...                       โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โ”œโ”€โ”€ Initialize npm project                                      โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โ”œโ”€โ”€ Install dependencies (express, prisma, etc.)                โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โ”œโ”€โ”€ Create folder structure                                     โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โ””โ”€โ”€ Set up TypeScript config                                    โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚                                                                  โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ Creating files...                                                โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โœ“ package.json                                                   โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โœ“ tsconfig.json                                                  โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โœ“ src/index.ts                                                   โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โœ“ src/routes/                                                    โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ”‚ โœ“ src/models/                                                    โ”‚   โ”‚ โ”‚
โ”‚  โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ”‚   [TODO] Task 1 complete. Next available: Tasks 2, 3 (no blockers)      โ”‚ โ”‚
โ”‚  โ”‚                                                                          โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                                                               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

4.2 Data Structures

// Core types for TODO automator

interface Task {
  id: number;
  description: string;
  status: TaskStatus;
  dependencies: number[];  // IDs of tasks this depends on
  estimatedMinutes: number;
  createdAt: Date;
  startedAt?: Date;
  completedAt?: Date;
  notes: string[];
}

type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'blocked' | 'failed';

interface TodoList {
  goal: string;
  tasks: Task[];
  createdAt: Date;
  lastUpdated: Date;
}

interface ProgressReport {
  totalTasks: number;
  completedTasks: number;
  inProgressTasks: number;
  blockedTasks: number;
  estimatedTimeRemaining: number;
  percentComplete: number;
}

interface ThinkingOutput {
  steps: ThinkingStep[];
  conclusion: string;
  decomposition: TaskDecomposition;
}

interface ThinkingStep {
  phase: 'analyzing' | 'identifying' | 'ordering' | 'estimating';
  content: string[];
}

interface TaskDecomposition {
  tasks: Omit<Task, 'id' | 'status' | 'createdAt'>[];
  dependencyGraph: Map<number, number[]>;
  criticalPath: number[];
}

5. Phased Implementation Guide

Phase 1: Basic TODO Setup (Day 1 Morning)

Goals:

  • Enable TODO feature in Kiro CLI
  • Create first TODO list manually
  • Understand task state management

Tasks:

  1. Enable TODO feature in settings
  2. Create a simple TODO list with /todo
  3. Practice adding, starting, completing tasks
  4. Observe how tasks persist across messages

Milestone Checkpoint:

$ kiro-cli chat
> /todo

[TODO] No active tasks. Describe what you'd like to accomplish.

> /todo "Learn the Kiro CLI TODO feature"

[TODO] Added: Learn the Kiro CLI TODO feature

> /todo start 1

[TODO] Started: Learn the Kiro CLI TODO feature

> /todo done 1

[TODO] Completed: Learn the Kiro CLI TODO feature

Hint 1: Use kiro-cli settings --list to see all available settings including experimental features.

Phase 2: AI-Driven Decomposition (Day 1 Afternoon)

Goals:

  • Use AI to automatically decompose goals
  • Observe Thinking Tool reasoning
  • Understand how dependencies are detected

Tasks:

  1. Give AI a complex development goal
  2. Watch Thinking Tool break it down
  3. Review generated task list
  4. Modify tasks as needed

Milestone Checkpoint:

> "Build a simple REST API for a to-do app with Express"

[Thinking Tool] Breaking down task...
โ”œโ”€โ”€ Analyzing requirements
โ”œโ”€โ”€ Identifying components
โ”œโ”€โ”€ Ordering by dependencies
โ””โ”€โ”€ Estimating effort

[TODO] Generated 7 tasks:
โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ # โ”‚ Task                               โ”‚ Status โ”‚ Est.    โ”‚
โ”œโ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 1 โ”‚ Initialize Express project         โ”‚ [ ]    โ”‚ 10 min  โ”‚
โ”‚ 2 โ”‚ Create Todo model/schema           โ”‚ [ ]    โ”‚ 15 min  โ”‚
โ”‚ 3 โ”‚ Implement GET /todos endpoint      โ”‚ [ ]    โ”‚ 15 min  โ”‚
โ”‚ 4 โ”‚ Implement POST /todos endpoint     โ”‚ [ ]    โ”‚ 15 min  โ”‚
โ”‚ 5 โ”‚ Implement PUT /todos/:id endpoint  โ”‚ [ ]    โ”‚ 15 min  โ”‚
โ”‚ 6 โ”‚ Implement DELETE /todos/:id        โ”‚ [ ]    โ”‚ 10 min  โ”‚
โ”‚ 7 โ”‚ Add error handling middleware      โ”‚ [ ]    โ”‚ 15 min  โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Total estimated time: 1h 35min

Hint 2: You can refine the decomposition by saying โ€œBreak this down into smaller tasksโ€ or โ€œThis task seems too big, can you split it?โ€

Phase 3: Workflow Execution (Day 2 Morning)

Goals:

  • Execute tasks with AI assistance
  • Track progress through completion
  • Handle blocked and failed states

Tasks:

  1. Start first task and observe AI implementation
  2. Mark tasks complete as you progress
  3. Observe how dependencies unlock next tasks
  4. Simulate a failure and observe recovery

Milestone Checkpoint:

> "Start task 1"

[Kiro] Working on: Initialize Express project

[Thinking Tool] Planning implementation...
โ”œโ”€โ”€ Create package.json
โ”œโ”€โ”€ Install express and dependencies
โ”œโ”€โ”€ Create src/index.ts entry point
โ””โ”€โ”€ Add npm scripts

Creating files...
โœ“ package.json
โœ“ src/index.ts
โœ“ npm install complete

[TODO] Task 1 complete!

Progress: 1/7 tasks (14%)
Next available: Task 2 (Create Todo model/schema)

Phase 4: Progress Tracking (Day 2 Afternoon)

Goals:

  • Generate progress reports
  • Understand critical path analysis
  • Create session summaries

Tasks:

  1. Complete several tasks
  2. Request progress report
  3. Analyze remaining work
  4. Generate session summary

Milestone Checkpoint:

> "Show my progress"

[TODO] Progress Report
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

Goal: Build a simple REST API for a to-do app

Progress: โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 40% (3/7 tasks)

Completed:
โœ“ Initialize Express project (10 min)
โœ“ Create Todo model/schema (15 min)
โœ“ Implement GET /todos endpoint (15 min)

In Progress:
~ Implement POST /todos endpoint (15 min)

Remaining:
โ€ข Implement PUT /todos/:id endpoint (15 min)
โ€ข Implement DELETE /todos/:id (10 min)
โ€ข Add error handling middleware (15 min)

Time spent: 45 min
Time remaining: ~55 min

[Thinking Tool] Analysis:
Tasks 5-6 can be parallelized if you split the work.
Task 7 (error handling) is on the critical path.

Hint 3: Ask โ€œWhatโ€™s blocking me?โ€ to see dependencies, or โ€œWhat can I parallelize?โ€ for efficiency tips.


6. Testing Strategy

6.1 Manual Testing Scenarios

Since this project is primarily about workflow patterns, testing is more experiential than automated.

Scenario 1: Simple Decomposition

Input: "Add a login page to my React app"
Expected: 3-5 tasks covering component creation, styling, routing
Verify: Tasks are ordered logically (component before integration)

Scenario 2: Complex Decomposition

Input: "Build a complete e-commerce checkout flow"
Expected: 10+ tasks with clear dependencies
Verify: Dependencies are correctly identified (payment after cart)

Scenario 3: Blocked Task Handling

Steps:
1. Create tasks with dependencies
2. Try to start a blocked task
3. Verify system prevents or warns
Expected: Clear message about what's blocking

Scenario 4: Progress Report Accuracy

Steps:
1. Complete 3 of 5 tasks
2. Request progress report
3. Verify percentages and remaining time
Expected: 60% complete, accurate time estimates

6.2 Quality Checks

Aspect Check Pass Criteria
Decomposition Quality Tasks are atomic Each task can be done in one sitting
Dependency Accuracy No circular deps System warns or prevents
Time Estimates Reasonable for scope Within 2x of actual
Progress Tracking Accurate counts Matches actual completions
State Transitions Correct flow pending โ†’ in_progress โ†’ completed

7. Common Pitfalls and Debugging

7.1 Common Issues

Pitfall Symptom Solution
Vague tasks โ€œImplement featureโ€ unclear Ask for more specific decomposition
Missing dependencies Task fails because prereq not done Review and add dependencies
Over-decomposition 50 tiny tasks Ask to group related tasks
Under-decomposition Tasks take hours Ask to break down large tasks
Circular dependencies Tasks block each other Identify and break the cycle

7.2 Debugging Strategies

1. View Thinking Tool reasoning:

> "Show me your reasoning for this decomposition"

[Thinking Tool] Reasoning trace:
โ”œโ”€โ”€ The goal mentions "authentication"
โ”œโ”€โ”€ Authentication requires user model
โ”œโ”€โ”€ User model requires database setup
โ”œโ”€โ”€ Therefore: Database โ†’ User Model โ†’ Auth

2. Check dependency graph:

> "Show me the dependency graph"

[TODO] Dependency Graph:

Task 1: Initialize project
  โ””โ”€โ–บ Task 2: Create models
       โ””โ”€โ–บ Task 3: Create routes
            โ””โ”€โ–บ Task 4: Add auth
                 โ””โ”€โ–บ Task 5: Tests

3. Validate estimates:

> "These time estimates seem off. Can you re-estimate based on my skill level?"

[Thinking Tool] Adjusting estimates...
โ”œโ”€โ”€ You mentioned being new to Express
โ”œโ”€โ”€ Increasing estimates by 50%
โ”œโ”€โ”€ Adding buffer for learning curve

8. Extensions and Challenges

8.1 Beginner Extensions

  • Create a TODO list template for common tasks (bug fixes, features, refactoring)
  • Add tags to tasks for categorization (frontend, backend, testing)
  • Export TODO list to markdown file

8.2 Intermediate Extensions

  • Create recurring task patterns for daily/weekly workflows
  • Integrate with external task managers (Notion, Linear, Jira)
  • Build a โ€œstandup reportโ€ generator from completed tasks

8.3 Advanced Extensions

  • Implement parallel task execution with coordination
  • Create team-based task distribution
  • Build velocity tracking and estimate improvement

9. Real-World Connections

9.1 Industry Practices

Practice Connection to This Project
Agile Sprints TODO decomposition mirrors backlog grooming
Kanban Boards Task states map to board columns
GTD Methodology Capture โ†’ Clarify โ†’ Organize โ†’ Engage
Project Planning Dependency graphs = critical path method

9.2 Professional Applications

  • Sprint Planning: Use TODO decomposition for story breakdown
  • Daily Standups: Generate โ€œwhat I did / what Iโ€™ll doโ€ from task history
  • Time Estimation: Improve estimates by tracking actual vs. predicted
  • Onboarding: Create TODO templates for new team members

10. Self-Assessment Checklist

Understanding Verification

  • I can explain the GTD workflow phases
  • I understand task state transitions
  • I can describe how the Thinking Tool aids decomposition
  • I know when to use different decomposition strategies
  • I can identify task dependencies correctly

Implementation Verification

  • I enabled the TODO feature in Kiro CLI
  • I created and managed a TODO list
  • I observed Thinking Tool reasoning
  • I tracked progress through task states
  • I generated a progress report

Integration Verification

  • I used TODO for a real development task
  • AI decomposition matched my needs
  • I refined tasks based on actual work
  • I completed a full goal using this workflow

11. Completion Criteria

Minimum Viable Completion

  • Enable and use /todo command
  • Create a task list from a goal
  • Complete at least 3 tasks tracking states
  • Generate basic progress report

Full Completion

  • Use Thinking Tool for intelligent decomposition
  • Handle task dependencies correctly
  • Create custom decomposition templates
  • Integrate TODO into daily workflow

Excellence (Going Above and Beyond)

  • Build reusable task templates
  • Create automated progress reports
  • Integrate with external tools
  • Train the system on your estimation patterns

This guide was expanded from LEARN_KIRO_CLI_MASTERY.md. For the complete learning path, see the README.