Module 4 of 9 · Spec-Driven Development with Kiro · Intermediate

Generating and Executing Tasks

Duration: 5 min

With requirements and design approved, Kiro generates tasks.md — an ordered checklist of implementation steps. Each task is small, testable, and maps directly to the design. You then tell Kiro to execute them one by one or all at once.

What tasks.md looks like

# Profile Photo Upload — Tasks

- [ ] 1. Add multer middleware with 5MB limit and jpeg/png/webp filter
- [ ] 2. Create POST /api/profile/photo route with auth middleware
- [ ] 3. Implement resizeImage(buffer) using sharp — 200x200, cover crop
- [ ] 4. Implement uploadToS3(buffer, userId) using @aws-sdk/client-s3
- [ ] 5. Update User.profilePhotoUrl in database after successful upload
- [ ] 6. Return { url } on success; structured errors on 413/415
- [ ] 7. Write integration tests for happy path and error cases

Try it in Google Colab: Open in Colab

💡 Tip: Tasks are intentionally granular. If a task feels too big, ask Kiro to split it. Smaller tasks = smaller diffs = easier review.

Executing tasks

Tell Kiro: 'Work through the tasks in tasks.md'. Kiro reads all three spec files for context, then implements each task, checking them off as it goes. You can pause after any task to review the diff before continuing.

Resuming interrupted work

Because tasks.md tracks completion with checkboxes, you can stop and resume at any time — even in a new session. Kiro reads the file, sees which tasks are done, and picks up where you left off. This is one of the biggest advantages over freeform prompting.

# In a new Kiro session:
"Continue implementing the tasks in .kiro/specs/user-auth/tasks.md"

# Kiro reads tasks.md, sees tasks 1-3 are checked off,
# and starts from task 4.

❓ How does Kiro know where to resume work after you close and reopen a session?

← Previous Continue interactively → Next →

Related Courses