Skip to content
Development
Command

/specs.spec-to-tasks

Provides capability to convert functional specifications into executable and trackable tasks. Use when needing to transform a spec from devkit.brainstorm into a task list. Output: docs/specs/[id]/YYYY-MM-DD-feature-name--tasks.md, data-model.md, contracts/, and individual task

From plugin
developer-kit
32148 skills44 agents48 commands
Install
$ npx -y skills add giuseppe-trisciuoglio/developer-kit --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/specs.spec-to-tasks

Context preview

What this command does when you run it.

Provides capability to convert functional specifications into executable and trackable tasks. Use when needing to transform a spec from devkit.brainstorm into a task list. Output: docs/specs/[id]/YYYY-MM-DD-feature-name--tasks.md, data-model.md, contracts/, and individual task

Command definition

specs.spec-to-tasks.md
description: "Provides capability to convert functional specifications into executable and trackable tasks. Use when needing to transform a spec from devkit.brainstorm into a task list. Output: docs/specs/[id]/YYYY-MM-DD-feature-name--tasks.md, data-model.md, contracts/, and individual task files"
argument-hint: "[ --lang=java|spring|typescript|nestjs|react|python|general ] [ --spec=\"spec-folder\" ]"
allowed-tools: Task, Read, Write, Edit, Bash, Grep, Glob, TodoWrite, AskUserQuestion
model: inherit

Specification to Tasks

Converts a functional specification into a list of executable, trackable tasks. This is the bridge between WHAT (specification) and HOW (implementation).

Overview

This command reads a functional specification generated by `/developer-kit-specs:specs.brainstorm` and converts it into atomic, executable tasks.

**Input**: `docs/specs/[id]/YYYY-MM-DD--feature-name.md` **Output**:

  • Task list: `docs/specs/[id]/YYYY-MM-DD--feature-name--tasks.md`
  • Data model: `docs/specs/[id]/data-model.md`
  • Contracts: `docs/specs/[id]/contracts/*`
  • Individual tasks: `docs/specs/[id]/tasks/TASK-XXX.md`

Task Structure

Each task includes:

  • **Title**: Descriptive name for the task
  • **Description**: Functional description of what to implement
  • **Acceptance Criteria**: Testable conditions for completion
  • **Dependencies**: Other tasks that must complete first (if any)
  • **Implementation Command**: Pre-filled command to execute this task

Workflow Position

Idea → Functional Specification → Architecture & Ontology Definition → Tasks → Implementation → Review → Code Cleanup → Done
              (brainstorm)         (this: Phase 1.5)                   (this)   (task-implementation)  (task-review)   (code-cleanup)

Task Count Limit

**CRITICAL**: If task decomposition produces **more than 15 implementation tasks**, the specification is too large for a single implementation cycle and MUST be rejected:

1. **Detect oversized spec**: After Phase 4 (Task Decomposition), count implementation tasks (excluding e2e and cleanup tasks) 2. **If > 15 tasks**:

  • STOP task generation immediately
  • Inform the user with this message:
   Specification Too Large

   This specification would generate X implementation tasks, which exceeds the maximum of 15.
   The scope is too large for a single implementation cycle.

   Recommended action:
   1. Return to /developer-kit-specs:specs.brainstorm
   2. Split your idea into 2 or more smaller, focused specifications
   3. Run /developer-kit-specs:specs.spec-to-tasks for each specification separately

   Example split strategy:
   - Spec Part 1: Core functionality (must-have for initial release)
   - Spec Part 2: Extended features (phase 2 or nice-to-have)
   - Spec Part 3: Additional capabilities (future iterations)

   This ensures each specification has a clear functional scope and manageable implementation scope.
  • Use **AskUserQuestion** to offer options:
  • Options:
  • "Return to /developer-kit-specs:specs.brainstorm to split this idea" (recommended)
  • "Continue anyway with this large specification" (not recommended - proceed at user risk)
  • If user chooses "Return to brainstorm": abort task generation and suggest running `/developer-kit-specs:specs.brainstorm` with the split idea
  • If user chooses "Continue anyway": proceed with warning logged in summary

3. **If <= 15 tasks**: Proceed normally with task generation

Usage

# Basic usage - specify spec file or folder
/developer-kit-specs:specs.spec-to-tasks docs/specs/001-hotel-search-aggregation/
/developer-kit-specs:specs.spec-to-tasks docs/specs/001-hotel-search-aggregation/2026-03-07--hotel-search-aggregation.md

# With language specification
/developer-kit-specs:specs.spec-to-tasks --lang=spring docs/specs/001-user-auth/
/developer-kit-specs:specs.spec-to-tasks --lang=typescript docs/specs/001-user-auth/
/developer-kit-specs:specs.spec-to-tasks --lang=nestjs docs/specs/001-user-auth/
/developer-kit-specs:specs.spec-to-tasks --lang=react docs/specs/001-user-auth/
/developer-kit-specs:specs.spec-to-tasks --lang=python docs/specs/001-user-auth/
/developer-kit-specs:specs.spec-to-tasks --lang=general docs/specs/001-user-auth/

Arguments

| Argument | Required | Description | |----------|----------|-------------| | `--lang` | Recommended | Target language/framework: `java`, `spring`, `typescript`, `nestjs`, `react`, `python`, `php`, `general`. Required for codebase analysis and technical task generation | | `--spec` | No | Path to spec folder (e.g., `docs/specs/001-feature-name/`) | | `--kg-only` | No | Only initialize/update the Knowledge Graph, skip task generation |

Examples

Basic Usage

/developer-kit-specs:specs.spec-to-tasks docs/specs/001-feature/

With Language Specification

/developer-kit-specs:specs.spec-to-tasks --lang=spring docs/specs/001-feature/

KG-Only Mode

/developer-kit-specs:specs.spec-to-tasks docs/specs/001-feature/ --kg-only

Argument Parsing

1. Run the shared argument parser:

   python3 "${CLAUDE_PLUGIN_ROOT}/scripts/parse_args.py" "$ARGUMENTS"

Read the JSON output and extract:

  • `spec` → spec folder path
  • `lang` → target language/framework
  • `flags` → detect `--kg-only`

2. If `spec` is null, auto-detect from git branch:

   branch=$(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/current_branch.py")
   spec=$(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/find_spec_from_branch.py")

3. If no matching spec folder is found for the current branch, stop and inform the user. 4. Validate required parameters. If missing, ask user via AskUserQuestion.

---

You are converting a functional specification into executable tasks. Follow a systematic approach: analyze requirements, identify dependencies, generate atomic tasks, and create a trackable task list.

Core Principles

  • **Atomic tasks**: Each task sho
Read more
Ships withdeveloper-kit

Modular plugin marketplace for Claude Code and agentic CLIs, with validated, spec-driven skills, agents, commands, and workflows for Java, TypeScript, Python, PHP, AWS, and AI.

Get the whole plugin, auto-invoked
Stats
321
Stars
1
Views
37
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
9mo ago
Created

Repo: giuseppe-trisciuoglio/developer-kit