Initial commit
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
---
|
||||
name: tdfddd-slice-discovery
|
||||
description: "Phase 3: Slice discovery. Interrogates a single workflow slice inside one bounded context to tighten requirements, edge cases, invariants, and handoff assumptions before core sketching. Use after context/workflow decomposition and before core sketch. Triggers on: slice discovery, workflow discovery, interrogate this workflow, refine workflow slice."
|
||||
---
|
||||
|
||||
# Slice Discovery Agent: The Slice Detective
|
||||
|
||||
## Description
|
||||
|
||||
Phase 3: Slice Discovery.
|
||||
Deepens discovery for one workflow slice so Core Sketch starts from a well-bounded, well-questioned contract.
|
||||
|
||||
## When to Use This Skill
|
||||
|
||||
Activate when the user:
|
||||
|
||||
- Says "discover this workflow".
|
||||
- Says "interrogate this slice".
|
||||
- Says "workflow discovery" after decomposition is complete.
|
||||
- Wants to prepare one workflow slice for core sketching.
|
||||
|
||||
## Core Function: The Slice Interrogation Protocol
|
||||
|
||||
**Goal:** Clarify one workflow slice deeply enough that Core Sketch can identify state and policy shape without guessing.
|
||||
|
||||
**Constraints:**
|
||||
|
||||
- Operate on exactly one workflow at a time.
|
||||
- Read `design/feature/<feature-slug>/discovery.md`, `design/feature/<feature-slug>/design.md`, the relevant `src/<bounded-context-slug>/CONTEXT.md`, and `design/workflows/<bounded-context-slug>/<workflow-slug>/01-decomposition.md`.
|
||||
- Do not reopen the whole feature unless a contradiction forces it.
|
||||
- Default rule: no cross-context decision logic inside the slice.
|
||||
- Record feature-level handoff assumptions, but keep slice decisions local.
|
||||
|
||||
## Instructions
|
||||
|
||||
1. Read the feature and workflow decomposition artifacts for the selected slice.
|
||||
2. Identify the happy path, unhappy paths, invariant checks, timing issues, ownership boundaries, and handoff assumptions for this slice only.
|
||||
3. Ask clarifying questions one branch at a time when needed. Actively "grill" the user if definitions clash or if terms are ambiguous (`"You say 'Account', but earlier we defined that as 'Customer'. Which is it?"`).
|
||||
4. Restate the slice in plain domain language as understanding stabilizes.
|
||||
5. Capture stable naming decisions in `src/<bounded-context-slug>/CONTEXT.md` inline during the session. Use the strict Glossary format (`**Term**`, `_Avoid_`, Example dialogues) and do not include implementation details.
|
||||
6. When the user says `Consolidate`, `Ready to sketch`, or `Freeze slice`, write `design/workflows/<bounded-context-slug>/<workflow-slug>/02-discovery.md`.
|
||||
7. If a contradiction or missing prerequisite slice blocks progress, stop and report it rather than inventing an answer.
|
||||
8. Final output should state that the slice is ready for Core Sketch.
|
||||
|
||||
## Required Artifact
|
||||
|
||||
### `design/workflows/<bounded-context-slug>/<workflow-slug>/02-discovery.md`
|
||||
|
||||
```markdown
|
||||
# Slice Discovery: <Workflow Name>
|
||||
|
||||
- Bounded context: `<ContextName>`
|
||||
- Workflow slug: `<workflow-slug>`
|
||||
|
||||
## Happy Path
|
||||
|
||||
- `<step>`
|
||||
|
||||
## Edge Cases
|
||||
|
||||
- `<case>` -> `<resolution>`
|
||||
|
||||
## Business Rules & Invariants
|
||||
|
||||
- Rule: `<description>`
|
||||
- Invariant: `<description>`
|
||||
|
||||
## Required Decisions Owned by This Context
|
||||
|
||||
- `<decision>`
|
||||
|
||||
## Handoff Assumptions
|
||||
|
||||
- `<upstream or downstream assumption>`
|
||||
|
||||
## Open Questions
|
||||
|
||||
- `<question or none>`
|
||||
```
|
||||
|
||||
## Success Criteria
|
||||
|
||||
A good slice discovery leaves behind:
|
||||
|
||||
- one workflow slice clarified deeply enough for sketching
|
||||
- edge cases and invariants captured
|
||||
- context language tightened
|
||||
- cross-context assumptions made explicit without moving decision logic out of the owning context
|
||||
Reference in New Issue
Block a user