project-manager-senior
Project Task Breakdown Guide
Convert project specifications into actionable, developer-ready task breakdowns with realistic scope, measurable acceptance criteria, and strict adherence to stated requirements.
Process
1. Analyze the Specification
- Locate the canonical spec (check repo root,
docs/, or project config). - Quote exact requirement text when creating tasks -- do not paraphrase into something broader.
- List every ambiguity, gap, or contradiction found. Each one becomes a "Clarification Needed" item with a proposed default and a stakeholder question.
- Extract the technical stack, constraints, and integration points.
2. Break Down Tasks
- Group tasks by feature area, ordered by dependency (foundations first, integrations last).
- Each task gets: description, estimated hours with confidence qualifier, acceptance criteria, files affected, and spec reference.
- Estimates use three levels: "high confidence" (well-understood work), "medium confidence" (some unknowns), "low confidence" (significant unknowns requiring spike/research).
- Include a setup task (Task 0) covering project scaffolding, environment, and dev tooling.
- Every task must be completable in one focused session (2-8 hours). If a task exceeds 8 hours, split it into subtasks that each independently produce a testable result.
3. Write the Task Document
- Save to
tasks/<project-slug>-tasklist.mdin the repository. - Include a specification summary at the top with quoted requirements.
- End with a quality checklist and any clarification items.
4. Review Against Spec
- Walk through the specification line by line and confirm every stated requirement maps to at least one task.
- Confirm no task introduces requirements not present in the specification.
- Verify the dependency ordering: no task references work from a later task.
Decision Rules
- Ambiguous requirement: Document the ambiguity, state the assumed interpretation, and add a "Clarification Needed" flag. Do not block other tasks -- build against the assumption but mark it.
- Task too large (>8 hours): Split into subtasks. Each subtask must independently produce a testable result.
- Missing technical detail in spec: Add a time-boxed spike task (max 2 hours) to investigate, with a clear deliverable (e.g., "decision document comparing options A and B").
- Conflicting requirements: Flag both requirements with spec references, propose a resolution, and mark as blocked until stakeholder confirmation.
- Scope creep: New ideas go into a separate "Future Enhancements" section, never into the task list. Scope is locked to the specification.
Guidelines
- Extract only what the specification says. Do not invent "premium" or "luxury" features.
- Acceptance criteria must be verifiable by a developer or automated test -- no subjective language like "looks good" or "feels responsive."
- When a specification is ambiguous, list the assumptions explicitly and flag them for stakeholder review before creating dependent tasks.
- Be specific: "Implement POST /api/auth/register returning 201 with a JWT" -- not "add auth functionality."
- Quote the spec: every task references the exact spec text it fulfills.
- Stay realistic: estimates include a confidence qualifier. Do not promise certainty on unfamiliar integrations.
- A developer should read a task and start coding within 5 minutes, with no need to ask clarifying questions.
See Task Example for a full TaskFlow worked example with all 5 tasks.
Reference
Task Format
Each task should include:
- Description: One sentence explaining what to build
- Estimate: Hours + confidence qualifier (high / medium / low)
- Acceptance Criteria: Conditions verifiable by running a command, calling an API, or checking a UI state
- Files: List of files to create or modify
- Spec Reference: Exact quoted text from the specification
Estimate Confidence Levels
| Level | Meaning | Action |
|---|---|---|
| High confidence | Well-understood work, clear requirements | Proceed normally |
| Medium confidence | Some unknowns, library integration | Add buffer time, note risks |
| Low confidence | Significant unknowns | Add a spike task (max 2h) before the implementation task |
Scripts
scripts/parse_requirements.py
Parse a requirements document (markdown or plain text) and extract structured information including numbered requirements, user stories (As a... I want... So that...), acceptance criteria (checkboxes, Given/When/Then), and dependencies. Outputs a structured Markdown summary.
scripts/parse_requirements.py docs/spec.md
scripts/parse_requirements.py requirements.md
scripts/estimate_tasks.py
Estimate effort for tasks based on complexity sizing. Takes a CSV or text file of tasks with complexity ratings (S/M/L/XL) and produces effort estimates with a Markdown table showing per-task estimates, total hours, complexity distribution, and recommended sprint allocation.
scripts/estimate_tasks.py tasks.csv
scripts/estimate_tasks.py backlog.txt
More from peterhdd/agent-skills
engineering-senior-developer
Lead complex software implementation, architecture decisions, and reliable delivery across any modern technology stack. Use when you need pragmatic architecture tradeoffs, technical plan creation from ambiguous requirements, code quality improvements, production-safe rollout strategies, observability setup, or senior engineering judgment on maintainability, testing, and operational reliability.
63engineering-frontend-developer
Build modern web applications with React, Vue, Angular, or Svelte, focusing on performance and accessibility. Use when you need component library development, TypeScript UI implementation, responsive layouts with CSS Grid and Flexbox, Core Web Vitals optimization, service worker offline support, code splitting, ARIA accessibility, Storybook integration, or frontend API client architecture.
40engineering-backend-architect
Architect scalable backend systems, database schemas, APIs, and cloud infrastructure for robust server-side applications. Use when you need microservice vs monolith decisions, database indexing strategies, API versioning, event-driven architecture, ETL pipelines, WebSocket streaming, data modeling, query optimization, or cloud-native service design with high reliability and sub-20ms query performance.
40engineering-mobile-app-builder
Build native and cross-platform mobile applications for iOS and Android with optimized performance and platform integration. Use when you need SwiftUI or Jetpack Compose development, React Native or Flutter cross-platform apps, offline-first architecture, biometric authentication, push notifications, deep linking, app startup optimization, or mobile-specific UX patterns and gesture handling.
38engineering-system-designer
Design distributed systems, define architecture for scalability and reliability, or create system design documents. Use when you need component diagrams, data flow analysis, capacity planning, database sharding strategies, API contract design, failure mode analysis, CAP theorem tradeoffs, monolith-to-microservice migration, or architecture decision records for new or existing systems.
34engineering-rapid-prototyper
Build functional prototypes and MVPs at maximum speed to validate ideas through working software. Use when you need proof-of-concept development, rapid iteration on user feedback, no-code or low-code solutions, backend-as-a-service integration, A/B testing scaffolding, quick feature validation, or modular architectures designed for fast experimentation and learning.
33