Feature Refinement Flow
Use this skill to turn a feature request into an implementation-ready work item.
When to use
Use it when a request includes:
- behavior changes,
- new integrations,
- UI/editor workflow changes,
- or non-trivial architectural decisions.
Outcome
Turn vague ideas into:
- A concrete user outcome
- A deterministic implementation scope
- A reproducible test plan
Default process
Ask up to 20 questions in sequence, one-at-a-time, unless already answered.
20-question baseline
- What is the problem statement and why does it matter now?
- Who is the primary user and what workflow do they follow today?
- What are the success criteria (observable outcomes)?
- What is the MVP behavior (minimum useful version)?
- What is explicitly out of scope?
- Which files/surfaces are in scope (frontend, backend, extension API, tests)?
- Any required platform constraints (browser support, runtime limits, auth mode)?
- What should happen on error/failure cases?
- What is required for data persistence / storage semantics?
- Which existing pattern should this align with?
- What should be changed first (lowest-risk slice)?
- What should we avoid for v1?
- How should file types, formats, and naming be handled?
- Who/what are the inputs and outputs of this feature?
- What should happen to existing behavior during this change?
- What are the expected performance and startup/load constraints?
- What security / permissions concerns apply?
- What should be exportable / shareable and in which format(s)?
- How will we prove this works (test plan)?
- What is the acceptance/closure condition for “done”?
How to use in work items
- Add a short “Refinement notes” section in the work item with the 20-question answers.
- Convert answers into:
- acceptance criteria,
- risks,
- implementation path,
- test plan,
- definition of done.
- Add blockers only where known (uncertain candidate APIs, policy issues, missing assets).
Preference persistence
Keep answers in a feature-scoped notes/work-item file or notes/preferences/feature-refinement.md if the process becomes reusable.
Web UI / Adaptive Card note
When the user is in the PiClaw web UI, you may use a compact Adaptive Card for refinement questions when it is clearer than markdown — especially for:
- single-choice follow-up questions
- short structured confirmations
- approval / pick-one-next-step decisions
Rules:
- still ask one question at a time unless the user has already answered later items
- prefer markdown if it is clearer or less heavy-weight
- use the current
adaptive-cards-authoring skill/runtime constraints
- keep cards compact, with concise fallback text and supported actions only
- do not turn the whole 20-question flow into a giant form; cards are for selective structured steps, not bulk interrogation
Start narrow
Answer questions 1–10 first to lock scope. Then add dependency and test details once the behaviour is clear.
1---2name: feature-refinement-flow3description: Run a structured 20-question refinement flow before implementation for feature requests.4---56# Feature Refinement Flow78Use this skill to turn a feature request into an implementation-ready work item.910## When to use1112Use it when a request includes:1314- behavior changes,15- new integrations,16- UI/editor workflow changes,17- or non-trivial architectural decisions.1819## Outcome2021Turn vague ideas into:22231. A concrete user outcome242. A deterministic implementation scope253. A reproducible test plan2627## Default process2829Ask up to 20 questions in sequence, one-at-a-time, unless already answered.3031### 20-question baseline32331. What is the **problem statement** and why does it matter now?342. Who is the **primary user** and what workflow do they follow today?353. What are the **success criteria** (observable outcomes)?364. What is the **MVP behavior** (minimum useful version)?375. What is explicitly **out of scope**?386. Which files/surfaces are in scope (frontend, backend, extension API, tests)?397. Any required **platform constraints** (browser support, runtime limits, auth mode)?408. What should happen on **error/failure** cases?419. What is required for **data persistence** / storage semantics?4210. Which existing pattern should this align with?4311. What should be changed first (lowest-risk slice)?4412. What should we avoid for v1?4513. How should file types, formats, and naming be handled?4614. Who/what are the **inputs** and **outputs** of this feature?4715. What should happen to existing behavior during this change?4816. What are the expected **performance** and startup/load constraints?4917. What **security / permissions** concerns apply?5018. What should be exportable / shareable and in which format(s)?5119. How will we prove this works (test plan)?5220. What is the acceptance/closure condition for “done”?5354## How to use in work items5556- Add a short “Refinement notes” section in the work item with the 20-question answers.57- Convert answers into:58 - acceptance criteria,59 - risks,60 - implementation path,61 - test plan,62 - definition of done.63- Add blockers only where known (uncertain candidate APIs, policy issues, missing assets).6465## Preference persistence6667Keep answers in a feature-scoped notes/work-item file or `notes/preferences/feature-refinement.md` if the process becomes reusable.6869## Web UI / Adaptive Card note7071When the user is in the PiClaw **web UI**, you may use a compact **Adaptive Card** for refinement questions when it is clearer than markdown — especially for:7273- single-choice follow-up questions74- short structured confirmations75- approval / pick-one-next-step decisions7677Rules:7879- still ask **one question at a time** unless the user has already answered later items80- prefer markdown if it is clearer or less heavy-weight81- use the current `adaptive-cards-authoring` skill/runtime constraints82- keep cards compact, with concise fallback text and supported actions only83- do not turn the whole 20-question flow into a giant form; cards are for selective structured steps, not bulk interrogation8485## Start narrow8687Answer questions 1–10 first to lock scope. Then add dependency and test details once the behaviour is clear.