@brunosps00/dev-workflow 0.6.0 → 0.6.1
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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/scaffold/en/commands/dw-brainstorm.md +50 -15
- package/scaffold/en/commands/dw-create-prd.md +10 -1
- package/scaffold/en/commands/dw-help.md +1 -0
- package/scaffold/en/commands/dw-quick.md +9 -7
- package/scaffold/en/templates/brainstorm-matrix.md +12 -4
- package/scaffold/en/templates/idea-onepager.md +90 -0
- package/scaffold/pt-br/commands/dw-brainstorm.md +54 -19
- package/scaffold/pt-br/commands/dw-create-prd.md +10 -1
- package/scaffold/pt-br/commands/dw-help.md +1 -0
- package/scaffold/pt-br/commands/dw-quick.md +9 -7
- package/scaffold/pt-br/templates/brainstorm-matrix.md +12 -4
- package/scaffold/pt-br/templates/idea-onepager.md +90 -0
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ npx @brunosps00/dev-workflow install-deps
|
|
|
29
29
|
### Planning
|
|
30
30
|
|
|
31
31
|
#### `/dw-brainstorm`
|
|
32
|
-
Facilitates structured ideation before opening a PRD or implementation. Explores multiple directions — conservative, balanced, and bold — with trade-offs for each, then converges on concrete next steps. No code is written or files modified.
|
|
32
|
+
Facilitates structured ideation before opening a PRD or implementation. Explores multiple directions — conservative, balanced, and bold — with trade-offs for each, then converges on concrete next steps. **Product-aware**: when PRDs or rules exist, automatically reads them to produce a Feature Inventory and tags each option as `[IMPROVES: <feature>]`, `[CONSOLIDATES: <A>+<B>]`, or `[NEW]`. With optional `--onepager` flag, generates a durable one-pager at `.dw/spec/ideas/<slug>.md` that `/dw-create-prd` can consume to reduce clarification questions. Inspired by [`addyosmani/agent-skills@idea-refine`](https://skills.sh/addyosmani/agent-skills/idea-refine), adapted to product-level (features) rather than code-level grounding. No code is written or project files modified by the brainstorm itself.
|
|
33
33
|
|
|
34
34
|
#### `/dw-autopilot`
|
|
35
35
|
Full pipeline orchestrator that takes a wish and automatically runs the entire development flow: codebase intelligence, research (conditional), brainstorm, PRD, techspec, tasks, execution, QA, review, and commit. Stops at 3 gates: PRD approval, tasks approval, and PR confirmation. With GSD installed, leverages plan verification and parallel execution.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brunosps00/dev-workflow",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "AI-driven development workflow commands for any project. Scaffolds a complete PRD-to-PR pipeline with multi-platform AI assistant support.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"dev-workflow": "./bin/dev-workflow.js"
|
|
@@ -13,8 +13,10 @@ You are a brainstorming facilitator for the current workspace. This command exis
|
|
|
13
13
|
|
|
14
14
|
## Flags
|
|
15
15
|
|
|
16
|
-
- **(default)**: normal brainstorm with 3-7 options (conservative, balanced, bold) and trade-offs
|
|
16
|
+
- **(default)**: normal brainstorm with 3-7 options (conservative, balanced, bold) and trade-offs. If the product has PRDs or rules, a **Product Inventory** is produced automatically and each option carries a classification tag.
|
|
17
|
+
- **`--onepager`**: at the end of the brainstorm, generate a durable one-pager at `.dw/spec/ideas/<slug>.md` (using `.dw/templates/idea-onepager.md`) with Feature Inventory + Classification & Rationale + MVP Scope + Not Doing + Assumptions. Use when you want a persisted product artifact before moving to `/dw-create-prd`.
|
|
17
18
|
- **`--council`**: after the normal brainstorm, invoke the `dw-council` skill to stress-test the top 2-3 options via 3-5 archetypes (pragmatic-engineer, architect-advisor, security-advocate, product-mind, devils-advocate). Useful when the choice is high-impact and there is genuine dissent between paths.
|
|
19
|
+
- Flags are composable: `--onepager --council` produces the one-pager after the council debate.
|
|
18
20
|
|
|
19
21
|
## Decision Flowchart: Brainstorm vs Direct PRD
|
|
20
22
|
|
|
@@ -46,6 +48,7 @@ When available in the project under `./.agents/skills/`, use these skills to enr
|
|
|
46
48
|
## Template Reference
|
|
47
49
|
|
|
48
50
|
- Brainstorm matrix template: `.dw/templates/brainstorm-matrix.md` (relative to workspace root)
|
|
51
|
+
- Durable one-pager template: `.dw/templates/idea-onepager.md` (used with `--onepager` flag)
|
|
49
52
|
|
|
50
53
|
Use this command when the user wants to:
|
|
51
54
|
- Generate ideas for product, UX, architecture, or automation
|
|
@@ -56,37 +59,57 @@ Use this command when the user wants to:
|
|
|
56
59
|
|
|
57
60
|
## Required Behavior
|
|
58
61
|
|
|
62
|
+
<critical>The brainstorm is a **product-level** phase, not technical. DO NOT dive into architecture, stack, endpoints, schemas. That's the techspec's job. Here we work user journeys, value, features, and boundaries.</critical>
|
|
63
|
+
|
|
59
64
|
1. Start by summarizing the problem in 1 to 3 sentences.
|
|
60
|
-
2.
|
|
61
|
-
3.
|
|
62
|
-
|
|
63
|
-
-
|
|
65
|
+
2. **Reframe as "How Might We"**: turn the raw idea into `How might we [verb] for [user] so that [outcome]?`. This pulls the team out of premature "solution mode".
|
|
66
|
+
3. **Product Inventory (required if the product exists)**:
|
|
67
|
+
- If `.dw/spec/prd-*/` has PRDs OR `.dw/rules/index.md` exists, read these artifacts to map the **current product's feature inventory** (product level, not code level).
|
|
68
|
+
- Sources to consult: `.dw/spec/prd-*/prd.md` (Overview / Main Features / User Stories sections), `.dw/rules/index.md` and `.dw/rules/<module>.md`, `.planning/intel/` if present.
|
|
69
|
+
- Produce a **short Feature Inventory (5-12 bullets)** before diverging: "the product today does X, Y, Z".
|
|
70
|
+
- If the project is greenfield (no PRDs or rules), record: "Feature Inventory: greenfield — no product artifacts yet".
|
|
71
|
+
4. If essential context is missing for the user (problem, persona, expected value), ask short and objective questions before expanding.
|
|
72
|
+
5. Structure the brainstorm into multiple directions, avoiding locking in too early on a single answer.
|
|
73
|
+
6. For each direction (3-7), make explicit:
|
|
74
|
+
- **Required classification tag**: `[IMPROVES: <existing feature>]` | `[CONSOLIDATES: <feat A> + <feat B>]` | `[NEW]`
|
|
75
|
+
- Core idea (in product language — journey, value, boundary)
|
|
64
76
|
- Benefits
|
|
65
77
|
- Risks or limitations
|
|
66
78
|
- Approximate effort level
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
79
|
+
7. Whenever it makes sense, include conservative, balanced, and bold alternatives.
|
|
80
|
+
8. Close with a pragmatic recommendation and clear next steps.
|
|
81
|
+
9. **If the `--onepager` flag is present**: at the end, generate `.dw/spec/ideas/<slug>.md` using `.dw/templates/idea-onepager.md`, filling Feature Inventory, Classification & Rationale, Recommended Direction (product language), MVP Scope (user stories), Not Doing, Key Assumptions, and Open Questions. Report the path to the user.
|
|
70
82
|
|
|
71
83
|
## Preferred Response Format
|
|
72
84
|
|
|
73
|
-
### 1.
|
|
85
|
+
### 1. How Might We
|
|
86
|
+
- Reframed sentence
|
|
87
|
+
|
|
88
|
+
### 2. Product Inventory
|
|
89
|
+
- 5-12 bullets of mapped existing features (or "greenfield")
|
|
90
|
+
|
|
91
|
+
### 3. Framing
|
|
74
92
|
- Objective
|
|
75
93
|
- Constraints
|
|
76
94
|
- Decision criteria
|
|
77
95
|
|
|
78
|
-
###
|
|
79
|
-
-
|
|
96
|
+
### 4. Options (matrix `brainstorm-matrix.md`)
|
|
97
|
+
- 3 to 7 distinct options
|
|
98
|
+
- Each option with `[IMPROVES] / [CONSOLIDATES] / [NEW]` tag
|
|
80
99
|
- Avoid listing superficial variations of the same idea
|
|
81
100
|
|
|
82
|
-
###
|
|
101
|
+
### 5. Convergence
|
|
83
102
|
- Recommend 1 or 2 paths
|
|
84
103
|
- Explain why they win in the current context
|
|
85
104
|
|
|
86
|
-
###
|
|
105
|
+
### 6. One-pager (if `--onepager`)
|
|
106
|
+
- Path of the created file at `.dw/spec/ideas/<slug>.md`
|
|
107
|
+
|
|
108
|
+
### 7. Next Steps
|
|
87
109
|
- Short and actionable list
|
|
88
110
|
- If appropriate, suggest which command to use next:
|
|
89
|
-
- `/dw-create-prd`
|
|
111
|
+
- `/dw-create-prd` (main successor; accepts the one-pager as input, reducing clarification questions)
|
|
112
|
+
- `/dw-quick` (if it's a small IMPROVES that fits in a single task, ≤3 files)
|
|
90
113
|
- `/dw-create-techspec`
|
|
91
114
|
- `/dw-create-tasks`
|
|
92
115
|
- `/dw-bugfix`
|
|
@@ -113,8 +136,20 @@ Depending on the request, this command may produce:
|
|
|
113
136
|
## Closing
|
|
114
137
|
|
|
115
138
|
At the end, always leave the user in one of these situations:
|
|
116
|
-
- With a clear recommendation
|
|
139
|
+
- With a clear recommendation (including an IMPROVES/CONSOLIDATES/NEW classification)
|
|
117
140
|
- With better questions to decide
|
|
118
141
|
- With a next workspace command to follow
|
|
142
|
+
- With the one-pager at `.dw/spec/ideas/<slug>.md` (if `--onepager` was used)
|
|
143
|
+
|
|
144
|
+
## Inspired by
|
|
145
|
+
|
|
146
|
+
The codebase-grounded idea refinement pattern is inspired by [`addyosmani/agent-skills@idea-refine`](https://skills.sh/addyosmani/agent-skills/idea-refine) (Addy Osmani, Google — 1.4K+ installs). Adaptations for dev-workflow:
|
|
147
|
+
|
|
148
|
+
- **Product level, not code level**: while `idea-refine` uses Glob/Grep/Read over `src/*`, here we read **PRDs + rules + intel** to map the **feature inventory** of the product. The brainstorm stays product-focused.
|
|
149
|
+
- **Explicit classification** (IMPROVES / CONSOLIDATES / NEW) as dev-workflow-native discipline — forces the team to decide whether the idea is new, consolidates existing features, or improves one, before opening a PRD.
|
|
150
|
+
- Output at `.dw/spec/ideas/<slug>.md` (sibling of `prd-<slug>/`) instead of `docs/ideas/` — preserves dev-workflow path conventions.
|
|
151
|
+
- Integration with the existing pipeline: `/dw-create-prd` accepts the one-pager as input, reducing clarification questions.
|
|
152
|
+
|
|
153
|
+
Credit: Addy Osmani and the `idea-refine` pattern.
|
|
119
154
|
|
|
120
155
|
</system_instructions>
|
|
@@ -9,7 +9,15 @@
|
|
|
9
9
|
- Do NOT use when requirements are still vague and unexplored (use `/dw-brainstorm` first)
|
|
10
10
|
|
|
11
11
|
## Pipeline Position
|
|
12
|
-
**Predecessor:** `/dw-brainstorm` (optional) | **Successor:** `/dw-create-techspec`
|
|
12
|
+
**Predecessor:** `/dw-brainstorm` (optional; may pass a one-pager as input) | **Successor:** `/dw-create-techspec`
|
|
13
|
+
|
|
14
|
+
## One-pager as Input (optional)
|
|
15
|
+
|
|
16
|
+
If `.dw/spec/ideas/<slug>.md` exists (produced by `/dw-brainstorm --onepager`), **read it before asking questions**. The one-pager already provides: Problem Statement, product Feature Inventory, Classification (IMPROVES/CONSOLIDATES/NEW), Recommended Direction, MVP Scope, Not Doing, Key Assumptions, and Open Questions.
|
|
17
|
+
|
|
18
|
+
With a valid one-pager (all fields filled), **reduce the minimum clarification questions from 7 to 4** — focus only on remaining gaps (e.g., specific acceptance criteria, concrete success metrics, error flows, edge cases). DO NOT repeat questions already answered in the one-pager.
|
|
19
|
+
|
|
20
|
+
In the final PRD, add an "Idea Origin" section citing the one-pager and preserving the classification tag.
|
|
13
21
|
|
|
14
22
|
## Requirement Clarity Guide
|
|
15
23
|
|
|
@@ -71,6 +79,7 @@
|
|
|
71
79
|
- What is NOT in scope
|
|
72
80
|
- **Impacted projects** (consult `.dw/rules/index.md` to identify which systems are affected)
|
|
73
81
|
- <critical>DO NOT GENERATE THE PRD WITHOUT FIRST ASKING AT LEAST 7 CLARIFICATION QUESTIONS</critical>
|
|
82
|
+
- <critical>**EXCEPTION**: If a one-pager at `.dw/spec/ideas/<slug>.md` was passed as input and all its fields are filled, the minimum drops to **4 questions** — focus on gaps (acceptance criteria, metrics, edge cases). DO NOT repeat questions already answered in the one-pager.</critical>
|
|
74
83
|
|
|
75
84
|
### 2. Plan (Required)
|
|
76
85
|
Create a PRD development plan including:
|
|
@@ -26,6 +26,7 @@ You are a workspace help assistant. When invoked, present the user with a comple
|
|
|
26
26
|
| decision, adr, architecture | `/dw-adr` | Record an Architecture Decision Record |
|
|
27
27
|
| debate, council, stress-test, opinions | `/dw-brainstorm --council` or `/dw-create-techspec --council` | Invokes `dw-council` for a multi-advisor debate |
|
|
28
28
|
| security, vulnerability, owasp, trivy, cve | `/dw-security-check` | Rigid multi-layer check (OWASP static + Trivy SCA/IaC + native audit) for TS/Python/C#/Rust |
|
|
29
|
+
| refine, refinement, idea, one-pager | `/dw-brainstorm --onepager` | Idea refinement with Product Inventory + classification (IMPROVES/CONSOLIDATES/NEW) + durable one-pager |
|
|
29
30
|
| revert, rollback task | `/dw-revert-task` | Safe revert with dependency checks |
|
|
30
31
|
| hotfix, quick change | `/dw-quick` | One-off task with guarantees, no PRD |
|
|
31
32
|
| resume, where I left off | `/dw-resume` | Restore previous session context |
|
|
@@ -7,6 +7,7 @@ You are a quick task executor. This command exists to implement one-off changes
|
|
|
7
7
|
## When to Use
|
|
8
8
|
- Use for small changes that don't justify the full pipeline (PRD -> TechSpec -> Tasks)
|
|
9
9
|
- Use for hotfixes, config adjustments, dependency updates, one-off refactors
|
|
10
|
+
- Use when invoked after `/dw-brainstorm --onepager` and the one-pager carries `[IMPROVES]` classification with an MVP Scope fitting in ≤3 files (skip-PRD path)
|
|
10
11
|
- Do NOT use for new features with multiple requirements (use `/dw-create-prd`)
|
|
11
12
|
- Do NOT use for complex bugs (use `/dw-bugfix`)
|
|
12
13
|
|
|
@@ -28,13 +29,14 @@ You are a quick task executor. This command exists to implement one-off changes
|
|
|
28
29
|
## Required Behavior
|
|
29
30
|
|
|
30
31
|
1. Read `.dw/rules/` to understand project patterns and conventions
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
33
|
-
4.
|
|
34
|
-
5.
|
|
35
|
-
6. Run
|
|
36
|
-
7.
|
|
37
|
-
8.
|
|
32
|
+
2. **If a one-pager exists** at `.dw/spec/ideas/<slug>.md` and was passed as input, read it first. If classification is `[IMPROVES]` and MVP Scope fits in ≤3 files, proceed. If `[NEW]` or `[CONSOLIDATES]` with larger scope, warn and redirect to `/dw-create-prd`.
|
|
33
|
+
3. Summarize the change in 1-2 sentences and confirm scope with the user
|
|
34
|
+
4. If the change seems too large (>3 files, >100 lines), warn and suggest `/dw-create-prd`
|
|
35
|
+
5. Implement the change following project conventions
|
|
36
|
+
6. Run relevant existing tests (unit, integration)
|
|
37
|
+
7. Run lint if configured in the project
|
|
38
|
+
8. Invoke `dw-verify` and include the VERIFICATION REPORT in the output before committing. Without PASS, DO NOT commit.
|
|
39
|
+
9. Create atomic semantic commit with the change
|
|
38
40
|
|
|
39
41
|
## GSD Integration
|
|
40
42
|
|
|
@@ -4,16 +4,24 @@
|
|
|
4
4
|
|
|
5
5
|
{{CONTEXT_DESCRIPTION}}
|
|
6
6
|
|
|
7
|
+
## Product Inventory
|
|
8
|
+
|
|
9
|
+
<!-- Existing product features mapped (product level, not code level). Fill in by reading .dw/spec/prd-*/prd.md and .dw/rules/index.md. If greenfield, write "greenfield". -->
|
|
10
|
+
|
|
11
|
+
- **[feature 1]** — `.dw/spec/prd-<slug>/prd.md` — status
|
|
12
|
+
- **[feature 2]** — `.dw/rules/index.md#module-Y`
|
|
13
|
+
- ...
|
|
14
|
+
|
|
7
15
|
## Options Matrix
|
|
8
16
|
|
|
9
17
|
| Criteria | Option A: {{NAME_A}} | Option B: {{NAME_B}} | Option C: {{NAME_C}} |
|
|
10
18
|
|----------|----------------------|----------------------|----------------------|
|
|
11
|
-
| **
|
|
19
|
+
| **Type & Related Feature** | `[IMPROVES: <feat>]` \| `[CONSOLIDATES: <A>+<B>]` \| `[NEW]` | same | same |
|
|
20
|
+
| **Approach (product)** | | | |
|
|
12
21
|
| **Effort** | Low / Medium / High | Low / Medium / High | Low / Medium / High |
|
|
13
22
|
| **Risk** | Low / Medium / High | Low / Medium / High | Low / Medium / High |
|
|
14
|
-
| **
|
|
15
|
-
| **
|
|
16
|
-
| **Dependencies** | | | |
|
|
23
|
+
| **User value** | | | |
|
|
24
|
+
| **Dependencies (on other features)** | | | |
|
|
17
25
|
|
|
18
26
|
## Trade-offs
|
|
19
27
|
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: idea-onepager
|
|
3
|
+
schema_version: "1.0"
|
|
4
|
+
status: draft
|
|
5
|
+
date: YYYY-MM-DD
|
|
6
|
+
classification: improves | consolidates | new
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Idea: [Short, imperative title]
|
|
10
|
+
|
|
11
|
+
## Problem Statement
|
|
12
|
+
|
|
13
|
+
[Reframe the raw idea as a "How might we" sentence:
|
|
14
|
+
**How might we** [verb] **for** [user/segment] **so that** [outcome/measurable value]?
|
|
15
|
+
|
|
16
|
+
Focus on the problem, not the solution. Avoid jumping into "how to implement".]
|
|
17
|
+
|
|
18
|
+
## Product Context (mapped existing features)
|
|
19
|
+
|
|
20
|
+
[Inventory of product features relevant to this idea. **Product level, not code level.** List what the product already delivers today that relates to the idea.
|
|
21
|
+
|
|
22
|
+
Sources:
|
|
23
|
+
- PRDs in `.dw/spec/prd-*/prd.md` (features already delivered or in development)
|
|
24
|
+
- `.dw/rules/index.md` (product overview)
|
|
25
|
+
- `.planning/intel/` if GSD is installed
|
|
26
|
+
|
|
27
|
+
Format:]
|
|
28
|
+
|
|
29
|
+
- **[feature A name]** — `.dw/spec/prd-<slug>/prd.md` — status: live / in development
|
|
30
|
+
- **[feature B name]** — `.dw/rules/index.md#module-Y` — status: live
|
|
31
|
+
- **[feature C name]** — PRD in progress, see `tasks.md`
|
|
32
|
+
|
|
33
|
+
> If the product is greenfield (no PRDs or rules yet), write: "Feature Inventory: greenfield — no product artifacts yet. This is the first recorded idea."
|
|
34
|
+
|
|
35
|
+
## Classification & Rationale
|
|
36
|
+
|
|
37
|
+
**Type:** IMPROVES | CONSOLIDATES | NEW
|
|
38
|
+
|
|
39
|
+
[Pick ONE of the three and justify:]
|
|
40
|
+
|
|
41
|
+
- **If IMPROVES** — which existing feature is being improved and why improving is worth more than creating a separate feature. Cite the original PRD.
|
|
42
|
+
- **If CONSOLIDATES** — which features are being merged, the gain from unifying (more cohesive UX, less duplicate code, consolidated data). List the original PRDs that become "superseded" (or under review).
|
|
43
|
+
- **If NEW** — why the product needs this capability now, where it connects to existing features (even new features are rarely fully isolated), and which gap it fills.
|
|
44
|
+
|
|
45
|
+
## Recommended Direction
|
|
46
|
+
|
|
47
|
+
[The recommended approach, 1 paragraph, in **product language**:
|
|
48
|
+
- User journey (who does what, when, why)
|
|
49
|
+
- Value delivered
|
|
50
|
+
- Boundary (what this idea covers and what's explicitly out)
|
|
51
|
+
|
|
52
|
+
**DO NOT write technical architecture here** — that's the techspec's job.]
|
|
53
|
+
|
|
54
|
+
## MVP Scope
|
|
55
|
+
|
|
56
|
+
[The smallest version that delivers real value. Thought in **user stories**, not technical tasks.
|
|
57
|
+
|
|
58
|
+
- As a [persona], I can [action] so that [benefit]
|
|
59
|
+
- As a [persona], I can [action] so that [benefit]
|
|
60
|
+
|
|
61
|
+
Ideally 2-4 stories. If it's more than 5, it's probably not MVP.]
|
|
62
|
+
|
|
63
|
+
## Not Doing (explicit)
|
|
64
|
+
|
|
65
|
+
[Tempting items that landed OUT of scope — and why. Forces scope discipline:]
|
|
66
|
+
|
|
67
|
+
- **[tempting item 1]** — reason: [out of scope because...]
|
|
68
|
+
- **[tempting item 2]** — reason: [could become v2 if hypothesis X validates]
|
|
69
|
+
|
|
70
|
+
## Key Assumptions to Validate
|
|
71
|
+
|
|
72
|
+
[What must be true for this direction to work. Each assumption with a test — ideally **with a user**, not with code.]
|
|
73
|
+
|
|
74
|
+
- **[assumption 1]** — test: [interview 5 users in segment X / market research / low-fidelity prototype]
|
|
75
|
+
- **[assumption 2]** — test: [metric Y rises by Z% within 2 weeks of release]
|
|
76
|
+
|
|
77
|
+
## Open Questions
|
|
78
|
+
|
|
79
|
+
[Questions that don't yet have an answer and that the user (or stakeholder) must answer before the PRD:]
|
|
80
|
+
|
|
81
|
+
- [Question 1 affecting scope]
|
|
82
|
+
- [Question 2 affecting priority]
|
|
83
|
+
|
|
84
|
+
## Next Step
|
|
85
|
+
|
|
86
|
+
Pick ONE:
|
|
87
|
+
|
|
88
|
+
- **`/dw-create-prd`** using this one-pager as input — when the direction is clear but we need to detail user stories, acceptance criteria, and hand off to techspec
|
|
89
|
+
- **`/dw-quick`** — when it's an IMPROVES so small that it fits in a single task (up to 3 files, no new endpoint/screen)
|
|
90
|
+
- **Stop here** — if any "Open Question" is blocking, stop and resolve with the stakeholder before advancing
|
|
@@ -13,8 +13,10 @@ Você é um facilitador de brainstorming para o workspace atual. Este comando ex
|
|
|
13
13
|
|
|
14
14
|
## Flags
|
|
15
15
|
|
|
16
|
-
- **(padrão)**: brainstorm normal com 3-7 opções (conservadora, equilibrada, ousada) e trade-offs
|
|
16
|
+
- **(padrão)**: brainstorm normal com 3-7 opções (conservadora, equilibrada, ousada) e trade-offs. Se o produto tem PRDs ou rules, **Product Inventory** é produzido automaticamente e cada opção recebe tag de classificação.
|
|
17
|
+
- **`--onepager`**: ao final do brainstorm, gera um one-pager durável em `.dw/spec/ideas/<slug>.md` (usando `.dw/templates/idea-onepager.md`) com Feature Inventory + Classification & Rationale + MVP Scope + Not Doing + Assumptions. Use quando quiser um artefato de produto persistido antes de seguir para `/dw-create-prd`.
|
|
17
18
|
- **`--council`**: após o brainstorm normal, invoca a skill `dw-council` para stress-test das top 2-3 opções através de 3-5 archetypes (pragmatic-engineer, architect-advisor, security-advocate, product-mind, devils-advocate). Útil quando a escolha é de alto impacto e há genuine dissent entre caminhos.
|
|
19
|
+
- Flags são combináveis: `--onepager --council` produz one-pager após debate do council.
|
|
18
20
|
|
|
19
21
|
## Fluxograma de Decisão: Brainstorm vs PRD Direto
|
|
20
22
|
|
|
@@ -46,6 +48,7 @@ Quando disponíveis no projeto em `./.agents/skills/`, use para enriquecer a ide
|
|
|
46
48
|
## Referência do Template
|
|
47
49
|
|
|
48
50
|
- Template da matriz de brainstorm: `.dw/templates/brainstorm-matrix.md` (relativo ao workspace root)
|
|
51
|
+
- Template do one-pager durável: `.dw/templates/idea-onepager.md` (usado com flag `--onepager`)
|
|
49
52
|
|
|
50
53
|
Use este comando quando o usuario quiser:
|
|
51
54
|
- gerar ideias para produto, UX, arquitetura ou automacao
|
|
@@ -56,37 +59,57 @@ Use este comando quando o usuario quiser:
|
|
|
56
59
|
|
|
57
60
|
## Comportamento obrigatorio
|
|
58
61
|
|
|
62
|
+
<critical>O brainstorm é fase **nível de produto**, não técnica. NÃO entre em arquitetura, stack, endpoints, schemas. Isso é trabalho do techspec. Aqui trabalhamos jornada do usuário, valor, features e fronteiras.</critical>
|
|
63
|
+
|
|
59
64
|
1. Comece resumindo o problema em 1 a 3 frases.
|
|
60
|
-
2.
|
|
61
|
-
3.
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
5.
|
|
68
|
-
6.
|
|
69
|
-
|
|
65
|
+
2. **Reformule como "How Might We"**: transforme a ideia bruta em `How might we [verbo] para [usuário] de forma que [resultado]?`. Isso tira o time de "solution mode" prematuro.
|
|
66
|
+
3. **Product Inventory (obrigatório se o produto existe)**:
|
|
67
|
+
- Se `.dw/spec/prd-*/` tem PRDs OU `.dw/rules/index.md` existe, leia esses artefatos para mapear o **inventário de features do produto atual** (nível de produto, não de código).
|
|
68
|
+
- Fontes a consultar: `.dw/spec/prd-*/prd.md` (seções Overview / Main Features / User Stories), `.dw/rules/index.md` e `.dw/rules/<modulo>.md`, `.planning/intel/` se existir.
|
|
69
|
+
- Produza um **Feature Inventory curto (5-12 bullets)** antes de divergir: "o produto hoje faz X, Y, Z".
|
|
70
|
+
- Se o projeto é greenfield (sem PRDs nem rules), registre: "Feature Inventory: greenfield — nenhum artefato de produto ainda".
|
|
71
|
+
4. Se faltar contexto essencial para o usuário (problema, persona, valor esperado), faça perguntas curtas e objetivas antes de expandir.
|
|
72
|
+
5. Estruture o brainstorming em multiplas direcoes, evitando fixar cedo demais em uma unica resposta.
|
|
73
|
+
6. Para cada direção (3-7), explicite:
|
|
74
|
+
- **Tag de classificação obrigatória**: `[IMPROVES: <feature existente>]` | `[CONSOLIDATES: <feat A> + <feat B>]` | `[NEW]`
|
|
75
|
+
- ideia central (em linguagem de produto — jornada, valor, fronteira)
|
|
76
|
+
- benefícios
|
|
77
|
+
- riscos ou limitações
|
|
78
|
+
- nível de esforço aproximado
|
|
79
|
+
7. Sempre que fizer sentido, inclua alternativas conservadora, equilibrada e ousada.
|
|
80
|
+
8. Feche com recomendação pragmática e próximos passos claros.
|
|
81
|
+
9. **Se a flag `--onepager` estiver presente**: ao final, gerar `.dw/spec/ideas/<slug>.md` usando `.dw/templates/idea-onepager.md`, preenchendo Feature Inventory, Classification & Rationale, Recommended Direction (linguagem de produto), MVP Scope (user stories), Not Doing, Key Assumptions e Open Questions. Apresentar path ao usuário ao final.
|
|
70
82
|
|
|
71
83
|
## Formato de resposta preferido
|
|
72
84
|
|
|
73
|
-
### 1.
|
|
85
|
+
### 1. How Might We
|
|
86
|
+
- frase reformulada
|
|
87
|
+
|
|
88
|
+
### 2. Product Inventory
|
|
89
|
+
- 5-12 bullets de features existentes mapeadas (ou "greenfield")
|
|
90
|
+
|
|
91
|
+
### 3. Enquadramento
|
|
74
92
|
- objetivo
|
|
75
93
|
- restricoes
|
|
76
94
|
- criterios de decisao
|
|
77
95
|
|
|
78
|
-
###
|
|
79
|
-
-
|
|
80
|
-
-
|
|
96
|
+
### 4. Opções (matriz `brainstorm-matrix.md`)
|
|
97
|
+
- 3 a 7 opções distintas
|
|
98
|
+
- cada opção com tag `[IMPROVES] / [CONSOLIDATES] / [NEW]`
|
|
99
|
+
- evite listar variações superficiais da mesma ideia
|
|
81
100
|
|
|
82
|
-
###
|
|
101
|
+
### 5. Convergência
|
|
83
102
|
- recomende 1 ou 2 caminhos
|
|
84
103
|
- diga por que eles vencem no contexto atual
|
|
85
104
|
|
|
86
|
-
###
|
|
105
|
+
### 6. One-pager (se `--onepager`)
|
|
106
|
+
- path do arquivo criado em `.dw/spec/ideas/<slug>.md`
|
|
107
|
+
|
|
108
|
+
### 7. Próximos passos
|
|
87
109
|
- lista curta e executavel
|
|
88
110
|
- se apropriado, sugira qual comando usar em seguida:
|
|
89
|
-
- `/dw-create-prd`
|
|
111
|
+
- `/dw-create-prd` (principal sucessor; aceita one-pager como input reduzindo perguntas de clarificação)
|
|
112
|
+
- `/dw-quick` (se é IMPROVES pequeno que cabe em task única, ≤3 arquivos)
|
|
90
113
|
- `/dw-create-techspec`
|
|
91
114
|
- `/dw-create-tasks`
|
|
92
115
|
- `/dw-bugfix`
|
|
@@ -113,8 +136,20 @@ Dependendo do pedido, o comando pode produzir:
|
|
|
113
136
|
## Encerramento
|
|
114
137
|
|
|
115
138
|
Ao final, sempre deixe o usuario em uma destas situacoes:
|
|
116
|
-
- com uma recomendacao clara
|
|
139
|
+
- com uma recomendacao clara (incluindo classificação IMPROVES/CONSOLIDATES/NEW)
|
|
117
140
|
- com perguntas melhores para decidir
|
|
118
141
|
- com um proximo comando do workspace para seguir
|
|
142
|
+
- com o one-pager em `.dw/spec/ideas/<slug>.md` (se `--onepager` foi usado)
|
|
143
|
+
|
|
144
|
+
## Inspired by
|
|
145
|
+
|
|
146
|
+
O padrão de codebase-grounded idea refinement é inspirado em [`addyosmani/agent-skills@idea-refine`](https://skills.sh/addyosmani/agent-skills/idea-refine) (Addy Osmani, Google — 1.4K+ installs). Adaptações para o dev-workflow:
|
|
147
|
+
|
|
148
|
+
- **Nível de produto, não de código**: enquanto `idea-refine` usa Glob/Grep/Read em `src/*`, aqui lemos **PRDs + rules + intel** para mapear o **inventário de features** do produto. O brainstorm continua sendo produtual.
|
|
149
|
+
- **Classificação explícita** (IMPROVES / CONSOLIDATES / NEW) como disciplina dev-workflow-nativa — força o time a decidir se a ideia é feature nova, consolidação ou melhoria de algo existente, antes de abrir um PRD.
|
|
150
|
+
- Output em `.dw/spec/ideas/<slug>.md` (irmão de `prd-<slug>/`) em vez de `docs/ideas/` — mantém a convenção de paths do dev-workflow.
|
|
151
|
+
- Integração com o pipeline existente: `/dw-create-prd` aceita o one-pager como input, reduzindo perguntas de clarificação.
|
|
152
|
+
|
|
153
|
+
Crédito: Addy Osmani e o padrão `idea-refine`.
|
|
119
154
|
|
|
120
155
|
</system_instructions>
|
|
@@ -9,7 +9,15 @@
|
|
|
9
9
|
- NÃO use quando os requisitos ainda estão vagos e inexplorados (use `/dw-brainstorm` primeiro)
|
|
10
10
|
|
|
11
11
|
## Posição no Pipeline
|
|
12
|
-
**Antecessor:** `/dw-brainstorm` (opcional) | **Sucessor:** `/dw-create-techspec`
|
|
12
|
+
**Antecessor:** `/dw-brainstorm` (opcional; pode passar one-pager como input) | **Sucessor:** `/dw-create-techspec`
|
|
13
|
+
|
|
14
|
+
## One-pager como Input (opcional)
|
|
15
|
+
|
|
16
|
+
Se existir `.dw/spec/ideas/<slug>.md` produzido por `/dw-brainstorm --onepager`, **leia-o antes de fazer perguntas**. O one-pager já traz: Problem Statement, Feature Inventory do produto, Classification (IMPROVES/CONSOLIDATES/NEW), Recommended Direction, MVP Scope, Not Doing, Key Assumptions e Open Questions.
|
|
17
|
+
|
|
18
|
+
Com um one-pager válido (todos os campos preenchidos), **reduza o mínimo de perguntas de clarificação de 7 para 4** — foque apenas em lacunas remanescentes (ex: acceptance criteria específicos, métricas de sucesso concretas, fluxos de erro, edge cases). NÃO repita perguntas já respondidas no one-pager.
|
|
19
|
+
|
|
20
|
+
No PRD final, adicionar seção "Origem da Ideia" citando o one-pager e preservando a classification tag.
|
|
13
21
|
|
|
14
22
|
## Guia de Clareza de Requisitos
|
|
15
23
|
|
|
@@ -71,6 +79,7 @@
|
|
|
71
79
|
- O que NÃO está no escopo
|
|
72
80
|
- **Projetos impactados** (consulte `.dw/rules/index.md` para identificar quais sistemas são afetados)
|
|
73
81
|
- <critical>NÃO GERE O PRD SEM ANTES FAZER NO MINIMO 7 PERGUNTAS DE CLARIFICAÇÃO</critical>
|
|
82
|
+
- <critical>**EXCEÇÃO**: Se um one-pager `.dw/spec/ideas/<slug>.md` foi passado como input e tem todos os campos preenchidos, o mínimo cai para **4 perguntas** — foque em lacunas (acceptance criteria, métricas, edge cases). NÃO repita perguntas já respondidas no one-pager.</critical>
|
|
74
83
|
|
|
75
84
|
### 2. Planejar (Obrigatório)
|
|
76
85
|
Crie um plano de desenvolvimento do PRD incluindo:
|
|
@@ -26,6 +26,7 @@ Você é um assistente de ajuda do workspace. Quando invocado, apresente ao usu
|
|
|
26
26
|
| decisão, adr, arquitetura | `/dw-adr` | Registrar Architecture Decision Record |
|
|
27
27
|
| debate, council, stress-test, opiniões | `/dw-brainstorm --council` ou `/dw-create-techspec --council` | Invoca `dw-council` para debate multi-advisor |
|
|
28
28
|
| security, segurança, vulnerabilidade, owasp, trivy, cve | `/dw-security-check` | Check multi-camada rígido (OWASP estático + Trivy SCA/IaC + audit nativo) para TS/Python/C#/Rust |
|
|
29
|
+
| refinamento, refine, idea, one-pager, ideia | `/dw-brainstorm --onepager` | Refinamento de ideia com Product Inventory + classification (IMPROVES/CONSOLIDATES/NEW) + one-pager durável |
|
|
29
30
|
| reverter, rollback de task | `/dw-revert-task` | Revert seguro com check de dependências |
|
|
30
31
|
| hotfix, mudança rápida | `/dw-quick` | Task pontual com garantias sem PRD |
|
|
31
32
|
| retomar, onde parei | `/dw-resume` | Restaura contexto da sessão anterior |
|
|
@@ -7,6 +7,7 @@ Voce e um executor de tasks rapidas. Este comando existe para implementar mudanc
|
|
|
7
7
|
## Quando Usar
|
|
8
8
|
- Use para mudancas pequenas que nao justificam o pipeline completo (PRD -> TechSpec -> Tasks)
|
|
9
9
|
- Use para hotfixes, ajustes de config, atualizacoes de dependencias, refatoracoes pontuais
|
|
10
|
+
- Use quando invocado apos `/dw-brainstorm --onepager` e o one-pager tem classificacao `[IMPROVES]` com MVP Scope cabendo em ≤3 arquivos (skip-PRD path)
|
|
10
11
|
- NAO use para features novas com multiplos requisitos (use `/dw-create-prd`)
|
|
11
12
|
- NAO use para bugs complexos (use `/dw-bugfix`)
|
|
12
13
|
|
|
@@ -28,13 +29,14 @@ Voce e um executor de tasks rapidas. Este comando existe para implementar mudanc
|
|
|
28
29
|
## Comportamento Obrigatorio
|
|
29
30
|
|
|
30
31
|
1. Leia `.dw/rules/` para entender padroes e convencoes do projeto
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
33
|
-
4.
|
|
34
|
-
5.
|
|
35
|
-
6. Execute
|
|
36
|
-
7.
|
|
37
|
-
8.
|
|
32
|
+
2. **Se um one-pager existe** em `.dw/spec/ideas/<slug>.md` e foi passado como input, leia-o primeiro. Se classification for `[IMPROVES]` e MVP Scope cabe em ≤3 arquivos, prosseguir. Se for `[NEW]` ou `[CONSOLIDATES]` de escopo maior, alertar e redirecionar para `/dw-create-prd`.
|
|
33
|
+
3. Resuma a mudanca em 1-2 frases e confirme escopo com o usuario
|
|
34
|
+
4. Se a mudanca parecer grande demais (>3 arquivos, >100 linhas), alerte e sugira `/dw-create-prd`
|
|
35
|
+
5. Implemente a mudanca seguindo convencoes do projeto
|
|
36
|
+
6. Execute testes existentes relevantes (unit, integration)
|
|
37
|
+
7. Execute lint se configurado no projeto
|
|
38
|
+
8. Invoque `dw-verify` e inclua o VERIFICATION REPORT no output antes de commitar. Sem PASS, NAO commit.
|
|
39
|
+
9. Crie commit atomico semantico com a mudanca
|
|
38
40
|
|
|
39
41
|
## Integracao GSD
|
|
40
42
|
|
|
@@ -4,16 +4,24 @@
|
|
|
4
4
|
|
|
5
5
|
{{CONTEXT_DESCRIPTION}}
|
|
6
6
|
|
|
7
|
+
## Product Inventory
|
|
8
|
+
|
|
9
|
+
<!-- Features existentes mapeadas no produto (nível de produto, não de código). Preencher lendo .dw/spec/prd-*/prd.md e .dw/rules/index.md. Se greenfield, escrever "greenfield". -->
|
|
10
|
+
|
|
11
|
+
- **[feature 1]** — `.dw/spec/prd-<slug>/prd.md` — status
|
|
12
|
+
- **[feature 2]** — `.dw/rules/index.md#modulo-Y`
|
|
13
|
+
- ...
|
|
14
|
+
|
|
7
15
|
## Matriz de Opções
|
|
8
16
|
|
|
9
17
|
| Critério | Opção A: {{NAME_A}} | Opção B: {{NAME_B}} | Opção C: {{NAME_C}} |
|
|
10
18
|
|----------|---------------------|---------------------|---------------------|
|
|
11
|
-
| **
|
|
19
|
+
| **Tipo & Feature Relacionada** | `[IMPROVES: <feat>]` \| `[CONSOLIDATES: <A>+<B>]` \| `[NEW]` | idem | idem |
|
|
20
|
+
| **Abordagem (produto)** | | | |
|
|
12
21
|
| **Esforço** | Baixo / Médio / Alto | Baixo / Médio / Alto | Baixo / Médio / Alto |
|
|
13
22
|
| **Risco** | Baixo / Médio / Alto | Baixo / Médio / Alto | Baixo / Médio / Alto |
|
|
14
|
-
| **
|
|
15
|
-
| **
|
|
16
|
-
| **Dependências** | | | |
|
|
23
|
+
| **Valor para usuário** | | | |
|
|
24
|
+
| **Dependências (outras features)** | | | |
|
|
17
25
|
|
|
18
26
|
## Trade-offs
|
|
19
27
|
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: idea-onepager
|
|
3
|
+
schema_version: "1.0"
|
|
4
|
+
status: draft
|
|
5
|
+
date: YYYY-MM-DD
|
|
6
|
+
classification: improves | consolidates | new
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Ideia: [Título curto e imperativo]
|
|
10
|
+
|
|
11
|
+
## Problem Statement
|
|
12
|
+
|
|
13
|
+
[Reformule a ideia bruta como uma frase "How might we":
|
|
14
|
+
**How might we** [verbo] **para** [usuário/segmento] **de forma que** [resultado/valor mensurável]?
|
|
15
|
+
|
|
16
|
+
Foque no problema, não na solução. Evite entrar em "como implementar".]
|
|
17
|
+
|
|
18
|
+
## Product Context (features existentes mapeadas)
|
|
19
|
+
|
|
20
|
+
[Inventário das features do produto relevantes para esta ideia. **Nível de produto, não de código.** Liste o que o produto já entrega hoje que se relaciona com a ideia.
|
|
21
|
+
|
|
22
|
+
Fontes:
|
|
23
|
+
- PRDs em `.dw/spec/prd-*/prd.md` (features já entregues ou em desenvolvimento)
|
|
24
|
+
- `.dw/rules/index.md` (overview do produto)
|
|
25
|
+
- `.planning/intel/` se GSD estiver instalado
|
|
26
|
+
|
|
27
|
+
Formato:]
|
|
28
|
+
|
|
29
|
+
- **[nome da feature A]** — `.dw/spec/prd-<slug>/prd.md` — status: live / em desenvolvimento
|
|
30
|
+
- **[nome da feature B]** — `.dw/rules/index.md#modulo-Y` — status: live
|
|
31
|
+
- **[nome da feature C]** — PRD em progresso, ver `tasks.md`
|
|
32
|
+
|
|
33
|
+
> Se o produto é greenfield (sem PRDs nem rules), escreva: "Feature Inventory: greenfield — nenhum artefato de produto ainda. Esta é a primeira ideia registrada."
|
|
34
|
+
|
|
35
|
+
## Classification & Rationale
|
|
36
|
+
|
|
37
|
+
**Tipo:** IMPROVES | CONSOLIDATES | NEW
|
|
38
|
+
|
|
39
|
+
[Escolha UM dos três e justifique:]
|
|
40
|
+
|
|
41
|
+
- **Se IMPROVES** — qual feature existente está sendo aprimorada e por quê aprimorar vale mais do que criar feature separada. Cite o PRD original da feature.
|
|
42
|
+
- **Se CONSOLIDATES** — quais features se fundem, o ganho ao unificar (UX mais coesa, menos código duplicado, dados consolidados). Liste os PRDs originais que ficam "superseded" (ou em revisão).
|
|
43
|
+
- **Se NEW** — por que o produto precisa dessa capacidade agora, onde ela se conecta às features existentes (mesmo sendo nova, raramente está completamente isolada), e qual gap ela preenche.
|
|
44
|
+
|
|
45
|
+
## Recommended Direction
|
|
46
|
+
|
|
47
|
+
[A abordagem recomendada, 1 parágrafo, em **linguagem de produto**:
|
|
48
|
+
- Jornada do usuário (quem faz o quê, quando, por quê)
|
|
49
|
+
- Valor entregue
|
|
50
|
+
- Boundary (o que essa ideia cobre e o que fica de fora)
|
|
51
|
+
|
|
52
|
+
**NÃO escreva arquitetura técnica aqui** — isso é trabalho do techspec.]
|
|
53
|
+
|
|
54
|
+
## MVP Scope
|
|
55
|
+
|
|
56
|
+
[A menor versão que entrega valor real. Pensada em **user stories**, não tasks técnicas.
|
|
57
|
+
|
|
58
|
+
- Como [persona], eu posso [ação] para [benefício]
|
|
59
|
+
- Como [persona], eu posso [ação] para [benefício]
|
|
60
|
+
|
|
61
|
+
Idealmente 2-4 stories. Se são mais de 5, provavelmente não é MVP.]
|
|
62
|
+
|
|
63
|
+
## Not Doing (explícito)
|
|
64
|
+
|
|
65
|
+
[Itens tentadores que ficaram FORA do escopo — e por quê. Força disciplina de scope:]
|
|
66
|
+
|
|
67
|
+
- **[item tentador 1]** — razão: [fora de escopo porque...]
|
|
68
|
+
- **[item tentador 2]** — razão: [pode virar v2 se hipótese X validar]
|
|
69
|
+
|
|
70
|
+
## Key Assumptions to Validate
|
|
71
|
+
|
|
72
|
+
[O que precisa ser verdade para essa direção funcionar. Cada assumption com um teste — idealmente **com usuário**, não com código.]
|
|
73
|
+
|
|
74
|
+
- **[assumption 1]** — teste: [entrevista com 5 usuários do segmento X / pesquisa de mercado / protótipo de baixa fidelidade]
|
|
75
|
+
- **[assumption 2]** — teste: [métrica Y aumenta em Z% em 2 semanas após release]
|
|
76
|
+
|
|
77
|
+
## Open Questions
|
|
78
|
+
|
|
79
|
+
[Questões que ainda não têm resposta e que o usuário (ou stakeholder) precisa responder antes do PRD:]
|
|
80
|
+
|
|
81
|
+
- [Pergunta 1 que afeta escopo]
|
|
82
|
+
- [Pergunta 2 que afeta prioridade]
|
|
83
|
+
|
|
84
|
+
## Next Step
|
|
85
|
+
|
|
86
|
+
Escolha UM:
|
|
87
|
+
|
|
88
|
+
- **`/dw-create-prd`** com este one-pager como input — quando a direção está clara mas precisamos detalhar user stories, acceptance criteria e passar ao techspec
|
|
89
|
+
- **`/dw-quick`** — quando é um IMPROVES tão pequeno que cabe em task única (até 3 arquivos, sem novo endpoint/tela)
|
|
90
|
+
- **Parar aqui** — se alguma "Open Question" é bloqueante, parar e resolver com stakeholder antes de avançar
|