How to Generate Tasks from Implementation Plans Using the /speckit.tasks Command

The /speckit.tasks command reads a previously created implementation plan, delegates the breakdown to a configured AI assistant, and writes a deterministic tasks.md file containing ordered, dependency-aware work items.

The github/spec-kit repository provides a structured workflow for AI-assisted software development. The /speckit.tasks slash command serves as the critical bridge between high-level architectural planning and executable development work, transforming abstract plans into concrete, trackable tasks.

Prerequisites for Task Generation

Before invoking the command, you must have a valid implementation plan in place.

Creating the Implementation Plan First

Task generation depends entirely on the output of the /speckit.plan command. According to the source code in src/specify_cli/__init__.py (lines 1062–1064), the planning phase produces a structured plan.md (or plan.toml) file that outlines the overall solution, its components, and required implementation steps. Without this plan file present in the project root, the tasks command cannot execute.

How the /speckit.tasks Command Works

The command operates as a deterministic pipeline that converts planning documents into actionable work items.

Command Invocation

You can trigger task generation via the CLI using the following syntax:


# Equivalent to the /speckit.tasks slash command

specify tasks

As noted in src/specify_cli/__init__.py (lines 1609–1610), this command appears in the "Next Steps" panel automatically displayed after project initialization, guiding developers toward the natural workflow progression.

Processing Pipeline

When executed, the command performs three core operations:

  1. Reads the plan – It loads the most recent plan.md (or plan.toml) from the project directory.
  2. Calls the selected AI assistant – The system passes the plan content to the configured AI model with a specific system prompt instructing it to "break the implementation plan into an ordered, dependency-aware list of tasks."
  3. Produces tasks.md – The AI returns a markdown file where each task receives a unique number, description, and optional dependency annotation using the depends_on: <task-id> format.

Output Files

The command generates tasks.md as its primary output. For projects configured to use TOML-based command files, it additionally creates a matching tasks.toml containing the same structured data in a machine-parseable format.

A typical generated tasks.md follows this structure:


# Tasks generated from the implementation plan

1. Set up the project scaffolding
   - Description: Initialize repo, create virtual environment, install dependencies.
2. Implement the data model
   - Description: Define ORM entities and migrations.
   - Depends on: 1
3. Create REST endpoints
   - Description: Add FastAPI routes for CRUD operations.
   - Depends on: 2

The AI Skill Integration

Upon project initialization, Spec-Kit automatically registers a Claude skill called speckit-tasks. The test suite in tests/test_ai_skills.py (lines 210–284) validates that this skill file is correctly created and contains the expected metadata. This integration enables the AI assistant to answer queries like "What are the next tasks?" directly within the chat interface without requiring re-execution of the slash command.

Workflow Integration and Next Steps

The /speckit.tasks command fits into a larger validation and implementation pipeline. After generating your task list, you can optionally run /speckit.analyze to verify consistency between spec.md, plan.md, and tasks.md before proceeding to /speckit.implement, which executes the tasks sequentially. The extension test in tests/test_extensions.py (line 57) confirms that /speckit.tasks is properly registered as a supported extension within the Spec-Kit ecosystem.

Summary

  • Prerequisite requirement: The /speckit.tasks command requires an existing plan.md file generated by the /speckit.plan command.
  • AI delegation: The command delegates task breakdown to the configured AI assistant using a specific system prompt requesting ordered, dependency-aware task lists.
  • Deterministic output: Execution produces tasks.md and optionally tasks.toml with numbered tasks and dependency annotations.
  • Skill registration: The command automatically creates the speckit-tasks Claude skill, enabling on-demand task queries without re-running the command.
  • Workflow position: Tasks generation precedes the optional /speckit.analyze verification step and the final /speckit.implement execution phase.

Frequently Asked Questions

What file does the /speckit.tasks command require as input?

The command requires a plan.md or plan.toml file created by the preceding /speckit.plan command. According to src/specify_cli/__init__.py, the command loads the most recent plan file from the project root to use as the source material for task generation.

How does the AI know how to break down the plan into tasks?

Spec-Kit sends the plan content to the configured AI assistant with a system prompt that explicitly instructs the model to "break the implementation plan into an ordered, dependency-aware list of tasks." This prompt engineering ensures consistent, structured output across different AI models.

Can I query the task list without re-running the command?

Yes. The speckit-tasks skill, validated in tests/test_ai_skills.py, persists after initial generation. This Claude skill allows the AI assistant to reference and answer questions about the task list on demand, eliminating the need to repeatedly execute the /speckit.tasks slash command for status checks.

What is the relationship between /speckit.tasks and /speckit.implement?

The /speckit.tasks command produces the structured work list that /speckit.implement subsequently executes. Between these steps, you can optionally run /speckit.analyze to verify alignment between your specification, plan, and generated tasks before implementation begins.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →