ace-task 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ace-defaults/nav/protocols/skill-sources/ace-task.yml +19 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-task.yml +19 -0
- data/.ace-defaults/task/config.yml +25 -0
- data/CHANGELOG.md +518 -0
- data/README.md +52 -0
- data/Rakefile +12 -0
- data/exe/ace-task +22 -0
- data/handbook/guides/task-definition.g.md +156 -0
- data/handbook/skills/as-bug-analyze/SKILL.md +26 -0
- data/handbook/skills/as-bug-fix/SKILL.md +27 -0
- data/handbook/skills/as-task-document-unplanned/SKILL.md +27 -0
- data/handbook/skills/as-task-draft/SKILL.md +24 -0
- data/handbook/skills/as-task-finder/SKILL.md +27 -0
- data/handbook/skills/as-task-plan/SKILL.md +30 -0
- data/handbook/skills/as-task-review/SKILL.md +25 -0
- data/handbook/skills/as-task-review-questions/SKILL.md +25 -0
- data/handbook/skills/as-task-update/SKILL.md +21 -0
- data/handbook/skills/as-task-work/SKILL.md +41 -0
- data/handbook/templates/task/draft.template.md +166 -0
- data/handbook/templates/task/file-modification-checklist.template.md +26 -0
- data/handbook/templates/task/technical-approach.template.md +26 -0
- data/handbook/workflow-instructions/bug/analyze.wf.md +458 -0
- data/handbook/workflow-instructions/bug/fix.wf.md +512 -0
- data/handbook/workflow-instructions/task/document-unplanned.wf.md +222 -0
- data/handbook/workflow-instructions/task/draft.wf.md +552 -0
- data/handbook/workflow-instructions/task/finder.wf.md +22 -0
- data/handbook/workflow-instructions/task/plan.wf.md +489 -0
- data/handbook/workflow-instructions/task/review-plan.wf.md +144 -0
- data/handbook/workflow-instructions/task/review-questions.wf.md +411 -0
- data/handbook/workflow-instructions/task/review-work.wf.md +146 -0
- data/handbook/workflow-instructions/task/review.wf.md +351 -0
- data/handbook/workflow-instructions/task/update.wf.md +118 -0
- data/handbook/workflow-instructions/task/work.wf.md +106 -0
- data/lib/ace/task/atoms/task_file_pattern.rb +68 -0
- data/lib/ace/task/atoms/task_frontmatter_defaults.rb +46 -0
- data/lib/ace/task/atoms/task_id_formatter.rb +62 -0
- data/lib/ace/task/atoms/task_validation_rules.rb +51 -0
- data/lib/ace/task/cli/commands/create.rb +105 -0
- data/lib/ace/task/cli/commands/doctor.rb +206 -0
- data/lib/ace/task/cli/commands/list.rb +73 -0
- data/lib/ace/task/cli/commands/plan.rb +119 -0
- data/lib/ace/task/cli/commands/show.rb +58 -0
- data/lib/ace/task/cli/commands/status.rb +77 -0
- data/lib/ace/task/cli/commands/update.rb +183 -0
- data/lib/ace/task/cli.rb +83 -0
- data/lib/ace/task/models/task.rb +46 -0
- data/lib/ace/task/molecules/path_utils.rb +20 -0
- data/lib/ace/task/molecules/subtask_creator.rb +130 -0
- data/lib/ace/task/molecules/task_config_loader.rb +92 -0
- data/lib/ace/task/molecules/task_creator.rb +115 -0
- data/lib/ace/task/molecules/task_display_formatter.rb +221 -0
- data/lib/ace/task/molecules/task_doctor_fixer.rb +510 -0
- data/lib/ace/task/molecules/task_doctor_reporter.rb +264 -0
- data/lib/ace/task/molecules/task_frontmatter_validator.rb +138 -0
- data/lib/ace/task/molecules/task_loader.rb +119 -0
- data/lib/ace/task/molecules/task_plan_cache.rb +190 -0
- data/lib/ace/task/molecules/task_plan_generator.rb +141 -0
- data/lib/ace/task/molecules/task_plan_prompt_builder.rb +91 -0
- data/lib/ace/task/molecules/task_reparenter.rb +247 -0
- data/lib/ace/task/molecules/task_resolver.rb +115 -0
- data/lib/ace/task/molecules/task_scanner.rb +129 -0
- data/lib/ace/task/molecules/task_structure_validator.rb +154 -0
- data/lib/ace/task/organisms/task_doctor.rb +199 -0
- data/lib/ace/task/organisms/task_manager.rb +353 -0
- data/lib/ace/task/version.rb +7 -0
- data/lib/ace/task.rb +37 -0
- metadata +197 -0
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-draft
|
|
3
|
+
allowed-tools: Bash, Read
|
|
4
|
+
description: Create behavior-first draft tasks and subtasks with vertical slicing
|
|
5
|
+
and verification plans
|
|
6
|
+
doc-type: workflow
|
|
7
|
+
purpose: task draft workflow instruction
|
|
8
|
+
ace-docs:
|
|
9
|
+
last-updated: '2026-03-21'
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Draft Task - Behavior-First Specification
|
|
13
|
+
|
|
14
|
+
## Goal
|
|
15
|
+
|
|
16
|
+
Create high-level behavioral specifications that define WHAT the system should do (UX/DX/AX) rather than HOW to implement it. This workflow transforms ideas or requirements into behavior-first draft tasks with clear interface contracts, leaving implementation details for the replan step. The workflow also includes automated idea file management, moving original idea files to organized locations with task number prefixes for clear traceability.
|
|
17
|
+
|
|
18
|
+
## Prerequisites
|
|
19
|
+
|
|
20
|
+
* Enhanced ideas or direct requirements (optional input from ace-idea)
|
|
21
|
+
* Understanding of user experience and interface requirements
|
|
22
|
+
* Access to `.ace-tasks/` directory for task storage
|
|
23
|
+
* ace-task command available for task management
|
|
24
|
+
* Load Project Context
|
|
25
|
+
|
|
26
|
+
## Project Context Loading
|
|
27
|
+
|
|
28
|
+
- Read and follow: `ace-bundle wfi://bundle`
|
|
29
|
+
|
|
30
|
+
## Process Steps
|
|
31
|
+
|
|
32
|
+
1. **Gather Behavioral Requirements**
|
|
33
|
+
* Collect input material focusing on user experience:
|
|
34
|
+
* Direct behavioral requirements from user
|
|
35
|
+
* Enhanced ideas from ace-idea output
|
|
36
|
+
* User stories or experience descriptions
|
|
37
|
+
* Interface specifications or contracts
|
|
38
|
+
* If files are referenced, read their contents
|
|
39
|
+
* **Intent mapping from enhanced ideas**: When the source idea contains the
|
|
40
|
+
3-Question Delegation Brief sections (`What I Hope to Accomplish`,
|
|
41
|
+
`What "Complete" Looks Like`, `Success Criteria`), use them as the
|
|
42
|
+
starting point for the task's Objective, Expected Behavior, and
|
|
43
|
+
Success Criteria respectively. Carry the idea's framing forward -
|
|
44
|
+
add behavioral specificity, don't restate from scratch.
|
|
45
|
+
If the idea contains italicized gap markers, surface these as
|
|
46
|
+
questions to the user during verification (step 4).
|
|
47
|
+
For ideas without the 3-question structure, gather requirements
|
|
48
|
+
normally (no change to current behavior).
|
|
49
|
+
* Focus on understanding WHAT users need, not HOW to build it
|
|
50
|
+
|
|
51
|
+
2. **Define Behavioral Specification**
|
|
52
|
+
* For each requirement, identify:
|
|
53
|
+
* User experience (input, process, output)
|
|
54
|
+
* Expected system behavior
|
|
55
|
+
* Success criteria (measurable outcomes)
|
|
56
|
+
* Interface contracts (CLI, API, UI)
|
|
57
|
+
* Validation questions and unknowns
|
|
58
|
+
* Avoid implementation details like:
|
|
59
|
+
* Specific file structures
|
|
60
|
+
* Code organization
|
|
61
|
+
* Technical architecture decisions
|
|
62
|
+
* Tool or library selections
|
|
63
|
+
|
|
64
|
+
3. **Create Interface Contracts**
|
|
65
|
+
* Define clear interfaces based on requirements:
|
|
66
|
+
* CLI commands with arguments and flags
|
|
67
|
+
* API endpoints with request/response formats
|
|
68
|
+
* UI components with expected behaviors
|
|
69
|
+
* Data flow and interaction patterns
|
|
70
|
+
* Use examples from existing tools (like ace-idea pattern)
|
|
71
|
+
* Specify public contracts that implementation must satisfy
|
|
72
|
+
|
|
73
|
+
4. **Present Behavioral Draft for Verification**
|
|
74
|
+
* Show the user behavior-focused task proposals:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Proposed Behavioral Specifications:
|
|
78
|
+
1. [Task Title] - [User experience summary]
|
|
79
|
+
- What users experience: [UX description]
|
|
80
|
+
- Interface contract: [CLI/API/UI examples]
|
|
81
|
+
- Success criteria: [Measurable outcomes]
|
|
82
|
+
- Status: draft (needs implementation planning)
|
|
83
|
+
|
|
84
|
+
2. [Next Task Title] - [User experience summary]
|
|
85
|
+
...
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
* Ask for confirmation focusing on behavior:
|
|
89
|
+
* Is the user experience clearly defined?
|
|
90
|
+
* Are interface contracts complete?
|
|
91
|
+
* Are success criteria measurable?
|
|
92
|
+
* Any missing behavioral requirements?
|
|
93
|
+
|
|
94
|
+
5. **Create Draft Task Files**
|
|
95
|
+
* Once behavioral specifications are approved, create draft task files
|
|
96
|
+
* **NOTE**: Tasks are created with `status: draft` to indicate they need implementation planning
|
|
97
|
+
|
|
98
|
+
6. **Decompose into Vertical Slices (Task/Subtask Model)**
|
|
99
|
+
|
|
100
|
+
**Use task/subtask structure to represent vertical slices.**
|
|
101
|
+
|
|
102
|
+
* Identify the smallest end-to-end capabilities that deliver observable value
|
|
103
|
+
* Treat each capability slice as a unit that can be independently verified
|
|
104
|
+
* Avoid horizontal decomposition (all DB first, all API second, all UI third)
|
|
105
|
+
* Add an advisory size signal for each slice:
|
|
106
|
+
* `small` - straightforward, low coordination
|
|
107
|
+
* `medium` - moderate coordination or risk
|
|
108
|
+
* `large` - broad scope, elevated risk (advisory only; not an automatic blocker)
|
|
109
|
+
* Define explicit verification intent for each slice:
|
|
110
|
+
* Unit test scenarios (or equivalent validation for non-code tasks)
|
|
111
|
+
* Integration/E2E scenarios when behavior crosses boundaries
|
|
112
|
+
* At least one invalid/failure-path scenario
|
|
113
|
+
* Capture required context files per slice for fresh sessions in `bundle.files`
|
|
114
|
+
|
|
115
|
+
7. **Determine Storage Location and Create Draft Tasks**
|
|
116
|
+
|
|
117
|
+
**Detect the task structure needed before creating anything:**
|
|
118
|
+
|
|
119
|
+
| User hint | Structure to create |
|
|
120
|
+
|-----------|---------------------|
|
|
121
|
+
| "one task with subtasks" | One orchestrator + N subtasks |
|
|
122
|
+
| "N phases, each as a subtask" | One orchestrator + N subtask children |
|
|
123
|
+
| "one task with one subtask per phase" | One orchestrator + N subtask children |
|
|
124
|
+
| No structural hint and single capability slice | Single flat task |
|
|
125
|
+
| No structural hint and multiple capability slices | One orchestrator + N subtasks |
|
|
126
|
+
|
|
127
|
+
**Pattern A -- Single flat task (default):**
|
|
128
|
+
```bash
|
|
129
|
+
ace-task create "Task Title" --status draft --estimate "TBD"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Pattern B -- Orchestrator with subtasks:**
|
|
133
|
+
```bash
|
|
134
|
+
# 1. Create the parent task first
|
|
135
|
+
ace-task create "Parent Title" --status draft --estimate "TBD"
|
|
136
|
+
# Returns: v.X.Y+task.NNN
|
|
137
|
+
|
|
138
|
+
# 2. Add each subtask with --child-of (auto-converts parent to orchestrator)
|
|
139
|
+
ace-task create "Phase 1: ..." --status draft --child-of NNN
|
|
140
|
+
ace-task create "Phase 2: ..." --status draft --child-of NNN
|
|
141
|
+
ace-task create "Phase 3: ..." --status draft --child-of NNN
|
|
142
|
+
```
|
|
143
|
+
⚠️ Do NOT use `task move --child-of self` first -- `--child-of` on both `task create` and `task move` now auto-converts the parent orchestrator.
|
|
144
|
+
|
|
145
|
+
For each created task/subtask:
|
|
146
|
+
* Create task file with proper ID sequencing
|
|
147
|
+
* Set status to "draft" automatically
|
|
148
|
+
* Include canonical frontmatter context bundle in this exact order:
|
|
149
|
+
* `bundle.presets`
|
|
150
|
+
* `bundle.files`
|
|
151
|
+
* `bundle.commands`
|
|
152
|
+
* Default bundle:
|
|
153
|
+
* `presets: ["project"]`
|
|
154
|
+
* `files: []`
|
|
155
|
+
* `commands: []`
|
|
156
|
+
* If additional files are required context for implementation, list them in `bundle.files`
|
|
157
|
+
* For subtasks, list required shared context files explicitly in EACH subtask's bundle (no implicit inheritance)
|
|
158
|
+
* Include behavioral specification template
|
|
159
|
+
* Focus on behavioral content, leave implementation for replan step
|
|
160
|
+
|
|
161
|
+
### Spike-First Rule for Engine/Pipeline Redesigns
|
|
162
|
+
|
|
163
|
+
When an orchestrator task redesigns a core execution path (test runner, build pipeline,
|
|
164
|
+
deployment flow), the FIRST subtask should be a time-boxed spike that:
|
|
165
|
+
1. Validates the target architecture end-to-end with a single scenario
|
|
166
|
+
2. Identifies which existing concepts survive and which get removed
|
|
167
|
+
3. Produces a "concept inventory" showing what the final system looks like
|
|
168
|
+
|
|
169
|
+
Only AFTER the spike validates the end-state should remaining subtasks be drafted.
|
|
170
|
+
This prevents decomposing into subtasks that add concepts the spike later proves unnecessary.
|
|
171
|
+
|
|
172
|
+
**Anti-pattern**: 8 subtasks drafted upfront, each adding features, then a late subtask undoes half.
|
|
173
|
+
**Correct pattern**: 1 spike subtask validates the end-state, then remaining subtasks build toward it.
|
|
174
|
+
|
|
175
|
+
8. **Complete Behavioral Specifications**
|
|
176
|
+
* For each created draft task, populate with:
|
|
177
|
+
* Behavioral Specification section with embedded template
|
|
178
|
+
* Interface Contract definitions with examples
|
|
179
|
+
* Success Criteria as mandatory requirements
|
|
180
|
+
* Validation Questions highlighting unknowns
|
|
181
|
+
* Vertical Slice Decomposition section (task/subtask oriented)
|
|
182
|
+
* Verification Plan section with concrete validation scenarios
|
|
183
|
+
* Integration with ace-idea if applicable
|
|
184
|
+
* Avoid adding implementation details
|
|
185
|
+
|
|
186
|
+
9. **Create Draft Usage Documentation (When Interfaces Change)**
|
|
187
|
+
* **Applicability check** -- does this task change any external API surface?
|
|
188
|
+
* CLI commands (new commands, changed flags, changed output format)
|
|
189
|
+
* Developer API (new/changed modules, classes, methods)
|
|
190
|
+
* Agent API (new/changed workflows, protocols, slash commands)
|
|
191
|
+
* Configuration (new/changed config keys, env vars)
|
|
192
|
+
* If YES to any:
|
|
193
|
+
* Create `ux/usage.md` in the task directory using the embedded draft-usage template
|
|
194
|
+
* Populate with 2-3 concrete scenarios from the Interface Contract section
|
|
195
|
+
* Each scenario: goal + command/call + expected output
|
|
196
|
+
* This is the behavioral acceptance contract the implementer must satisfy
|
|
197
|
+
* The full usage doc gets completed during work-on-task using `wfi://docs/update-usage`
|
|
198
|
+
* If NO (internal refactoring, docs-only, test-only):
|
|
199
|
+
* Skip -- no `ux/usage.md` needed
|
|
200
|
+
|
|
201
|
+
10. **Organize Source Idea Files (REQUIRED when drafting from ideas)**
|
|
202
|
+
* **IMPORTANT**: When task is created from idea files, ALWAYS mark them as done:
|
|
203
|
+
* Track all source idea files used for this draft task:
|
|
204
|
+
* List all idea files referenced during behavioral specification
|
|
205
|
+
* Note: Multiple idea files may be combined into one task
|
|
206
|
+
* For EACH source idea file:
|
|
207
|
+
* Mark idea as done using ace-idea: `ace-idea update <id> --set status=done --move-to archive`
|
|
208
|
+
* Use the idea ID (e.g., `8ppq7w`), not a file path
|
|
209
|
+
* This moves the idea to the `_archive/` folder
|
|
210
|
+
* Updates idea frontmatter with completion status
|
|
211
|
+
* Update task references:
|
|
212
|
+
* Update the task file's References section with new idea file locations
|
|
213
|
+
* Ensure all moved files are properly tracked
|
|
214
|
+
* Commit the movements:
|
|
215
|
+
* Use `ace-git-commit` to commit all idea file movements together
|
|
216
|
+
* Clear commit message: "Mark source ideas as done after creating task"
|
|
217
|
+
* **Validation Requirements:**
|
|
218
|
+
* [ ] All source idea files marked as done and moved to _archive/
|
|
219
|
+
* [ ] Task references updated to new locations
|
|
220
|
+
* [ ] Git movements committed
|
|
221
|
+
* Error handling:
|
|
222
|
+
* If ace-idea update fails: Report error and manual intervention needed
|
|
223
|
+
* Success indicators:
|
|
224
|
+
* Report each file movement: "Idea marked as done: idea-id"
|
|
225
|
+
* Confirm all source ideas organized: "All X idea files marked as done"
|
|
226
|
+
|
|
227
|
+
11. **Ensure Draft Creation Completion**
|
|
228
|
+
* Verify all behavioral specifications are captured:
|
|
229
|
+
* Cross-reference against initial requirements
|
|
230
|
+
* Confirm each draft file exists with correct status
|
|
231
|
+
* Validate behavioral sections are complete
|
|
232
|
+
* **Validation Checklist:**
|
|
233
|
+
* [ ] All behavioral requirements captured as drafts
|
|
234
|
+
* [ ] Task files have status: draft
|
|
235
|
+
* [ ] Behavioral specifications are complete
|
|
236
|
+
* [ ] Interface contracts are defined
|
|
237
|
+
* [ ] Success criteria are measurable
|
|
238
|
+
* [ ] Vertical slices are defined using task/subtask model (no horizontal-only decomposition)
|
|
239
|
+
* [ ] Verification Plan includes unit/equivalent validation, integration/E2E when needed, and failure path checks
|
|
240
|
+
* [ ] `bundle` frontmatter exists with canonical key order (`presets`, `files`, `commands`)
|
|
241
|
+
* [ ] Required context artifacts are explicitly listed in `bundle.files` for each task/subtask
|
|
242
|
+
* [ ] Draft is decision-complete: no unresolved behavior choices left for implementer
|
|
243
|
+
* [ ] Defaults are explicit where behavior could otherwise be ambiguous
|
|
244
|
+
* [ ] Usage documentation created in `ux/usage.md` (when task changes any API surface)
|
|
245
|
+
|
|
246
|
+
12. **Run Quality Pass (Better, Not More)**
|
|
247
|
+
* Perform one concise quality pass before finalizing:
|
|
248
|
+
* Happy path is concrete and observable
|
|
249
|
+
* At least one invalid/failure path is specified
|
|
250
|
+
* Unspecified behavior has explicit defaults
|
|
251
|
+
* Success criteria are directly verifiable
|
|
252
|
+
* Vertical slices are end-to-end and independently verifiable
|
|
253
|
+
* Slice size signals (`small`/`medium`/`large`) are present for planning visibility
|
|
254
|
+
* Bundle references include all critical context files needed for a fresh session
|
|
255
|
+
* Improve clarity and precision without adding specialized sections
|
|
256
|
+
|
|
257
|
+
13. **Provide Behavioral Summary**
|
|
258
|
+
* List all created draft tasks with their:
|
|
259
|
+
* IDs and titles
|
|
260
|
+
* User experience summaries
|
|
261
|
+
* Interface contracts
|
|
262
|
+
* Vertical slice role (standalone task, orchestrator, or subtask)
|
|
263
|
+
* Verification plan highlights
|
|
264
|
+
* Status (draft - needs planning)
|
|
265
|
+
* Suggest next step: review-task workflow to validate and promote to pending
|
|
266
|
+
|
|
267
|
+
## Key Guidelines
|
|
268
|
+
|
|
269
|
+
### Task Naming Convention
|
|
270
|
+
|
|
271
|
+
| Element | Word count | Purpose | Example |
|
|
272
|
+
|---------|-----------|---------|---------|
|
|
273
|
+
| Folder slug (all tasks) | 3-5 words | Set the scene/context | `ace-ade-brand-positioning` |
|
|
274
|
+
| File slug (task spec) | 4-7 words | Precise action | `plan-repo-naming-metadata-updates` |
|
|
275
|
+
| Subtask folder+file | 4-7 words | Action, no parent repetition | `inventory-naming-blast-radius` |
|
|
276
|
+
|
|
277
|
+
**Rules:**
|
|
278
|
+
1. ALL folder slugs: 3-5 words setting the scene/context
|
|
279
|
+
2. Task/subtask file slugs: 4-7 words precisely describing the action
|
|
280
|
+
3. Subtask slugs must not repeat words from parent folder slug
|
|
281
|
+
4. Title: max 80 characters
|
|
282
|
+
5. Folder slug != file slug (folder sets context, file describes action)
|
|
283
|
+
|
|
284
|
+
### Behavior-First Focus
|
|
285
|
+
|
|
286
|
+
* **What over How**: Define user experience before implementation
|
|
287
|
+
* **Interface Contracts**: Specify CLI/API/UI behaviors clearly
|
|
288
|
+
* **Success Criteria**: Measurable outcomes that define completion
|
|
289
|
+
* **Validation Questions**: Highlight unknowns and assumptions
|
|
290
|
+
* **Vertical Slicing**: Represent end-to-end slices as tasks/subtasks, not horizontal implementation layers
|
|
291
|
+
* **Verification First**: Every drafted task/subtask includes an explicit verification plan
|
|
292
|
+
|
|
293
|
+
### Draft Status Integration
|
|
294
|
+
|
|
295
|
+
* All tasks created have `status: draft`
|
|
296
|
+
* Draft indicates behavioral specification complete, readiness validation needed
|
|
297
|
+
* Clear handoff to review-task for readiness validation
|
|
298
|
+
* No mixing of behavioral and implementation concerns
|
|
299
|
+
* Every task/subtask includes canonical `bundle` frontmatter for fresh-session context loading
|
|
300
|
+
|
|
301
|
+
### Capture-It Integration
|
|
302
|
+
|
|
303
|
+
* Enhanced ideas provide structured input for behavioral specification
|
|
304
|
+
* Validation questions and unknowns from ideas feed into behavioral requirements
|
|
305
|
+
* Optional but recommended input source
|
|
306
|
+
* Maintains clear separation between idea enhancement and task drafting
|
|
307
|
+
|
|
308
|
+
## ⚠️ Implementation Prohibition
|
|
309
|
+
|
|
310
|
+
**This workflow produces specification files ONLY.**
|
|
311
|
+
|
|
312
|
+
DO NOT during this phase:
|
|
313
|
+
- ❌ Write or modify code files (.rb, .ts, .js, etc.)
|
|
314
|
+
- ❌ Create implementation directories or structures
|
|
315
|
+
- ❌ Run tests or builds
|
|
316
|
+
- ❌ Make commits to project source code
|
|
317
|
+
|
|
318
|
+
All code implementation happens during `ace-bundle wfi://task/work` (status: in-progress).
|
|
319
|
+
|
|
320
|
+
## Input
|
|
321
|
+
|
|
322
|
+
* Enhanced ideas from ace-idea (optional but recommended)
|
|
323
|
+
* Direct behavioral requirements or user stories
|
|
324
|
+
* Interface specifications or contracts
|
|
325
|
+
* User experience descriptions
|
|
326
|
+
|
|
327
|
+
## Output / Success Criteria
|
|
328
|
+
|
|
329
|
+
* Draft tasks with complete behavioral specifications
|
|
330
|
+
* Clear interface contracts for each requirement
|
|
331
|
+
* Measurable success criteria defined
|
|
332
|
+
* Vertical slicing captured in task/subtask structure
|
|
333
|
+
* Verification Plan included for each drafted task/subtask
|
|
334
|
+
* Canonical `bundle` frontmatter included with explicit context references
|
|
335
|
+
* All tasks have status: draft
|
|
336
|
+
* No implementation details mixed with behavioral requirements
|
|
337
|
+
* Clear handoff to review-task for readiness validation and promotion to pending
|
|
338
|
+
* **REQUIRED when drafting from ideas:**
|
|
339
|
+
* All source idea files marked as done via `ace-idea move <id> --to archive`
|
|
340
|
+
* Task references updated to new idea file locations
|
|
341
|
+
* Git movements properly committed
|
|
342
|
+
|
|
343
|
+
## Error Handling
|
|
344
|
+
|
|
345
|
+
* **Missing behavioral context**: Ask user for experience details
|
|
346
|
+
* **Unclear interface requirements**: Request contract examples
|
|
347
|
+
* **Implementation details provided**: Redirect focus to user experience
|
|
348
|
+
* **No current release**: Default to backlog storage with draft status
|
|
349
|
+
|
|
350
|
+
## Usage Examples
|
|
351
|
+
|
|
352
|
+
**Example 1: Capture-it integration**
|
|
353
|
+
> "Draft tasks from enhanced idea: .ace-tasks/backlog/ideas/20250130-1445-oauth-authentication.md"
|
|
354
|
+
|
|
355
|
+
**Example 2: Direct behavioral requirements**
|
|
356
|
+
> "Create behavioral specification for: Users need secure login with OAuth support and 24-hour sessions"
|
|
357
|
+
|
|
358
|
+
**Example 3: Interface-focused requirements**
|
|
359
|
+
> "Draft task for CLI tool: auth-manager with login, logout, and status commands"
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
This workflow creates behavior-first specifications that serve as clear contracts for implementation, ensuring user value is defined before technical details are considered.
|
|
364
|
+
|
|
365
|
+
## Embedded Templates
|
|
366
|
+
|
|
367
|
+
<documents>
|
|
368
|
+
<template path="tmpl://task/draft">---
|
|
369
|
+
id: {id}
|
|
370
|
+
status: draft
|
|
371
|
+
priority: {priority}
|
|
372
|
+
estimate: TBD
|
|
373
|
+
dependencies: {dependencies}
|
|
374
|
+
bundle:
|
|
375
|
+
presets: ["project"]
|
|
376
|
+
files: []
|
|
377
|
+
commands: []
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
# {title}
|
|
381
|
+
|
|
382
|
+
## Behavioral Specification
|
|
383
|
+
|
|
384
|
+
### User Experience
|
|
385
|
+
- **Input**: [What users provide - data, commands, interactions]
|
|
386
|
+
- **Process**: [What users experience during interaction - feedback, states, flows]
|
|
387
|
+
- **Output**: [What users receive - results, confirmations, artifacts]
|
|
388
|
+
|
|
389
|
+
### Expected Behavior
|
|
390
|
+
<!-- Describe WHAT the system should do from the user's perspective -->
|
|
391
|
+
<!-- Focus on observable outcomes, system responses, and user experience -->
|
|
392
|
+
<!-- Avoid implementation details - no mention of files, code structure, or technical approaches -->
|
|
393
|
+
|
|
394
|
+
[Describe the desired behavior, user experience, and system responses]
|
|
395
|
+
|
|
396
|
+
### Interface Contract
|
|
397
|
+
<!-- Define all external interfaces, APIs, and interaction points -->
|
|
398
|
+
<!-- Include normal operations, error conditions, and edge cases -->
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
# CLI Interface (if applicable)
|
|
402
|
+
command-name [options] <arguments>
|
|
403
|
+
# Expected outputs, error messages, and status codes
|
|
404
|
+
|
|
405
|
+
# API Interface (if applicable)
|
|
406
|
+
GET/POST/PUT/DELETE /endpoint
|
|
407
|
+
# Request/response formats, error responses, status codes
|
|
408
|
+
|
|
409
|
+
# UI Interface (if applicable)
|
|
410
|
+
# User interactions, form behaviors, navigation flows
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
**Error Handling:**
|
|
414
|
+
- [Error condition 1]: [Expected system response]
|
|
415
|
+
- [Error condition 2]: [Expected system response]
|
|
416
|
+
|
|
417
|
+
**Edge Cases:**
|
|
418
|
+
- [Edge case 1]: [Expected behavior]
|
|
419
|
+
- [Edge case 2]: [Expected behavior]
|
|
420
|
+
|
|
421
|
+
### Success Criteria
|
|
422
|
+
<!-- Define measurable, observable criteria that indicate successful completion -->
|
|
423
|
+
<!-- Focus on behavioral outcomes and user experience, not implementation artifacts -->
|
|
424
|
+
|
|
425
|
+
- [ ] **Behavioral Outcome 1**: [Observable user/system behavior or capability]
|
|
426
|
+
- [ ] **User Experience Goal 2**: [Measurable user experience improvement]
|
|
427
|
+
- [ ] **System Performance 3**: [Measurable system behavior or performance metric]
|
|
428
|
+
|
|
429
|
+
### Validation Questions
|
|
430
|
+
<!-- Questions to clarify requirements, resolve ambiguities, and validate understanding -->
|
|
431
|
+
<!-- Ask about unclear requirements, edge cases, and user expectations -->
|
|
432
|
+
|
|
433
|
+
- [ ] **Requirement Clarity**: [Question about unclear or ambiguous requirements]
|
|
434
|
+
- [ ] **Edge Case Handling**: [Question about boundary conditions or unusual scenarios]
|
|
435
|
+
- [ ] **User Experience**: [Question about user expectations, workflows, or interactions]
|
|
436
|
+
- [ ] **Success Definition**: [Question about how success will be measured or validated]
|
|
437
|
+
|
|
438
|
+
### Vertical Slice Decomposition (Task/Subtask Model)
|
|
439
|
+
<!-- Describe end-to-end slices using task/subtask structure -->
|
|
440
|
+
<!-- Use orchestrator + subtasks for multiple slices; use standalone task for one slice -->
|
|
441
|
+
|
|
442
|
+
- **Slice Type**: [Standalone task | Orchestrator | Subtask]
|
|
443
|
+
- **Slice Outcome**: [Observable end-to-end capability delivered by this task/subtask]
|
|
444
|
+
- **Advisory Size**: [small | medium | large]
|
|
445
|
+
- **Context Dependencies**: [Critical files/presets/commands this slice needs in fresh sessions]
|
|
446
|
+
|
|
447
|
+
### Verification Plan
|
|
448
|
+
<!-- Define verification strategy before implementation -->
|
|
449
|
+
<!-- Include unit/equivalent checks, integration/e2e where applicable, and failure-path validation -->
|
|
450
|
+
|
|
451
|
+
#### Unit / Component Validation
|
|
452
|
+
- [ ] [Scenario]: [Expected observable result]
|
|
453
|
+
|
|
454
|
+
#### Integration / E2E Validation (if cross-boundary behavior exists)
|
|
455
|
+
- [ ] [Scenario]: [Expected observable result]
|
|
456
|
+
|
|
457
|
+
#### Failure / Invalid-Path Validation
|
|
458
|
+
- [ ] [Scenario]: [Expected error handling behavior]
|
|
459
|
+
|
|
460
|
+
#### Verification Commands
|
|
461
|
+
- [ ] [Command/check]: [Expected outcome]
|
|
462
|
+
|
|
463
|
+
## Objective
|
|
464
|
+
|
|
465
|
+
Why are we doing this? If this task originated from an enhanced idea,
|
|
466
|
+
carry forward the idea's "What I Hope to Accomplish" - that is the
|
|
467
|
+
authoritative intent. Add context but don't replace the original framing.
|
|
468
|
+
|
|
469
|
+
## Scope of Work
|
|
470
|
+
<!-- Define the behavioral scope - what user experiences and system behaviors are included -->
|
|
471
|
+
|
|
472
|
+
- **User Experience Scope**: [Which user interactions, workflows, and experiences are included]
|
|
473
|
+
- **System Behavior Scope**: [Which system capabilities, responses, and behaviors are included]
|
|
474
|
+
- **Interface Scope**: [Which APIs, commands, or interfaces are included]
|
|
475
|
+
|
|
476
|
+
### Deliverables
|
|
477
|
+
<!-- Focus on behavioral and experiential deliverables, not implementation artifacts -->
|
|
478
|
+
|
|
479
|
+
#### Behavioral Specifications
|
|
480
|
+
- User experience flow definitions
|
|
481
|
+
- System behavior specifications
|
|
482
|
+
- Interface contract definitions
|
|
483
|
+
|
|
484
|
+
#### Validation Artifacts
|
|
485
|
+
- Success criteria validation methods
|
|
486
|
+
- User acceptance criteria
|
|
487
|
+
- Behavioral test scenarios
|
|
488
|
+
|
|
489
|
+
### Concept Inventory (Orchestrator Only)
|
|
490
|
+
|
|
491
|
+
Track concepts introduced and removed across subtasks to detect churn:
|
|
492
|
+
|
|
493
|
+
| Concept | Introduced by | Removed by | Status |
|
|
494
|
+
|---------|--------------|------------|--------|
|
|
495
|
+
| _example concept_ | _subtask ref_ | -- | KEPT |
|
|
496
|
+
|
|
497
|
+
**Churn threshold**: If >30% of concepts introduced by subtasks get removed by later subtasks,
|
|
498
|
+
the decomposition was premature. Consider consolidating remaining subtasks.
|
|
499
|
+
|
|
500
|
+
## Out of Scope
|
|
501
|
+
<!-- Explicitly exclude implementation concerns to maintain behavioral focus -->
|
|
502
|
+
|
|
503
|
+
- ❌ **Implementation Details**: File structures, code organization, technical architecture
|
|
504
|
+
- ❌ **Technology Decisions**: Tool selections, library choices, framework decisions
|
|
505
|
+
- ❌ **Performance Optimization**: Specific performance improvement strategies
|
|
506
|
+
- ❌ **Future Enhancements**: Related features or capabilities not in current scope
|
|
507
|
+
|
|
508
|
+
## References
|
|
509
|
+
|
|
510
|
+
- Usage documentation: `ux/usage.md` (draft usage scenarios)
|
|
511
|
+
- Related ace-idea output (if applicable)
|
|
512
|
+
- User experience requirements
|
|
513
|
+
- Interface specification examples
|
|
514
|
+
```
|
|
515
|
+
</template>
|
|
516
|
+
<template path="tmpl://task/draft-usage">
|
|
517
|
+
# [Feature/Change Name] - Draft Usage
|
|
518
|
+
|
|
519
|
+
## API Surface
|
|
520
|
+
- [ ] CLI (user-facing commands)
|
|
521
|
+
- [ ] Developer API (modules, classes)
|
|
522
|
+
- [ ] Agent API (workflows, protocols, slash commands)
|
|
523
|
+
- [ ] Configuration (config keys, env vars)
|
|
524
|
+
|
|
525
|
+
## Usage Scenarios
|
|
526
|
+
|
|
527
|
+
### Scenario 1: [Primary Use Case]
|
|
528
|
+
|
|
529
|
+
**Goal**: [What the user/developer/agent achieves]
|
|
530
|
+
|
|
531
|
+
```bash
|
|
532
|
+
[command or API call]
|
|
533
|
+
|
|
534
|
+
# Expected output:
|
|
535
|
+
[output]
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
### Scenario 2: [Error / Edge Case]
|
|
539
|
+
|
|
540
|
+
**Goal**: [What happens on invalid input or boundary condition]
|
|
541
|
+
|
|
542
|
+
```bash
|
|
543
|
+
[command or API call]
|
|
544
|
+
|
|
545
|
+
# Expected output:
|
|
546
|
+
[error message or behavior]
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
## Notes for Implementer
|
|
550
|
+
- Full usage documentation to be completed during work-on-task step using `wfi://docs/update-usage`
|
|
551
|
+
</template>
|
|
552
|
+
</documents>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-finder
|
|
3
|
+
description: Find tasks by listing, filtering, and inspecting task records
|
|
4
|
+
allowed-tools: Bash, Read
|
|
5
|
+
argument-hint: "[list|show] [options]"
|
|
6
|
+
doc-type: workflow
|
|
7
|
+
purpose: task discovery workflow
|
|
8
|
+
bundle:
|
|
9
|
+
sections:
|
|
10
|
+
ace-task-params:
|
|
11
|
+
commands:
|
|
12
|
+
- ace-task list --help
|
|
13
|
+
- ace-task show --help
|
|
14
|
+
ace-docs:
|
|
15
|
+
last-updated: '2026-03-21'
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Task Finder Workflow
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
Run `ace-task list $ARGUMENTS` to discover tasks. If the user needs task details, follow up with `ace-task show <ref>`.
|