mirror of
https://github.com/azaion/admin.git
synced 2026-04-22 22:26:34 +00:00
261 lines
12 KiB
Markdown
261 lines
12 KiB
Markdown
---
|
|
name: decompose
|
|
description: |
|
|
Decompose planned components into atomic implementable tasks with bootstrap structure plan.
|
|
4-step workflow: bootstrap structure plan, component task decomposition, blackbox test task decomposition, and cross-task verification.
|
|
Supports full decomposition (_docs/ structure), single component mode, and tests-only mode.
|
|
Trigger phrases:
|
|
- "decompose", "decompose features", "feature decomposition"
|
|
- "task decomposition", "break down components"
|
|
- "prepare for implementation"
|
|
- "decompose tests", "test decomposition"
|
|
category: build
|
|
tags: [decomposition, tasks, dependencies, work-items, implementation-prep]
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# Task Decomposition
|
|
|
|
Decompose planned components into atomic, implementable task specs with a bootstrap structure plan through a systematic workflow. All tasks are named with their work item tracker ID prefix in a flat directory.
|
|
|
|
## Core Principles
|
|
|
|
- **Atomic tasks**: each task does one thing; if it exceeds 8 complexity points, split it
|
|
- **Behavioral specs, not implementation plans**: describe what the system should do, not how to build it
|
|
- **Flat structure**: all tasks are tracker-ID-prefixed files in TASKS_DIR — no component subdirectories
|
|
- **Save immediately**: write artifacts to disk after each task; never accumulate unsaved work
|
|
- **Tracker inline**: create work item ticket immediately after writing each task file
|
|
- **Ask, don't assume**: when requirements are ambiguous, ask the user before proceeding
|
|
- **Plan, don't code**: this workflow produces documents and work item tickets, never implementation code
|
|
|
|
## Context Resolution
|
|
|
|
Determine the operating mode based on invocation before any other logic runs.
|
|
|
|
**Default** (no explicit input file provided):
|
|
|
|
- DOCUMENT_DIR: `_docs/02_document/`
|
|
- TASKS_DIR: `_docs/02_tasks/`
|
|
- TASKS_TODO: `_docs/02_tasks/todo/`
|
|
- Reads from: `_docs/00_problem/`, `_docs/01_solution/`, DOCUMENT_DIR
|
|
|
|
**Single component mode** (provided file is within `_docs/02_document/` and inside a `components/` subdirectory):
|
|
|
|
- DOCUMENT_DIR: `_docs/02_document/`
|
|
- TASKS_DIR: `_docs/02_tasks/`
|
|
- TASKS_TODO: `_docs/02_tasks/todo/`
|
|
- Derive component number and component name from the file path
|
|
- Ask user for the parent Epic ID
|
|
|
|
**Tests-only mode** (provided file/directory is within `tests/`, or `DOCUMENT_DIR/tests/` exists and input explicitly requests test decomposition):
|
|
|
|
- DOCUMENT_DIR: `_docs/02_document/`
|
|
- TASKS_DIR: `_docs/02_tasks/`
|
|
- TASKS_TODO: `_docs/02_tasks/todo/`
|
|
- TESTS_DIR: `DOCUMENT_DIR/tests/`
|
|
- Reads from: `_docs/00_problem/`, `_docs/01_solution/`, TESTS_DIR
|
|
|
|
Announce the detected mode and resolved paths to the user before proceeding.
|
|
|
|
### Step Applicability by Mode
|
|
|
|
| Step | File | Default | Single | Tests-only |
|
|
|------|------|:-------:|:------:|:----------:|
|
|
| 1 Bootstrap Structure | `steps/01_bootstrap-structure.md` | ✓ | — | — |
|
|
| 1t Test Infrastructure | `steps/01t_test-infrastructure.md` | — | — | ✓ |
|
|
| 1.5 Module Layout | `steps/01-5_module-layout.md` | ✓ | — | — |
|
|
| 2 Task Decomposition | `steps/02_task-decomposition.md` | ✓ | ✓ | — |
|
|
| 3 Blackbox Test Tasks | `steps/03_blackbox-test-decomposition.md` | ✓ | — | ✓ |
|
|
| 4 Cross-Verification | `steps/04_cross-verification.md` | ✓ | — | ✓ |
|
|
|
|
## Input Specification
|
|
|
|
### Required Files
|
|
|
|
**Default:**
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `_docs/00_problem/problem.md` | Problem description and context |
|
|
| `_docs/00_problem/restrictions.md` | Constraints and limitations |
|
|
| `_docs/00_problem/acceptance_criteria.md` | Measurable acceptance criteria |
|
|
| `_docs/01_solution/solution.md` | Finalized solution |
|
|
| `DOCUMENT_DIR/architecture.md` | Architecture from plan skill |
|
|
| `DOCUMENT_DIR/system-flows.md` | System flows from plan skill |
|
|
| `DOCUMENT_DIR/components/[##]_[name]/description.md` | Component specs from plan skill |
|
|
| `DOCUMENT_DIR/tests/` | Blackbox test specs from plan skill |
|
|
|
|
**Single component mode:**
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| The provided component `description.md` | Component spec to decompose |
|
|
| Corresponding `tests.md` in the same directory (if available) | Test specs for context |
|
|
|
|
**Tests-only mode:**
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `TESTS_DIR/environment.md` | Test environment specification (Docker services, networks, volumes) |
|
|
| `TESTS_DIR/test-data.md` | Test data management (seed data, mocks, isolation) |
|
|
| `TESTS_DIR/blackbox-tests.md` | Blackbox functional scenarios (positive + negative) |
|
|
| `TESTS_DIR/performance-tests.md` | Performance test scenarios |
|
|
| `TESTS_DIR/resilience-tests.md` | Resilience test scenarios |
|
|
| `TESTS_DIR/security-tests.md` | Security test scenarios |
|
|
| `TESTS_DIR/resource-limit-tests.md` | Resource limit test scenarios |
|
|
| `TESTS_DIR/traceability-matrix.md` | AC/restriction coverage mapping |
|
|
| `_docs/00_problem/problem.md` | Problem context |
|
|
| `_docs/00_problem/restrictions.md` | Constraints for test design |
|
|
| `_docs/00_problem/acceptance_criteria.md` | Acceptance criteria being verified |
|
|
|
|
### Prerequisite Checks (BLOCKING)
|
|
|
|
**Default:**
|
|
|
|
1. DOCUMENT_DIR contains `architecture.md` and `components/` — **STOP if missing**
|
|
2. Create TASKS_DIR and TASKS_TODO if they do not exist
|
|
3. If TASKS_DIR subfolders (`todo/`, `backlog/`, `done/`) already contain task files, ask user: **resume from last checkpoint or start fresh?**
|
|
|
|
**Single component mode:**
|
|
|
|
1. The provided component file exists and is non-empty — **STOP if missing**
|
|
|
|
**Tests-only mode:**
|
|
|
|
1. `TESTS_DIR/blackbox-tests.md` exists and is non-empty — **STOP if missing**
|
|
2. `TESTS_DIR/environment.md` exists — **STOP if missing**
|
|
3. Create TASKS_DIR and TASKS_TODO if they do not exist
|
|
4. If TASKS_DIR subfolders (`todo/`, `backlog/`, `done/`) already contain task files, ask user: **resume from last checkpoint or start fresh?**
|
|
|
|
## Artifact Management
|
|
|
|
### Directory Structure
|
|
|
|
```
|
|
TASKS_DIR/
|
|
├── _dependencies_table.md
|
|
├── todo/
|
|
│ ├── [TRACKER-ID]_initial_structure.md
|
|
│ ├── [TRACKER-ID]_[short_name].md
|
|
│ └── ...
|
|
├── backlog/
|
|
└── done/
|
|
```
|
|
|
|
**Naming convention**: Each task file is initially saved in `TASKS_TODO/` with a temporary numeric prefix (`[##]_[short_name].md`). After creating the work item ticket, rename the file to use the work item ticket ID as prefix (`[TRACKER-ID]_[short_name].md`). For example: `todo/01_initial_structure.md` → `todo/AZ-42_initial_structure.md`.
|
|
|
|
### Save Timing
|
|
|
|
| Step | Save immediately after | Filename |
|
|
|------|------------------------|----------|
|
|
| Step 1 | Bootstrap structure plan complete + work item ticket created + file renamed | `todo/[TRACKER-ID]_initial_structure.md` |
|
|
| Step 1.5 | Module layout written | `_docs/02_document/module-layout.md` |
|
|
| Step 1t | Test infrastructure bootstrap complete + work item ticket created + file renamed | `todo/[TRACKER-ID]_test_infrastructure.md` |
|
|
| Step 2 | Each component task decomposed + work item ticket created + file renamed | `todo/[TRACKER-ID]_[short_name].md` |
|
|
| Step 3 | Each blackbox test task decomposed + work item ticket created + file renamed | `todo/[TRACKER-ID]_[short_name].md` |
|
|
| Step 4 | Cross-task verification complete | `_dependencies_table.md` |
|
|
|
|
### Resumability
|
|
|
|
If TASKS_DIR subfolders already contain task files:
|
|
|
|
1. List existing `*_*.md` files across `todo/`, `backlog/`, and `done/` (excluding `_dependencies_table.md`) and count them
|
|
2. Resume numbering from the next number (for temporary numeric prefix before tracker rename)
|
|
3. Inform the user which tasks already exist and are being skipped
|
|
|
|
## Progress Tracking
|
|
|
|
At the start of execution, create a TodoWrite with all applicable steps for the detected mode (see Step Applicability table). Update status as each step/component completes.
|
|
|
|
## Workflow
|
|
|
|
### Step 1: Bootstrap Structure Plan (default mode only)
|
|
|
|
Read and follow `steps/01_bootstrap-structure.md`.
|
|
|
|
---
|
|
|
|
### Step 1t: Test Infrastructure Bootstrap (tests-only mode only)
|
|
|
|
Read and follow `steps/01t_test-infrastructure.md`.
|
|
|
|
---
|
|
|
|
### Step 1.5: Module Layout (default mode only)
|
|
|
|
Read and follow `steps/01-5_module-layout.md`.
|
|
|
|
---
|
|
|
|
### Step 2: Task Decomposition (default and single component modes)
|
|
|
|
Read and follow `steps/02_task-decomposition.md`.
|
|
|
|
---
|
|
|
|
### Step 3: Blackbox Test Task Decomposition (default and tests-only modes)
|
|
|
|
Read and follow `steps/03_blackbox-test-decomposition.md`.
|
|
|
|
---
|
|
|
|
### Step 4: Cross-Task Verification (default and tests-only modes)
|
|
|
|
Read and follow `steps/04_cross-verification.md`.
|
|
|
|
## Common Mistakes
|
|
|
|
- **Coding during decomposition**: this workflow produces specs, never code
|
|
- **Over-splitting**: don't create many tasks if the component is simple — 1 task is fine
|
|
- **Tasks exceeding 8 points**: split them; no task should be too complex for a single implementer
|
|
- **Cross-component tasks**: each task belongs to exactly one component
|
|
- **Skipping BLOCKING gates**: never proceed past a BLOCKING marker without user confirmation
|
|
- **Creating git branches**: branch creation is an implementation concern, not a decomposition one
|
|
- **Creating component subdirectories**: all tasks go flat in `TASKS_TODO/`
|
|
- **Forgetting tracker**: every task must have a work item ticket created inline — do not defer to a separate step
|
|
- **Forgetting to rename**: after work item ticket creation, always rename the file from numeric prefix to tracker ID prefix
|
|
|
|
## Escalation Rules
|
|
|
|
| Situation | Action |
|
|
|-----------|--------|
|
|
| Ambiguous component boundaries | ASK user |
|
|
| Task complexity exceeds 8 points after splitting | ASK user |
|
|
| Missing component specs in DOCUMENT_DIR | ASK user |
|
|
| Cross-component dependency conflict | ASK user |
|
|
| Tracker epic not found for a component | ASK user for Epic ID |
|
|
| Task naming | PROCEED, confirm at next BLOCKING gate |
|
|
|
|
## Methodology Quick Reference
|
|
|
|
```
|
|
┌────────────────────────────────────────────────────────────────┐
|
|
│ Task Decomposition (Multi-Mode) │
|
|
├────────────────────────────────────────────────────────────────┤
|
|
│ CONTEXT: Resolve mode (default / single component / tests-only) │
|
|
│ │
|
|
│ DEFAULT MODE: │
|
|
│ 1. Bootstrap Structure → steps/01_bootstrap-structure.md │
|
|
│ [BLOCKING: user confirms structure] │
|
|
│ 1.5 Module Layout → steps/01-5_module-layout.md │
|
|
│ [BLOCKING: user confirms layout] │
|
|
│ 2. Component Tasks → steps/02_task-decomposition.md │
|
|
│ 3. Blackbox Tests → steps/03_blackbox-test-decomposition.md │
|
|
│ 4. Cross-Verification → steps/04_cross-verification.md │
|
|
│ [BLOCKING: user confirms dependencies] │
|
|
│ │
|
|
│ TESTS-ONLY MODE: │
|
|
│ 1t. Test Infrastructure → steps/01t_test-infrastructure.md │
|
|
│ [BLOCKING: user confirms test scaffold] │
|
|
│ 3. Blackbox Tests → steps/03_blackbox-test-decomposition.md │
|
|
│ 4. Cross-Verification → steps/04_cross-verification.md │
|
|
│ [BLOCKING: user confirms dependencies] │
|
|
│ │
|
|
│ SINGLE COMPONENT MODE: │
|
|
│ 2. Component Tasks → steps/02_task-decomposition.md │
|
|
├────────────────────────────────────────────────────────────────┤
|
|
│ Principles: Atomic tasks · Behavioral specs · Flat structure │
|
|
│ Tracker inline · Rename to tracker ID · Save now · Ask don't assume│
|
|
└────────────────────────────────────────────────────────────────┘
|
|
```
|