Created
November 30, 2025 04:43
-
-
Save zackiles/7f01f5338ff3f639457719924cd159a6 to your computer and use it in GitHub Desktop.
Granular Agentic Development Plan Schema (Epic->Story->Task)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Granular Agentic Development Plan Schema (Epic->Story->Task) | |
| <!-- | |
| ================================================================================ | |
| TEMPLATE DOCUMENTATION | |
| ================================================================================ | |
| This template defines the standard structure for development plans derived from | |
| RFCs. Plans are consumed by AI agents acting as software developers. | |
| USAGE: | |
| 1. Copy this template to: plan-{NNN}-{slug}.md | |
| 2. Fill in all sections marked with [REQUIRED] | |
| 3. Remove this documentation block from the final plan | |
| 4. Ensure all tasks have unique IDs and proper dependency chains | |
| NAMING CONVENTION: | |
| - plan-001-foundations.md | |
| - plan-002-auth-system.md | |
| - plan-003-admin-dashboard.md | |
| T-SHIRT SIZING: | |
| - S: 1-5 tasks, single epic, <1 day equivalent human work | |
| - M: 5-15 tasks, 1-2 epics, 1-3 days equivalent human work | |
| - L: 15-40 tasks, 2-4 epics, 3-7 days equivalent human work | |
| - XL: 40+ tasks, 4+ epics, 1+ weeks equivalent human work | |
| PARALLELIZATION: | |
| - Tasks with no `depends_on` can run in parallel | |
| - Epics with no cross-dependencies can be assigned to separate agents | |
| - Use the dependency graph to identify parallelization opportunities | |
| ================================================================================ | |
| --> | |
| --- | |
| ## Plan Metadata | |
| ```yaml | |
| id: plan-{NNN} # [REQUIRED] Unique plan identifier | |
| title: "{Plan Title}" # [REQUIRED] Human-readable title | |
| rfc: rfc-{NNN}-{slug}.md # [REQUIRED] Source RFC file | |
| size: S | M | L | XL # [REQUIRED] T-shirt size estimate | |
| status: draft | ready | in_progress | complete | blocked | |
| created: YYYY-MM-DD | |
| ``` | |
| ## Prerequisites | |
| <!-- | |
| List any dependencies that must be satisfied before this plan can begin. | |
| Include other RFC/plan IDs, external setup requirements, or blocking items. | |
| --> | |
| ```yaml | |
| required_plans: [] # Plans that must complete first | |
| required_rfcs: [] # RFCs that must be approved | |
| external_deps: [] # External dependencies (services, keys) | |
| ``` | |
| ## Assets | |
| <!-- | |
| List any assets provided to agents working on this plan. | |
| These are resources beyond the RFC and codebase. | |
| --> | |
| ```yaml | |
| assets: | |
| - type: api_key | documentation | image | credential | other | |
| name: "{asset name}" | |
| location: "{path or URL}" | |
| notes: "{usage notes}" | |
| ``` | |
| --- | |
| ## Epics | |
| <!-- | |
| Epics are major functional areas. Each epic groups related stories. | |
| Epics can run in parallel if they have no cross-dependencies. | |
| EPIC SCHEMA: | |
| - id: Unique identifier (E{N} format) | |
| - title: Brief descriptive title | |
| - description: What this epic delivers | |
| - depends_on: Other epic IDs that must complete first | |
| --> | |
| ### E1: {Epic Title} | |
| ```yaml | |
| id: E1 | |
| title: "{Epic Title}" | |
| description: "{What this epic delivers}" | |
| depends_on: [] | |
| ``` | |
| #### Stories | |
| <!-- | |
| Stories are discrete deliverables within an epic. | |
| Each story contains one or more tasks. | |
| STORY SCHEMA: | |
| - id: Unique identifier (E{N}S{N} format) | |
| - title: Brief descriptive title | |
| - description: What this story delivers | |
| - refs: RFC sections or external docs referenced | |
| --> | |
| ##### E1S1: {Story Title} | |
| ```yaml | |
| id: E1S1 | |
| title: "{Story Title}" | |
| description: "{What this story delivers}" | |
| refs: | |
| - "RFC Section X.Y" | |
| - "external/doc/link" | |
| ``` | |
| ###### Tasks | |
| <!-- | |
| Tasks are atomic implementation steps. | |
| Each task should be completable independently once dependencies are met. | |
| TASK SCHEMA: | |
| - id: Unique identifier (E{N}S{N}T{N} format) | |
| - description: Clear implementation instruction | |
| - refs: Specific RFC sections, file paths, or external docs | |
| - depends_on: Task IDs that must complete first (empty = can start immediately) | |
| - acceptance: List of verifiable completion criteria | |
| - files_to_create: New files this task creates | |
| - files_to_modify: Existing files this task modifies | |
| - notes: Optional implementation hints or warnings | |
| ACCEPTANCE CRITERIA GUIDELINES: | |
| - Must be objectively verifiable (not subjective) | |
| - Should be testable by running code or inspecting files | |
| - Include expected behavior, not just "it works" | |
| --> | |
| ```yaml | |
| tasks: | |
| - id: E1S1T1 | |
| description: "{What to implement}" | |
| refs: | |
| - "RFC Section X.Y" | |
| - "path/to/relevant/file.ts" | |
| depends_on: [] | |
| acceptance: | |
| - "{Verifiable criterion 1}" | |
| - "{Verifiable criterion 2}" | |
| files_to_create: | |
| - "path/to/new/file.ts" | |
| files_to_modify: | |
| - "path/to/existing/file.ts" | |
| notes: "{Optional implementation hints}" | |
| ``` | |
| --- | |
| ## Dependency Graph | |
| <!-- | |
| Visual representation of task dependencies for planning parallelization. | |
| Use ASCII art or structured text to show the execution order. | |
| NOTATION: | |
| - [TaskID] = Task node | |
| - --> = Dependency (arrow points to dependent task) | |
| - | = Parallel execution possible | |
| - + = Join point (multiple deps converge) | |
| EXAMPLE: | |
| [E1S1T1] --> [E1S1T2] --> [E1S2T1] | |
| | | |
| [E1S1T3] -------+ | |
| This means: | |
| - E1S1T1 and E1S1T3 can run in parallel | |
| - E1S1T2 depends on E1S1T1 | |
| - E1S2T1 depends on both E1S1T2 and E1S1T3 | |
| --> | |
| ``` | |
| {Dependency graph here} | |
| ``` | |
| ## Parallelization Groups | |
| <!-- | |
| Explicit groupings of tasks that can execute concurrently. | |
| Agents can be assigned to different groups for parallel work. | |
| --> | |
| ```yaml | |
| parallel_groups: | |
| - group: 1 | |
| description: "{What this group accomplishes}" | |
| tasks: [E1S1T1, E1S1T3] | |
| - group: 2 | |
| description: "{What this group accomplishes}" | |
| tasks: [E1S1T2] | |
| after_groups: [1] | |
| ``` | |
| --- | |
| ## Completion Checklist | |
| <!-- | |
| High-level verification that the plan is complete. | |
| Check these items before marking the plan as complete. | |
| --> | |
| - [ ] All tasks have status: complete | |
| - [ ] All acceptance criteria verified | |
| - [ ] No linter errors introduced | |
| - [ ] Application runs successfully | |
| - [ ] Manual smoke test passed (if applicable) | |
| --- | |
| ## Notes | |
| <!-- | |
| Optional section for additional context, decisions made during implementation, | |
| or issues encountered. Useful for future reference. | |
| --> | |
| ```yaml | |
| notes: | |
| - date: YYYY-MM-DD | |
| note: "{Note content}" | |
| ``` | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment