fix(slice): write implementation tickets
This commit is contained in:
@@ -1,17 +1,17 @@
|
|||||||
---
|
---
|
||||||
name: slice
|
name: slice
|
||||||
description: Turn a settled plan, spec, conversation, or artifact into Wayfinder task tickets for tracer-bullet implementation slices. Run deliberately as /skill:slice when the user asks to slice work.
|
description: Turn a settled plan, spec, conversation, or artifact into Wayfinder implementation tickets for tracer-bullet slices. Run deliberately as /skill:slice when the user asks to slice work.
|
||||||
disable-model-invocation: true
|
disable-model-invocation: true
|
||||||
---
|
---
|
||||||
|
|
||||||
# slice
|
# slice
|
||||||
|
|
||||||
Turn settled source material into implementation-ready Wayfinder task tickets.
|
Turn settled source material into implementation-ready Wayfinder tickets.
|
||||||
Use this when the user asks to slice a plan, spec, conversation, or artifact into agent-grabbable implementation work.
|
Use this when the user asks to slice a plan, spec, conversation, or artifact into agent-grabbable implementation work.
|
||||||
Do not use this to resolve planning fog.
|
Do not use this to resolve planning fog.
|
||||||
If the source contains unresolved decisions, report them instead of inventing implementation slices.
|
If the source contains unresolved decisions, report them instead of inventing implementation slices.
|
||||||
|
|
||||||
`slice` writes Wayfinder `ticket/task/afk` and `ticket/task/human` artifacts.
|
`slice` writes Wayfinder `ticket/implementation` artifacts for implementation slices and `ticket/task/human` artifacts only when the slice cannot proceed without human action.
|
||||||
It does not write legacy `.claude/tasks/` files.
|
It does not write legacy `.claude/tasks/` files.
|
||||||
|
|
||||||
## 1. Gather source material
|
## 1. Gather source material
|
||||||
@@ -20,7 +20,7 @@ Work from the current conversation first.
|
|||||||
If the caller passes paths, artifact links, issue references, or URLs, read the referenced body and relevant comments or nearby artifact context before slicing.
|
If the caller passes paths, artifact links, issue references, or URLs, read the referenced body and relevant comments or nearby artifact context before slicing.
|
||||||
When source material names a Wayfinder artifact, use that artifact as the default provenance parent.
|
When source material names a Wayfinder artifact, use that artifact as the default provenance parent.
|
||||||
When no source artifact exists, use the active Wayfinder map if one is clear from context.
|
When no source artifact exists, use the active Wayfinder map if one is clear from context.
|
||||||
When neither exists, create or select the minimal Wayfinder parent required by the destination's artifact rules before writing task tickets.
|
When neither exists, create or select the minimal Wayfinder parent required by the destination's artifact rules before writing tickets.
|
||||||
|
|
||||||
Explore the codebase when the current implementation state is not already understood.
|
Explore the codebase when the current implementation state is not already understood.
|
||||||
Use the project's established vocabulary and respect relevant ADRs, context artifacts, and repository instructions.
|
Use the project's established vocabulary and respect relevant ADRs, context artifacts, and repository instructions.
|
||||||
@@ -47,7 +47,7 @@ status: open
|
|||||||
parent: "[[<source-artifact-or-map>]]"
|
parent: "[[<source-artifact-or-map>]]"
|
||||||
blocked-by: []
|
blocked-by: []
|
||||||
tags:
|
tags:
|
||||||
- ticket/task/afk
|
- ticket/implementation
|
||||||
---
|
---
|
||||||
|
|
||||||
# <task name>
|
# <task name>
|
||||||
@@ -57,7 +57,7 @@ tags:
|
|||||||
<one precise implementation action sized to one agent session>
|
<one precise implementation action sized to one agent session>
|
||||||
```
|
```
|
||||||
|
|
||||||
Use `ticket/task/human` instead of `ticket/task/afk` when execution or validation requires human input.
|
Use `ticket/task/human` instead of `ticket/implementation` when execution or validation requires human input before implementation can proceed.
|
||||||
Do not create claims.
|
Do not create claims.
|
||||||
Tickets start open and unclaimed.
|
Tickets start open and unclaimed.
|
||||||
|
|
||||||
@@ -88,18 +88,18 @@ When migration batches cannot stay green alone, keep the sequence but state the
|
|||||||
|
|
||||||
Done when every currently implementable slice has a title, type, blockers, delivered behavior, acceptance criteria, and any needed handoff notes.
|
Done when every currently implementable slice has a title, type, blockers, delivered behavior, acceptance criteria, and any needed handoff notes.
|
||||||
|
|
||||||
## 4. Classify task type
|
## 4. Classify ticket type
|
||||||
|
|
||||||
Use `ticket/task/afk` when an agent can complete and verify the slice without live human input.
|
Use `ticket/implementation` when an agent can complete and verify the implementation slice without live human input.
|
||||||
Use `ticket/task/human` when execution or validation depends on the user.
|
Use `ticket/task/human` when execution or validation depends on the user before implementation can proceed.
|
||||||
Examples include subjective UI judgment, physical device checks, unavailable credentials, external account approval, or behavior only the human can confirm.
|
Examples include subjective UI judgment, physical device checks, unavailable credentials, external account approval, or behavior only the human can confirm.
|
||||||
Do not mark a task human merely because it is important or risky.
|
Do not mark a ticket human merely because it is important or risky.
|
||||||
Make the required human involvement explicit in the task body.
|
Make the required human involvement explicit in the ticket body.
|
||||||
|
|
||||||
If slicing reveals a precise unresolved planning question, do not disguise it as an implementation task.
|
If slicing reveals a precise unresolved planning question, do not disguise it as an implementation ticket.
|
||||||
Report it and stop, unless the caller asks to create the appropriate Wayfinder research, prototype, or grill ticket.
|
Report it and stop, unless the caller asks to create the appropriate Wayfinder research, prototype, or grill ticket.
|
||||||
|
|
||||||
Done when each proposed slice has the correct task subtype.
|
Done when each proposed slice has the correct ticket type.
|
||||||
|
|
||||||
## 5. Review before writing
|
## 5. Review before writing
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ For each slice show exactly this review shape:
|
|||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
1. **Title**: <proposed task title>
|
1. **Title**: <proposed task title>
|
||||||
**Type**: AFK or human
|
**Type**: implementation or human task
|
||||||
**Blocked by**: <proposed blockers, or None>
|
**Blocked by**: <proposed blockers, or None>
|
||||||
**What it delivers**: <end-to-end behavior or implementation result>
|
**What it delivers**: <end-to-end behavior or implementation result>
|
||||||
**Acceptance criteria**:
|
**Acceptance criteria**:
|
||||||
@@ -122,14 +122,14 @@ In explicitly noninteractive mode, write the best breakdown and record any assum
|
|||||||
|
|
||||||
Done when the proposed slices are approved or noninteractive assumptions are explicit.
|
Done when the proposed slices are approved or noninteractive assumptions are explicit.
|
||||||
|
|
||||||
## 6. Write task artifacts
|
## 6. Write ticket artifacts
|
||||||
|
|
||||||
Allocate filenames and identifiers according to the destination convention.
|
Allocate filenames and identifiers according to the destination convention.
|
||||||
Create one Wayfinder task artifact per approved slice.
|
Create one Wayfinder ticket artifact per approved slice.
|
||||||
Use the destination's wikilink style when referring to artifacts.
|
Use the destination's wikilink style when referring to artifacts.
|
||||||
Never refer to a ticket by a bare identifier, filename, or slug in user-facing text.
|
Never refer to a ticket by a bare identifier, filename, or slug in user-facing text.
|
||||||
|
|
||||||
Each task body should use this shape:
|
Each ticket body should use this shape:
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
# <task name>
|
# <task name>
|
||||||
@@ -155,7 +155,7 @@ Keep `## Implementation Notes` empty when no guidance earns its place.
|
|||||||
Later implementing agents may append execution notes, verification results, and reasons for deliberately dropped criteria.
|
Later implementing agents may append execution notes, verification results, and reasons for deliberately dropped criteria.
|
||||||
Avoid brittle file paths and code snippets unless a prototype or prior decision snippet encodes the decision more precisely than prose can.
|
Avoid brittle file paths and code snippets unless a prototype or prior decision snippet encodes the decision more precisely than prose can.
|
||||||
|
|
||||||
Done when every approved slice has exactly one open, unclaimed Wayfinder task artifact.
|
Done when every approved slice has exactly one open, unclaimed Wayfinder ticket artifact.
|
||||||
|
|
||||||
## 7. Advance the Frontier
|
## 7. Advance the Frontier
|
||||||
|
|
||||||
@@ -163,16 +163,16 @@ Re-read the map or parent artifact before editing shared state.
|
|||||||
If there is a Wayfinder map, recompute its Frontier from ticket metadata.
|
If there is a Wayfinder map, recompute its Frontier from ticket metadata.
|
||||||
A ticket belongs on the Frontier when it is open, every blocker is satisfied, and it has no claim.
|
A ticket belongs on the Frontier when it is open, every blocker is satisfied, and it has no claim.
|
||||||
The map's Frontier is the only map section that links to ticket artifacts.
|
The map's Frontier is the only map section that links to ticket artifacts.
|
||||||
Do not copy task details into the map.
|
Do not copy ticket details into the map.
|
||||||
|
|
||||||
If the destination uses identifier allocation and concurrent writes caused duplicate identifiers or filenames, preserve pre-existing artifacts, rename current outputs, update wikilinks, and advance the counter as needed.
|
If the destination uses identifier allocation and concurrent writes caused duplicate identifiers or filenames, preserve pre-existing artifacts, rename current outputs, update wikilinks, and advance the counter as needed.
|
||||||
|
|
||||||
Done when the task artifacts and map Frontier agree with current ticket metadata.
|
Done when the ticket artifacts and map Frontier agree with current ticket metadata.
|
||||||
|
|
||||||
## 8. Report
|
## 8. Report
|
||||||
|
|
||||||
Report the created task artifacts by title using the destination's link style.
|
Report the created ticket artifacts by title using the destination's link style.
|
||||||
Summarize the current Frontier.
|
Summarize the current Frontier.
|
||||||
Mention any assumptions, unresolved planning questions, or human-dependent validation tasks.
|
Mention any assumptions, unresolved planning questions, or human-dependent validation tickets.
|
||||||
|
|
||||||
Done when the user can choose the next implementation task from the Frontier.
|
Done when the user can choose the next implementation task from the Frontier.
|
||||||
|
|||||||
Reference in New Issue
Block a user