<< All versions

Skill v1.0.1

currentAutomated scan100/100
attckdigital/smith/smith-tasks

+1 new

──Details
PublishedOctober 27, 2026 at 11:12 AM
Content Hashsha256:8c7ab20e3c07bb6e...
Git SHA2d7c27a32462
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 7.8 KB)
SKILL.md7.8 KBactive
SKILL.md · 168 lines · 7.8 KB

name: smith-tasks description: Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts. handoffs:

  • label: Analyze For Consistency

agent: smith-analyze prompt: Run a project analysis for consistency send: true

  • label: Implement Project

agent: smith-implement prompt: Start the implementation in phases send: true metadata: version: "1.0.1"


Workflow requirement (Smith 20+): This skill must be invoked from inside an active top-level workflow (/smith-new, /smith-bugfix, /smith-debug, /smith-build). The workflow-gate hook will block standalone invocation. To use this skill standalone, start a top-level workflow first.

Vault Logging

Throughout this action, log significant events to the vault session log. Read the session log path from .smith/vault/.current-session. If the file is missing or the vault is not initialized, skip all logging silently.

Timestamps are UTC. HH:MM:SS comes from date -u +%H:%M:%S — never a local clock, never a time from memory. The append already runs through a shell, so read the clock in that same command (TS=$(date -u +%H:%M:%S)) and spend no extra tool call. Substitute the resulting value: an unexpanded $(...) reaching the log is a known regression and will not parse. Every hook-written stamp in this log is date -u, so a local-clock entry lands hours away from its neighbours and skews the workflow window hooks/workflow_summary_lib.py derives from them.

Append entries using this format:

### [HH:MM:SS] /smith-tasks <event>
**User Request:**
> <verbatim user message that triggered this action>
**Synthesized Input:** <brief summary>
**Outcome:** <what happened>
**Artifacts:** <files created/modified>
**Systems affected:** <system IDs>

Log at these points:

  1. On invocation — which plan is being broken into tasks (feature name)
  2. After task generation — total task count, phase count, brief list of task titles
  3. After tasks.md created — path to tasks.md

User Input

text
$ARGUMENTS

You MUST consider the user input before proceeding (if not empty).

Outline

  1. Setup: Run .specify/scripts/bash/check-prerequisites.sh --json from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
  1. Load design documents: Read from FEATURE_DIR:
  • Required: plan.md (tech stack, libraries, structure), spec.md (user stories with priorities)
  • Optional: data-model.md (entities), contracts/ (API endpoints), research.md (decisions), quickstart.md (test scenarios)
  • Note: Not all projects have all documents. Generate tasks based on what's available.
  1. Execute task generation workflow:
  • Load plan.md and extract tech stack, libraries, project structure
  • Load spec.md and extract user stories with their priorities (P1, P2, P3, etc.)
  • If data-model.md exists: Extract entities and map to user stories
  • If contracts/ exists: Map endpoints to user stories
  • If research.md exists: Extract decisions for setup tasks
  • Generate tasks organized by user story (see Task Generation Rules below)
  • Generate dependency graph showing user story completion order
  • Create parallel execution examples per user story
  • Validate task completeness (each user story has all needed tasks, independently testable)
  1. Generate tasks.md: Use .specify/templates/tasks-template.md as structure, fill with:
  • Correct feature name from plan.md
  • Phase 1: Setup tasks (project initialization)
  • Phase 2: Foundational tasks (blocking prerequisites for all user stories)
  • Phase 3+: One phase per user story (in priority order from spec.md)
  • Each phase includes: story goal, independent test criteria, tests (if requested), implementation tasks
  • Final Phase: Polish & cross-cutting concerns
  • All tasks must follow the strict checklist format (see Task Generation Rules below)
  • Clear file paths for each task
  • Dependencies section showing story completion order
  • Parallel execution examples per story
  • Implementation strategy section (MVP first, incremental delivery)
  1. Report: Output path to generated tasks.md and summary:
  • Total task count
  • Task count per user story
  • Parallel opportunities identified
  • Independent test criteria for each story
  • Suggested MVP scope (typically just User Story 1)
  • Format validation: Confirm ALL tasks follow the checklist format (checkbox, ID, labels, file paths)

Context for task generation: $ARGUMENTS

The tasks.md should be immediately executable - each task must be specific enough that an LLM can complete it without additional context.

Task Generation Rules

CRITICAL: Tasks MUST be organized by user story to enable independent implementation and testing.

Tests are OPTIONAL: Only generate test tasks if explicitly requested in the feature specification or if user requests TDD approach.

Checklist Format (REQUIRED)

Every task MUST strictly follow this format:

text
- [ ] [TaskID] [P?] [Story?] Description with file path

Format Components:

  1. Checkbox: ALWAYS start with - [ ] (markdown checkbox)
  2. Task ID: Sequential number (T001, T002, T003...) in execution order
  3. [P] marker: Include ONLY if task is parallelizable (different files, no dependencies on incomplete tasks)
  4. [Story] label: REQUIRED for user story phase tasks only
  • Format: [US1], [US2], [US3], etc. (maps to user stories from spec.md)
  • Setup phase: NO story label
  • Foundational phase: NO story label
  • User Story phases: MUST have story label
  • Polish phase: NO story label
  1. Description: Clear action with exact file path

Examples:

  • CORRECT: - [ ] T001 Create project structure per implementation plan
  • CORRECT: - [ ] T005 [P] Implement authentication middleware in src/middleware/auth.py
  • CORRECT: - [ ] T012 [P] [US1] Create User model in src/models/user.py
  • CORRECT: - [ ] T014 [US1] Implement UserService in src/services/user_service.py
  • WRONG: - [ ] Create User model (missing ID and Story label)
  • WRONG: T001 [US1] Create model (missing checkbox)
  • WRONG: - [ ] [US1] Create User model (missing Task ID)
  • WRONG: - [ ] T001 [US1] Create model (missing file path)

Task Organization

  1. From User Stories (spec.md) - PRIMARY ORGANIZATION:
  • Each user story (P1, P2, P3...) gets its own phase
  • Map all related components to their story:
  • Models needed for that story
  • Services needed for that story
  • Endpoints/UI needed for that story
  • If tests requested: Tests specific to that story
  • Mark story dependencies (most stories should be independent)
  1. From Contracts:
  • Map each contract/endpoint → to the user story it serves
  • If tests requested: Each contract → contract test task [P] before implementation in that story's phase
  1. From Data Model:
  • Map each entity to the user story(ies) that need it
  • If entity serves multiple stories: Put in earliest story or Setup phase
  • Relationships → service layer tasks in appropriate story phase
  1. From Setup/Infrastructure:
  • Shared infrastructure → Setup phase (Phase 1)
  • Foundational/blocking tasks → Foundational phase (Phase 2)
  • Story-specific setup → within that story's phase

Phase Structure

  • Phase 1: Setup (project initialization)
  • Phase 2: Foundational (blocking prerequisites - MUST complete before user stories)
  • Phase 3+: User Stories in priority order (P1, P2, P3...)
  • Within each story: Tests (if requested) → Models → Services → Endpoints → Integration
  • Each phase should be a complete, independently testable increment
  • Final Phase: Polish & Cross-Cutting Concerns
← v1.0.0All versions