@onion-ai/cli 1.0.0-beta.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/LICENSE +21 -0
- package/README.md +529 -0
- package/bin/onion.js +6 -0
- package/framework/CLAUDE.md +45 -0
- package/framework/VERSION +1 -0
- package/framework/agents/compliance/iso-22301-specialist.md +985 -0
- package/framework/agents/compliance/iso-27001-specialist.md +713 -0
- package/framework/agents/compliance/pmbok-specialist.md +739 -0
- package/framework/agents/compliance/security-information-master.md +907 -0
- package/framework/agents/compliance/soc2-specialist.md +889 -0
- package/framework/agents/deployment/docker-specialist.md +1192 -0
- package/framework/agents/development/c4-architecture-specialist.md +745 -0
- package/framework/agents/development/c4-documentation-specialist.md +695 -0
- package/framework/agents/development/clickup-specialist.md +396 -0
- package/framework/agents/development/cursor-specialist.md +277 -0
- package/framework/agents/development/docs-reverse-engineer.md +417 -0
- package/framework/agents/development/gamma-api-specialist.md +1168 -0
- package/framework/agents/development/gitflow-specialist.md +1206 -0
- package/framework/agents/development/linux-security-specialist.md +675 -0
- package/framework/agents/development/mermaid-specialist.md +515 -0
- package/framework/agents/development/nodejs-specialist.md +672 -0
- package/framework/agents/development/nx-migration-specialist.md +866 -0
- package/framework/agents/development/nx-monorepo-specialist.md +618 -0
- package/framework/agents/development/postgres-specialist.md +1123 -0
- package/framework/agents/development/react-developer.md +131 -0
- package/framework/agents/development/runflow-specialist.md +277 -0
- package/framework/agents/development/system-documentation-orchestrator.md +1387 -0
- package/framework/agents/development/task-specialist.md +677 -0
- package/framework/agents/git/branch-code-reviewer.md +225 -0
- package/framework/agents/git/branch-documentation-writer.md +161 -0
- package/framework/agents/git/branch-metaspec-checker.md +67 -0
- package/framework/agents/git/branch-test-planner.md +176 -0
- package/framework/agents/meta/agent-creator-specialist.md +1266 -0
- package/framework/agents/meta/command-creator-specialist.md +1676 -0
- package/framework/agents/meta/metaspec-gate-keeper.md +240 -0
- package/framework/agents/meta/onion.md +824 -0
- package/framework/agents/product/branding-positioning-specialist.md +1029 -0
- package/framework/agents/product/extract-meeting-specialist.md +394 -0
- package/framework/agents/product/meeting-consolidator.md +482 -0
- package/framework/agents/product/pain-price-specialist.md +508 -0
- package/framework/agents/product/presentation-orchestrator.md +1190 -0
- package/framework/agents/product/product-agent.md +201 -0
- package/framework/agents/product/story-points-framework-specialist.md +538 -0
- package/framework/agents/product/storytelling-business-specialist.md +890 -0
- package/framework/agents/research/research-agent.md +292 -0
- package/framework/agents/review/code-reviewer.md +154 -0
- package/framework/agents/review/corporate-compliance-specialist.md +370 -0
- package/framework/agents/testing/test-agent.md +424 -0
- package/framework/agents/testing/test-engineer.md +294 -0
- package/framework/agents/testing/test-planner.md +117 -0
- package/framework/commands/common/prompts/README.md +208 -0
- package/framework/commands/common/prompts/clickup-patterns.md +144 -0
- package/framework/commands/common/prompts/code-review-checklist.md +168 -0
- package/framework/commands/common/prompts/git-workflow-patterns.md +235 -0
- package/framework/commands/common/prompts/output-formats.md +240 -0
- package/framework/commands/common/prompts/technical.md +194 -0
- package/framework/commands/common/templates/abstraction-template.md +399 -0
- package/framework/commands/common/templates/agent-template.md +353 -0
- package/framework/commands/common/templates/business_context_template.md +748 -0
- package/framework/commands/common/templates/command-template.md +273 -0
- package/framework/commands/common/templates/technical_context_template.md +526 -0
- package/framework/commands/design/screen-spec.md +505 -0
- package/framework/commands/development/runflow-dev.md +465 -0
- package/framework/commands/docs/build-business-docs.md +299 -0
- package/framework/commands/docs/build-compliance-docs.md +143 -0
- package/framework/commands/docs/build-index.md +119 -0
- package/framework/commands/docs/build-tech-docs.md +221 -0
- package/framework/commands/docs/docs-health.md +141 -0
- package/framework/commands/docs/help.md +278 -0
- package/framework/commands/docs/refine-vision.md +25 -0
- package/framework/commands/docs/reverse-consolidate.md +158 -0
- package/framework/commands/docs/sync-sessions.md +354 -0
- package/framework/commands/docs/validate-docs.md +157 -0
- package/framework/commands/engineer/bump.md +29 -0
- package/framework/commands/engineer/docs.md +11 -0
- package/framework/commands/engineer/hotfix.md +183 -0
- package/framework/commands/engineer/plan.md +85 -0
- package/framework/commands/engineer/pr-update.md +219 -0
- package/framework/commands/engineer/pr.md +117 -0
- package/framework/commands/engineer/pre-pr.md +81 -0
- package/framework/commands/engineer/start.md +254 -0
- package/framework/commands/engineer/validate-phase-sync.md +134 -0
- package/framework/commands/engineer/warm-up.md +20 -0
- package/framework/commands/engineer/work.md +155 -0
- package/framework/commands/f/company-context-extractor.md +93 -0
- package/framework/commands/f/process-meetings.md +103 -0
- package/framework/commands/git/README.md +682 -0
- package/framework/commands/git/code-review.md +213 -0
- package/framework/commands/git/fast-commit.md +43 -0
- package/framework/commands/git/feature/finish.md +88 -0
- package/framework/commands/git/feature/publish.md +89 -0
- package/framework/commands/git/feature/start.md +172 -0
- package/framework/commands/git/help.md +100 -0
- package/framework/commands/git/hotfix/finish.md +96 -0
- package/framework/commands/git/hotfix/start.md +92 -0
- package/framework/commands/git/init.md +111 -0
- package/framework/commands/git/release/finish.md +96 -0
- package/framework/commands/git/release/start.md +93 -0
- package/framework/commands/git/sync.md +199 -0
- package/framework/commands/meta/all-tools.md +58 -0
- package/framework/commands/meta/analyze-complex-problem.md +186 -0
- package/framework/commands/meta/create-abstraction.md +882 -0
- package/framework/commands/meta/create-agent-express.md +98 -0
- package/framework/commands/meta/create-agent.md +210 -0
- package/framework/commands/meta/create-command.md +203 -0
- package/framework/commands/meta/create-knowledge-base.md +143 -0
- package/framework/commands/meta/create-task-structure.md +150 -0
- package/framework/commands/meta/setup-integration.md +274 -0
- package/framework/commands/onion.md +169 -0
- package/framework/commands/product/README.md +249 -0
- package/framework/commands/product/analyze-pain-price.md +694 -0
- package/framework/commands/product/branding.md +458 -0
- package/framework/commands/product/check.md +46 -0
- package/framework/commands/product/checklist-sync.md +239 -0
- package/framework/commands/product/collect.md +95 -0
- package/framework/commands/product/consolidate-meetings.md +291 -0
- package/framework/commands/product/estimate.md +511 -0
- package/framework/commands/product/extract-meeting.md +226 -0
- package/framework/commands/product/feature.md +416 -0
- package/framework/commands/product/light-arch.md +82 -0
- package/framework/commands/product/presentation.md +174 -0
- package/framework/commands/product/refine.md +161 -0
- package/framework/commands/product/spec.md +79 -0
- package/framework/commands/product/task-check.md +378 -0
- package/framework/commands/product/task.md +603 -0
- package/framework/commands/product/validate-task.md +325 -0
- package/framework/commands/product/warm-up.md +24 -0
- package/framework/commands/quick/analisys.md +17 -0
- package/framework/commands/test/e2e.md +377 -0
- package/framework/commands/test/integration.md +508 -0
- package/framework/commands/test/unit.md +381 -0
- package/framework/commands/validate/collab/pair-testing.md +657 -0
- package/framework/commands/validate/collab/three-amigos.md +534 -0
- package/framework/commands/validate/qa-points/estimate.md +660 -0
- package/framework/commands/validate/test-strategy/analyze.md +1201 -0
- package/framework/commands/validate/test-strategy/create.md +411 -0
- package/framework/commands/validate/workflow.md +370 -0
- package/framework/commands/warm-up.md +20 -0
- package/framework/docs/architecture/acoplamento-clickup-problema-analise.md +468 -0
- package/framework/docs/architecture/desacoplamento-roadmap.md +364 -0
- package/framework/docs/architecture/validacao-fase-1.md +235 -0
- package/framework/docs/c4/c4-detection-rules.md +395 -0
- package/framework/docs/c4/c4-documentation-templates.md +579 -0
- package/framework/docs/c4/c4-mermaid-patterns.md +331 -0
- package/framework/docs/c4/c4-templates.md +256 -0
- package/framework/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
- package/framework/docs/clickup/clickup-auto-update-strategy.md +340 -0
- package/framework/docs/clickup/clickup-comment-formatter.md +239 -0
- package/framework/docs/clickup/clickup-description-fix.md +384 -0
- package/framework/docs/clickup/clickup-dual-comment-strategy.md +528 -0
- package/framework/docs/clickup/clickup-formatting.md +302 -0
- package/framework/docs/clickup/separador-tamanho-otimizado.md +258 -0
- package/framework/docs/engineer/pre-pr-acceptance-validation.md +256 -0
- package/framework/docs/onion/ESPERANTO.md +293 -0
- package/framework/docs/onion/agents-reference.md +832 -0
- package/framework/docs/onion/clickup-integration.md +780 -0
- package/framework/docs/onion/commands-guide.md +924 -0
- package/framework/docs/onion/engineering-flows.md +900 -0
- package/framework/docs/onion/getting-started.md +803 -0
- package/framework/docs/onion/maintenance-checklist.md +421 -0
- package/framework/docs/onion/naming-conventions.md +286 -0
- package/framework/docs/onion/practical-examples.md +854 -0
- package/framework/docs/product/story-points-integration.md +269 -0
- package/framework/docs/product/story-points-validation.md +237 -0
- package/framework/docs/reviews/task-manager-docs-review-2025-11-24.md +184 -0
- package/framework/docs/strategies/clickup-comment-patterns.md +766 -0
- package/framework/docs/strategies/clickup-integration-tests.md +602 -0
- package/framework/docs/strategies/clickup-mcp-wrappers-tests.md +888 -0
- package/framework/docs/strategies/clickup-regression-tests.md +587 -0
- package/framework/docs/strategies/visual-patterns.md +315 -0
- package/framework/docs/templates/README.md +649 -0
- package/framework/docs/templates/adr-template.md +226 -0
- package/framework/docs/templates/analysis-template.md +280 -0
- package/framework/docs/templates/execution-plan-template.md +430 -0
- package/framework/docs/templates/guide-template.md +367 -0
- package/framework/docs/templates/phase-execution-prompt-template.md +504 -0
- package/framework/docs/templates/reference-template.md +522 -0
- package/framework/docs/templates/solution-template.md +390 -0
- package/framework/docs/tools/README.md +356 -0
- package/framework/docs/tools/agents.md +365 -0
- package/framework/docs/tools/commands.md +669 -0
- package/framework/docs/tools/cursor.md +539 -0
- package/framework/docs/tools/mcps.md +937 -0
- package/framework/docs/tools/rules.md +461 -0
- package/framework/rules/language-and-documentation.mdc +371 -0
- package/framework/rules/nestjs-controllers.md +83 -0
- package/framework/rules/nestjs-dtos.md +255 -0
- package/framework/rules/nestjs-modules.md +141 -0
- package/framework/rules/nestjs-services.md +230 -0
- package/framework/rules/nx-rules.mdc +41 -0
- package/framework/rules/onion-patterns.mdc +197 -0
- package/framework/skills/codebase-visualizer/SKILL.md +26 -0
- package/framework/skills/codebase-visualizer/scripts/visualize.py +131 -0
- package/framework/skills/collect/SKILL.md +84 -0
- package/framework/skills/create-rule/SKILL.md +152 -0
- package/framework/skills/db-schema-visualizer/SKILL.md +49 -0
- package/framework/skills/db-schema-visualizer/scripts/visualize.py +1191 -0
- package/framework/skills/sync-meetings/SKILL.md +239 -0
- package/framework/utils/clickup-mcp-wrappers.md +744 -0
- package/framework/utils/date-time-standards.md +200 -0
- package/framework/utils/task-manager/README.md +94 -0
- package/framework/utils/task-manager/adapters/asana.md +377 -0
- package/framework/utils/task-manager/adapters/clickup.md +467 -0
- package/framework/utils/task-manager/adapters/linear.md +421 -0
- package/framework/utils/task-manager/detector.md +299 -0
- package/framework/utils/task-manager/factory.md +363 -0
- package/framework/utils/task-manager/interface.md +248 -0
- package/framework/utils/task-manager/types.md +409 -0
- package/package.json +41 -0
- package/src/cli.js +73 -0
- package/src/commands/doctor.js +191 -0
- package/src/commands/init.js +287 -0
- package/src/commands/install.js +261 -0
- package/src/commands/list.js +152 -0
- package/src/commands/uninstall.js +90 -0
- package/src/commands/update.js +26 -0
- package/src/utils/fs.js +89 -0
- package/src/utils/log.js +35 -0
- package/src/utils/paths.js +32 -0
- package/src/utils/prompt.js +76 -0
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: screen-spec
|
|
3
|
+
description: Analyze data requirements for a screen using UX-first methodology. Starts with user mental models, then data points, visual hierarchy, and MVP scope.
|
|
4
|
+
model: sonnet
|
|
5
|
+
category: design
|
|
6
|
+
tags: [ux, ui, screen-design, data-requirements]
|
|
7
|
+
version: '1.0.0'
|
|
8
|
+
updated: '2026-01-22'
|
|
9
|
+
|
|
10
|
+
related_commands:
|
|
11
|
+
- /product/spec
|
|
12
|
+
- /product/task
|
|
13
|
+
|
|
14
|
+
related_agents:
|
|
15
|
+
- product-agent
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Screen Data Specification
|
|
19
|
+
|
|
20
|
+
You are a senior UX/Product Designer expert in data-driven interfaces. Your task is to help the user define the data requirements for a screen using an iterative, question-driven approach grounded in industry-standard UX mental models.
|
|
21
|
+
|
|
22
|
+
## Mental Models Foundation
|
|
23
|
+
|
|
24
|
+
This command is built on four proven UX frameworks:
|
|
25
|
+
|
|
26
|
+
1. **Jobs to Be Done (JTBD)** - What job is the user hiring this screen to do?
|
|
27
|
+
2. **Object-Action Interface (OAI)** - What objects exist and what actions can users take?
|
|
28
|
+
3. **Progressive Disclosure** - How do we guide attention and reduce cognitive load?
|
|
29
|
+
4. **Information Scent** - How do users know where to find what they need?
|
|
30
|
+
|
|
31
|
+
## User Input
|
|
32
|
+
|
|
33
|
+
<arguments>
|
|
34
|
+
$ARGUMENTS
|
|
35
|
+
</arguments>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Interactive Process
|
|
40
|
+
|
|
41
|
+
Follow this iterative flow. At each step, **propose a recommendation** based on context, then **ask for user confirmation** before proceeding.
|
|
42
|
+
|
|
43
|
+
### Step 1: Clarify the Screen
|
|
44
|
+
|
|
45
|
+
First, identify the screen type and primary user.
|
|
46
|
+
|
|
47
|
+
**Infer from context**, then confirm:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Based on [source], I understand this is:
|
|
51
|
+
|
|
52
|
+
- **Screen:** [Name]
|
|
53
|
+
- **Type:** [List | Detail | Form | Dashboard | Other]
|
|
54
|
+
- **Portal/App:** [Where it lives]
|
|
55
|
+
- **Primary User:** [Role]
|
|
56
|
+
|
|
57
|
+
Is this correct? If not, please clarify.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Screen Type Definitions:**
|
|
61
|
+
|
|
62
|
+
- **List:** Collection of objects (initiatives, users, orders)
|
|
63
|
+
- **Detail:** Single object view (initiative detail, user profile)
|
|
64
|
+
- **Form:** Create or edit an object (new initiative, edit settings)
|
|
65
|
+
- **Dashboard:** Aggregated metrics and summaries
|
|
66
|
+
- **Other:** Wizard, empty state, error page, etc.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### Step 2: Define Jobs to Be Done
|
|
71
|
+
|
|
72
|
+
Identify the top 3-5 jobs users hire this screen to do.
|
|
73
|
+
|
|
74
|
+
**Format:** `[Action] + [Object] + [Context/Outcome]`
|
|
75
|
+
|
|
76
|
+
**Propose based on context:**
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Here are the jobs I believe users hire this screen to do:
|
|
80
|
+
|
|
81
|
+
| # | Job Statement | Business Value |
|
|
82
|
+
|---|---------------|----------------|
|
|
83
|
+
| 1 | [Action] [object] so I can [outcome] | [Why it matters] |
|
|
84
|
+
| 2 | ... | ... |
|
|
85
|
+
|
|
86
|
+
Do these capture the core jobs? Would you add, remove, or modify any?
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Good job statements are:**
|
|
90
|
+
|
|
91
|
+
- Outcome-focused (not feature-focused)
|
|
92
|
+
- Untethered to specific UI (no "click the button")
|
|
93
|
+
- Testable (you can ask "did the user accomplish this?")
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### Step 3: Inventory Objects & Data
|
|
98
|
+
|
|
99
|
+
Identify the primary object and all data points that could describe it.
|
|
100
|
+
|
|
101
|
+
**Present as a single table:**
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
**Primary Object:** [e.g., Initiative]
|
|
105
|
+
|
|
106
|
+
| Data Point | Source | Priority | Notes |
|
|
107
|
+
|------------|--------|----------|-------|
|
|
108
|
+
| [Field] | [table.column or "calculated: formula"] | P0/P1/P2 | [Format, edge cases] |
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Priority Definitions:**
|
|
112
|
+
|
|
113
|
+
- **P0 (Must Have):** User cannot complete primary job without this
|
|
114
|
+
- **P1 (Should Have):** Significantly improves experience
|
|
115
|
+
- **P2 (Nice to Have):** Defer to detail view or future iteration
|
|
116
|
+
|
|
117
|
+
**After presenting, ask:**
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
I've prioritized based on the jobs defined above.
|
|
121
|
+
Do you agree with these priorities, or should any be adjusted?
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Step 4: Define Actions (OAI Model)
|
|
127
|
+
|
|
128
|
+
List all actions users can take on the object(s).
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
**Actions on [Object]:**
|
|
132
|
+
|
|
133
|
+
| Action | Trigger | Permission | Confirmation? | Feedback |
|
|
134
|
+
|--------|---------|------------|---------------|----------|
|
|
135
|
+
| [Action] | [Button/Click/Menu] | [Role required] | Yes/No | [What user sees after] |
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Ask:**
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Are there any actions I'm missing? Any that should be removed for MVP?
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### Step 5: Visual Hierarchy (Progressive Disclosure)
|
|
147
|
+
|
|
148
|
+
Define what users see at each level of attention.
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
**Visual Hierarchy:**
|
|
152
|
+
|
|
153
|
+
| Level | Data Points | Rationale |
|
|
154
|
+
|-------|-------------|-----------|
|
|
155
|
+
| **Primary** (instant scan) | [Fields] | [Why these matter most] |
|
|
156
|
+
| **Secondary** (supporting) | [Fields] | [Context that helps] |
|
|
157
|
+
| **Tertiary** (on demand) | [Fields] | [Details for drill-down] |
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Ask:**
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Does this hierarchy match how users will scan the screen?
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### Step 6: Conditional Sections
|
|
169
|
+
|
|
170
|
+
Based on screen type, ask about optional sections.
|
|
171
|
+
|
|
172
|
+
#### 6a. Filtering & Sorting (Lists, Dashboards)
|
|
173
|
+
|
|
174
|
+
**Infer applicability:** If screen type is List or Dashboard, ask:
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
This is a [List/Dashboard] screen. Do you want to define filtering and sorting requirements now?
|
|
178
|
+
|
|
179
|
+
**Recommendation:** [Yes, because... / No, defer to design phase because...]
|
|
180
|
+
|
|
181
|
+
Options:
|
|
182
|
+
1. Yes, let's define filters and sorting now
|
|
183
|
+
2. No, defer to design phase
|
|
184
|
+
3. Just filters, no sorting
|
|
185
|
+
4. Just sorting, no filters
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**If yes, propose:**
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
**Filters:**
|
|
192
|
+
|
|
193
|
+
| Filter | Type | Options | Rationale |
|
|
194
|
+
|--------|------|---------|-----------|
|
|
195
|
+
| [Field] | [Dropdown/Multi-select/Range/Toggle/Search] | [Values] | [User need] |
|
|
196
|
+
|
|
197
|
+
**Sorting:**
|
|
198
|
+
|
|
199
|
+
| Sort By | Default | Direction | Rationale |
|
|
200
|
+
|---------|---------|-----------|-----------|
|
|
201
|
+
| [Field] | Yes/No | Asc/Desc | [User need] |
|
|
202
|
+
|
|
203
|
+
**Quick Filter Presets (optional):**
|
|
204
|
+
|
|
205
|
+
| Preset | Filters Applied | Use Case |
|
|
206
|
+
|--------|-----------------|----------|
|
|
207
|
+
| [Name] | [Combination] | [Common scenario] |
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### 6b. States & Visual Indicators (Objects with Status)
|
|
211
|
+
|
|
212
|
+
**Infer applicability:** If object has status/state field, ask:
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
The [Object] has states: [list states]. Do you want to define visual indicators for each?
|
|
216
|
+
|
|
217
|
+
**Recommendation:** [Yes, because states drive user decisions / No, simple color coding sufficient]
|
|
218
|
+
|
|
219
|
+
Options:
|
|
220
|
+
1. Yes, define status indicators and warning states
|
|
221
|
+
2. No, use standard color coding (green=good, yellow=warning, red=error)
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**If yes, propose:**
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
**Status Indicators:**
|
|
228
|
+
|
|
229
|
+
| Status | Visual Treatment | Meaning |
|
|
230
|
+
|--------|------------------|---------|
|
|
231
|
+
| [Status] | [Color + Icon + Badge text] | [What it means to user] |
|
|
232
|
+
|
|
233
|
+
**Warning/Alert States:**
|
|
234
|
+
|
|
235
|
+
| Condition | Indicator | Action Needed |
|
|
236
|
+
|-----------|-----------|---------------|
|
|
237
|
+
| [Edge case] | [Visual treatment] | [What user should do] |
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
#### 6c. Aggregate Metrics (Lists, Dashboards)
|
|
241
|
+
|
|
242
|
+
**Infer applicability:** If screen type is List or Dashboard, ask:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
Do you want summary metrics at the top of this screen?
|
|
246
|
+
|
|
247
|
+
**Recommendation:** [Yes, helps user understand overall status / No, list is small enough to scan]
|
|
248
|
+
|
|
249
|
+
Options:
|
|
250
|
+
1. Yes, define summary metrics
|
|
251
|
+
2. No, not needed for this screen
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**If yes, propose:**
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
**Summary Metrics:**
|
|
258
|
+
|
|
259
|
+
| Metric | Calculation | Why It Matters |
|
|
260
|
+
|--------|-------------|----------------|
|
|
261
|
+
| [Label] | [Count/Sum/Avg of X] | [Decision it informs] |
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
### Step 7: Empty & Edge States
|
|
267
|
+
|
|
268
|
+
Briefly define how to handle edge cases.
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
**Empty States:**
|
|
272
|
+
|
|
273
|
+
| State | Message | Action |
|
|
274
|
+
|-------|---------|--------|
|
|
275
|
+
| No items exist | [Friendly message] | [CTA] |
|
|
276
|
+
| No filter results | [Message] | [Clear filters] |
|
|
277
|
+
|
|
278
|
+
**Edge Cases:**
|
|
279
|
+
|
|
280
|
+
| Scenario | Handling |
|
|
281
|
+
|----------|----------|
|
|
282
|
+
| Null values | [How to display] |
|
|
283
|
+
| Long text | [Truncation rule] |
|
|
284
|
+
| Missing image | [Fallback] |
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
### Step 8: MVP Summary & Confirmation
|
|
290
|
+
|
|
291
|
+
Before generating the final document, summarize scope:
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
## MVP Scope Summary
|
|
295
|
+
|
|
296
|
+
**P0 (Must Have):**
|
|
297
|
+
- [List of P0 data points]
|
|
298
|
+
- [List of P0 actions]
|
|
299
|
+
- [Core filters if defined]
|
|
300
|
+
|
|
301
|
+
**P1 (If Time Permits):**
|
|
302
|
+
- [List of P1 items]
|
|
303
|
+
|
|
304
|
+
**P2 (Post-MVP):**
|
|
305
|
+
- [List of P2 items]
|
|
306
|
+
|
|
307
|
+
**Deferred Decisions:**
|
|
308
|
+
- [Items explicitly deferred to design phase]
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
Does this accurately capture the MVP scope?
|
|
313
|
+
If yes, I'll generate the final specification document.
|
|
314
|
+
If no, what should be adjusted?
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
### Step 9: Generate Final Document
|
|
320
|
+
|
|
321
|
+
Once approved, generate a clean specification document with this structure:
|
|
322
|
+
|
|
323
|
+
```markdown
|
|
324
|
+
# Screen Spec: [Screen Name]
|
|
325
|
+
|
|
326
|
+
**Type:** [List | Detail | Form | Dashboard]
|
|
327
|
+
**Portal:** [Where it lives]
|
|
328
|
+
**Primary User:** [Role]
|
|
329
|
+
**Created:** [Date]
|
|
330
|
+
**Spec Reference:** [Link to product spec if applicable]
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## Jobs to Be Done
|
|
335
|
+
|
|
336
|
+
| # | Job Statement | Business Value |
|
|
337
|
+
| --- | ------------- | -------------- |
|
|
338
|
+
| 1 | ... | ... |
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Data Inventory
|
|
343
|
+
|
|
344
|
+
**Primary Object:** [Object name]
|
|
345
|
+
|
|
346
|
+
| Data Point | Source | Priority | Notes |
|
|
347
|
+
| ---------- | ------ | -------- | ----- |
|
|
348
|
+
| ... | ... | ... | ... |
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Actions
|
|
353
|
+
|
|
354
|
+
| Action | Trigger | Permission | Confirmation? | Feedback |
|
|
355
|
+
| ------ | ------- | ---------- | ------------- | -------- |
|
|
356
|
+
| ... | ... | ... | ... | ... |
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## Visual Hierarchy
|
|
361
|
+
|
|
362
|
+
| Level | Data Points | Rationale |
|
|
363
|
+
| --------- | ----------- | --------- |
|
|
364
|
+
| Primary | ... | ... |
|
|
365
|
+
| Secondary | ... | ... |
|
|
366
|
+
| Tertiary | ... | ... |
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
[CONDITIONAL SECTIONS - only include if defined]
|
|
371
|
+
|
|
372
|
+
## Filtering & Sorting
|
|
373
|
+
|
|
374
|
+
### Filters
|
|
375
|
+
|
|
376
|
+
| Filter | Type | Options |
|
|
377
|
+
| ------ | ---- | ------- |
|
|
378
|
+
| ... | ... | ... |
|
|
379
|
+
|
|
380
|
+
### Sorting
|
|
381
|
+
|
|
382
|
+
| Sort By | Default | Direction |
|
|
383
|
+
| ------- | ------- | --------- |
|
|
384
|
+
| ... | ... | ... |
|
|
385
|
+
|
|
386
|
+
### Quick Filters
|
|
387
|
+
|
|
388
|
+
| Preset | Filters Applied |
|
|
389
|
+
| ------ | --------------- |
|
|
390
|
+
| ... | ... |
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
## Status Indicators
|
|
395
|
+
|
|
396
|
+
| Status | Visual Treatment | Meaning |
|
|
397
|
+
| ------ | ---------------- | ------- |
|
|
398
|
+
| ... | ... | ... |
|
|
399
|
+
|
|
400
|
+
### Warnings
|
|
401
|
+
|
|
402
|
+
| Condition | Indicator | Action Needed |
|
|
403
|
+
| --------- | --------- | ------------- |
|
|
404
|
+
| ... | ... | ... |
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## Summary Metrics
|
|
409
|
+
|
|
410
|
+
| Metric | Calculation | Why It Matters |
|
|
411
|
+
| ------ | ----------- | -------------- |
|
|
412
|
+
| ... | ... | ... |
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
[END CONDITIONAL SECTIONS]
|
|
417
|
+
|
|
418
|
+
## Empty & Edge States
|
|
419
|
+
|
|
420
|
+
| State/Scenario | Handling |
|
|
421
|
+
| -------------- | ------------------------ |
|
|
422
|
+
| No items | [Message + CTA] |
|
|
423
|
+
| No results | [Message + Clear action] |
|
|
424
|
+
| Null values | [Display rule] |
|
|
425
|
+
| Long text | [Truncation rule] |
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## MVP Scope
|
|
430
|
+
|
|
431
|
+
### P0 (Must Have)
|
|
432
|
+
|
|
433
|
+
- [ ] [Item]
|
|
434
|
+
|
|
435
|
+
### P1 (Should Have)
|
|
436
|
+
|
|
437
|
+
- [ ] [Item]
|
|
438
|
+
|
|
439
|
+
### P2 (Post-MVP)
|
|
440
|
+
|
|
441
|
+
- [ ] [Item]
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## Open Questions for Design
|
|
446
|
+
|
|
447
|
+
- [Question 1]
|
|
448
|
+
- [Question 2]
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
**Save the file to:** `docs/design/[screen-name]-spec.md`
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
## Interaction Guidelines
|
|
456
|
+
|
|
457
|
+
1. **Always propose, then confirm** - Never assume. Present your recommendation with reasoning, then ask for approval.
|
|
458
|
+
|
|
459
|
+
2. **Keep momentum** - If user says "looks good" or similar, proceed to next step. Don't over-ask.
|
|
460
|
+
|
|
461
|
+
3. **Be concise in proposals** - Tables over paragraphs. Bullets over prose.
|
|
462
|
+
|
|
463
|
+
4. **Flag uncertainty** - If context is ambiguous, say so and offer options.
|
|
464
|
+
|
|
465
|
+
5. **Respect deferrals** - If user says "defer to design phase," don't push. Note it and move on.
|
|
466
|
+
|
|
467
|
+
6. **One step at a time** - Complete each step before moving to the next. Don't dump everything at once.
|
|
468
|
+
|
|
469
|
+
---
|
|
470
|
+
|
|
471
|
+
## Example Interaction
|
|
472
|
+
|
|
473
|
+
**User:** `/design:screen-spec` for the initiatives list page, see `docs/tasks/mvp-irm-platform.md`
|
|
474
|
+
|
|
475
|
+
**Claude:**
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
Based on the spec, I understand this is:
|
|
479
|
+
|
|
480
|
+
- **Screen:** Initiatives List
|
|
481
|
+
- **Type:** List
|
|
482
|
+
- **Portal:** Brand Admin Portal (app.flint.me / {brand}.flint.me)
|
|
483
|
+
- **Primary User:** Brand Marketing Manager / Brand Admin
|
|
484
|
+
|
|
485
|
+
Is this correct?
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
**User:** Yes
|
|
489
|
+
|
|
490
|
+
**Claude:**
|
|
491
|
+
|
|
492
|
+
```
|
|
493
|
+
Here are the jobs I believe users hire this screen to do:
|
|
494
|
+
|
|
495
|
+
| # | Job Statement | Business Value |
|
|
496
|
+
|---|---------------|----------------|
|
|
497
|
+
| 1 | Find initiatives needing attention so I can prioritize my work | Prevents missed deadlines and low participation |
|
|
498
|
+
| 2 | See participation stats so I can report to stakeholders | Enables data-driven conversations with clients |
|
|
499
|
+
| 3 | Launch new initiatives so I can activate my creator community | Core platform value - initiative distribution |
|
|
500
|
+
| 4 | Track content delivery so I can measure initiative ROI | Proves value of influencer investment |
|
|
501
|
+
|
|
502
|
+
Do these capture the core jobs? Would you add, remove, or modify any?
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
_[Continues through each step...]_
|