@documentation-robotics/cli 0.1.8 → 0.1.9
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 +18 -17
- package/dist/audit/nodes/ai/prompts.js +1 -0
- package/dist/audit/nodes/ai/prompts.js.map +2 -2
- package/dist/audit/relationships/ai/prompts.js +20 -29
- package/dist/audit/relationships/ai/prompts.js.map +2 -2
- package/dist/audit/relationships/analysis/gap-analyzer.js.map +1 -1
- package/dist/audit/relationships/analysis/layer-templates.js +36 -0
- package/dist/audit/relationships/analysis/layer-templates.js.map +2 -2
- package/dist/cli.js +8 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/reports.js +3 -3
- package/dist/commands/reports.js.map +1 -1
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/upgrade.js +1 -1
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/version.js +1 -1
- package/dist/core/layers.js +1 -0
- package/dist/core/layers.js.map +2 -2
- package/dist/core/migration-registry.js +59 -2
- package/dist/core/migration-registry.js.map +2 -2
- package/dist/core/model.js +3 -16
- package/dist/core/model.js.map +2 -2
- package/dist/core/spec-loader.js.map +1 -1
- package/dist/core/stats-collector.js +2 -0
- package/dist/core/stats-collector.js.map +2 -2
- package/dist/export/archimate-exporter.js.map +2 -2
- package/dist/export/json-schema-exporter.js.map +1 -1
- package/dist/export/markdown-exporter.js.map +1 -1
- package/dist/export/markdown-utils.js +1 -0
- package/dist/export/markdown-utils.js.map +2 -2
- package/dist/export/mermaid-markdown-exporter.js.map +1 -1
- package/dist/export/openapi-exporter.js.map +1 -1
- package/dist/export/plantuml-exporter.js.map +1 -1
- package/dist/export/report-formatters.js +2 -2
- package/dist/export/report-formatters.js.map +1 -1
- package/dist/export/types.js +1 -0
- package/dist/export/types.js.map +2 -2
- package/dist/generated/layer-registry.js +44 -31
- package/dist/generated/layer-registry.js.map +2 -2
- package/dist/generated/layer-types.js +1 -1
- package/dist/generated/layer-types.js.map +2 -2
- package/dist/generated/node-types.js +45 -0
- package/dist/generated/node-types.js.map +2 -2
- package/dist/generated/relationship-index.js +201 -19
- package/dist/generated/relationship-index.js.map +2 -2
- package/dist/import/archimate-importer.js.map +1 -1
- package/dist/import/openapi-importer.js.map +1 -1
- package/dist/integrations/claude_code/agents/dr-advisor.md +14 -13
- package/dist/integrations/claude_code/agents/dr-extractor.md +2 -2
- package/dist/integrations/claude_code/commands/dr-info.md +1 -1
- package/dist/integrations/claude_code/commands/dr-init.md +3 -3
- package/dist/integrations/claude_code/commands/dr-map.md +2 -2
- package/dist/integrations/claude_code/commands/dr-model.md +1 -1
- package/dist/integrations/claude_code/commands/dr-relate.md +14 -4
- package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +3 -3
- package/dist/integrations/claude_code/docs/QUICK_START.md +1 -1
- package/dist/integrations/claude_code/docs/README.md +2 -2
- package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +2 -2
- package/dist/integrations/claude_code/skills/dr_03_product_layer/SKILL.md +679 -0
- package/dist/integrations/claude_code/skills/{dr_08_dataset_layer → dr_09_dataset_layer}/SKILL.md +1 -1
- package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +2 -2
- package/dist/integrations/github_copilot/agents/dr-advisor.md +14 -13
- package/dist/integrations/github_copilot/agents/dr-architect.md +15 -14
- package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +2 -2
- package/dist/integrations/github_copilot/skills/dr_03_product_layer/SKILL.md +253 -0
- package/dist/reports/model-report-orchestrator.js +3 -3
- package/dist/reports/model-report-orchestrator.js.map +1 -1
- package/dist/schemas/bundled/analyzers/cbm.json +2 -2
- package/dist/schemas/bundled/analyzers/manifest.json +2 -2
- package/dist/schemas/bundled/api.json +3 -3
- package/dist/schemas/bundled/apm.json +3 -3
- package/dist/schemas/bundled/application.json +3 -3
- package/dist/schemas/bundled/base.json +29 -1
- package/dist/schemas/bundled/business.json +1 -1
- package/dist/schemas/bundled/data-model.json +3 -3
- package/dist/schemas/bundled/data-store.json +3 -3
- package/dist/schemas/bundled/manifest.json +20 -13
- package/dist/schemas/bundled/motivation.json +1 -1
- package/dist/schemas/bundled/navigation.json +3 -3
- package/dist/schemas/bundled/product.json +469 -0
- package/dist/schemas/bundled/security.json +3 -3
- package/dist/schemas/bundled/technology.json +3 -3
- package/dist/schemas/bundled/testing.json +3 -3
- package/dist/schemas/bundled/ux.json +3 -3
- package/dist/server/server.js +4 -15
- package/dist/server/server.js.map +2 -2
- package/dist/telemetry/index.js +1 -1
- package/dist/utils/spec-installer.js +2 -2
- package/dist/utils/spec-installer.js.map +1 -1
- package/dist/utils/spec-version.js +1 -1
- package/dist/utils/spec-version.js.map +1 -1
- package/dist/viewer/README.md +6 -6
- package/dist/viewer/assets/main-D114QwJo.css +1 -0
- package/dist/viewer/assets/main-DyuokeQj.js +81 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/manifest.json +10 -10
- package/dist/viewer/version.json +1 -1
- package/package.json +1 -1
- package/dist/viewer/assets/main-CY0Xufuj.css +0 -1
- package/dist/viewer/assets/main-DtgErnwF.js +0 -81
- /package/dist/integrations/claude_code/skills/{dr_03_security_layer → dr_04_security_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_04_application_layer → dr_05_application_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_05_technology_layer → dr_06_technology_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_06_api_layer → dr_07_api_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_07_data_model_layer → dr_08_data_model_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_09_ux_layer → dr_10_ux_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_10_navigation_layer → dr_11_navigation_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_11_apm_layer → dr_12_apm_layer}/SKILL.md +0 -0
- /package/dist/integrations/claude_code/skills/{dr_12_testing_layer → dr_13_testing_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_03_security_layer → dr_04_security_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_04_application_layer → dr_05_application_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_05_technology_layer → dr_06_technology_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_06_api_layer → dr_07_api_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_07_data_model_layer → dr_08_data_model_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_08_dataset_layer → dr_09_dataset_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_09_ux_layer → dr_10_ux_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_10_navigation_layer → dr_11_navigation_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_11_apm_layer → dr_12_apm_layer}/SKILL.md +0 -0
- /package/dist/integrations/github_copilot/skills/{dr_12_testing_layer → dr_13_testing_layer}/SKILL.md +0 -0
|
@@ -0,0 +1,679 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: LAYER_03_PRODUCT
|
|
3
|
+
description: Expert knowledge for Product Layer modeling in Documentation Robotics
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
"product",
|
|
7
|
+
"feature",
|
|
8
|
+
"persona",
|
|
9
|
+
"capability",
|
|
10
|
+
"milestone",
|
|
11
|
+
"user workflow",
|
|
12
|
+
"product roadmap",
|
|
13
|
+
"product planning",
|
|
14
|
+
"product management"
|
|
15
|
+
]
|
|
16
|
+
version: 0.8.4
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Product Layer Skill
|
|
20
|
+
|
|
21
|
+
**Layer Number:** 03
|
|
22
|
+
**Specification:** Metadata Model Spec v0.8.4
|
|
23
|
+
**Purpose:** Defines product personas, capabilities, features, user workflows, and milestones that represent what the product does and for whom.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Layer Overview
|
|
28
|
+
|
|
29
|
+
The Product Layer captures the **product management dimension** of architecture:
|
|
30
|
+
|
|
31
|
+
- **WHO** - Personas and target user archetypes
|
|
32
|
+
- **WHAT** - Capabilities and features the product delivers
|
|
33
|
+
- **HOW** - User workflows describing how users accomplish goals
|
|
34
|
+
- **WHEN** - Milestones representing delivery roadmap
|
|
35
|
+
- **WHY** - Linkage to business goals and requirements
|
|
36
|
+
|
|
37
|
+
This layer uses a **custom specification** designed for product planning, prioritization, and user-centric modeling — distinct from Business layer (organization-internal processes) and UX layer (UI/interface design).
|
|
38
|
+
|
|
39
|
+
**Key Innovation:** Bridges strategic intent (Motivation layer) and organizational structure (Business layer) with externally-facing product value planning and delivery.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Entity Types
|
|
44
|
+
|
|
45
|
+
> **CLI Introspection:** Run `dr schema types product` for the authoritative, always-current list of node types.
|
|
46
|
+
> Run `dr schema node <type-id>` for full attribute details on any type.
|
|
47
|
+
|
|
48
|
+
| Entity Type | Description | Key Attributes |
|
|
49
|
+
| ---------------- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
50
|
+
| **Persona** | User archetype with shared goals, behaviors, pain points | category (primary, secondary, served, negative), proficiency (novice, intermediate, advanced, expert) |
|
|
51
|
+
| **Capability** | Product ability independent of implementation | status (proposed, planned, developing, delivered, deprecated), properties |
|
|
52
|
+
| **Feature** | User-visible unit of functionality delivering capabilities | priority (critical, high, medium, low, informational), status, size (xs, s, m, l, xl) |
|
|
53
|
+
| **UserWorkflow** | Sequence of user-facing steps to accomplish a goal | complexity (simple, moderate, complex), properties |
|
|
54
|
+
| **Milestone** | Time-bound delivery target grouping features/capabilities | status (proposed, planned, active, completed, cancelled) |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Intra-Layer Relationships
|
|
59
|
+
|
|
60
|
+
The Product layer models product structure and planning via these core relationships:
|
|
61
|
+
|
|
62
|
+
| Source | Predicate | Destination | Cardinality | Rationale |
|
|
63
|
+
| ---------------------- | --------------- | -------------------- | ------------ | ---------------------------------------------- |
|
|
64
|
+
| `product.capability` | `aggregates` | `product.capability` | many-to-many | Capability decomposition into sub-capabilities |
|
|
65
|
+
| `product.feature` | `realizes` | `product.capability` | many-to-many | Feature delivers a capability |
|
|
66
|
+
| `product.feature` | `serves` | `product.persona` | many-to-many | Feature targets a persona |
|
|
67
|
+
| `product.feature` | `scheduled-for` | `product.milestone` | many-to-many | Feature assigned to delivery milestone |
|
|
68
|
+
| `product.capability` | `scheduled-for` | `product.milestone` | many-to-many | Capability assigned to milestone |
|
|
69
|
+
| `product.userworkflow` | `serves` | `product.persona` | many-to-many | Workflow designed for a persona |
|
|
70
|
+
| `product.userworkflow` | `composes` | `product.feature` | many-to-many | Workflow composed of features |
|
|
71
|
+
| `product.milestone` | `precedes` | `product.milestone` | many-to-many | Milestone sequencing |
|
|
72
|
+
| `product.feature` | `depends-on` | `product.feature` | many-to-many | Feature dependency |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Cross-Layer References
|
|
77
|
+
|
|
78
|
+
### Outgoing References (Product → Motivation)
|
|
79
|
+
|
|
80
|
+
Product layer references Motivation layer to justify product decisions with strategic goals:
|
|
81
|
+
|
|
82
|
+
| Predicate | Source | Target | Rationale |
|
|
83
|
+
| ---------------- | ------------ | ----------- | -------------------------------------------- |
|
|
84
|
+
| `realizes` | Persona | Stakeholder | Persona concretizes stakeholder archetypes |
|
|
85
|
+
| `satisfies` | Feature | Requirement | Feature satisfies business/user requirements |
|
|
86
|
+
| `supports` | Capability | Goal | Capability supports strategic goals |
|
|
87
|
+
| `delivers` | UserWorkflow | Outcome | Workflow delivers business outcomes |
|
|
88
|
+
| `delivers-value` | Feature | Value | Feature delivers business value |
|
|
89
|
+
| `fulfills` | Capability | Requirement | Capability fulfills requirements |
|
|
90
|
+
|
|
91
|
+
### Outgoing References (Product → Business)
|
|
92
|
+
|
|
93
|
+
Product layer references Business layer to align with organizational services and roles:
|
|
94
|
+
|
|
95
|
+
| Predicate | Source | Target | Rationale |
|
|
96
|
+
| ------------ | ------------ | ---------------- | --------------------------------------- |
|
|
97
|
+
| `realizes` | Feature | BusinessService | Feature realizes a business service |
|
|
98
|
+
| `aggregates` | UserWorkflow | BusinessProcess | Workflow aggregates business processes |
|
|
99
|
+
| `realizes` | Capability | BusinessFunction | Capability realizes a business function |
|
|
100
|
+
| `serves` | Persona | BusinessRole | Persona is served by a business role |
|
|
101
|
+
|
|
102
|
+
### Incoming References (Lower Layers → Product)
|
|
103
|
+
|
|
104
|
+
Higher layers (Security through Testing) reference Product layer for feature-level concerns:
|
|
105
|
+
|
|
106
|
+
- Application → Feature: Application components implement features
|
|
107
|
+
- UX → Feature: UI views render features
|
|
108
|
+
- Testing → Feature: Test cases validate features
|
|
109
|
+
- API → Feature: API operations expose features
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Persona Definition
|
|
114
|
+
|
|
115
|
+
A Persona is a **user archetype** representing a class of users with shared goals, behaviors, and pain points.
|
|
116
|
+
|
|
117
|
+
**Distinction from Stakeholder (Motivation layer):**
|
|
118
|
+
|
|
119
|
+
- **Stakeholder** - Organizational relationship (internal/external/regulatory/customer)
|
|
120
|
+
- **Persona** - Behavioral archetype with usage patterns and proficiency levels
|
|
121
|
+
|
|
122
|
+
**Categories:**
|
|
123
|
+
|
|
124
|
+
- **Primary** - Core user the product is designed for
|
|
125
|
+
- **Secondary** - Important but not primary user
|
|
126
|
+
- **Served** - User who benefits indirectly
|
|
127
|
+
- **Negative** - User archetype the product explicitly doesn't serve
|
|
128
|
+
|
|
129
|
+
**Proficiency Levels:**
|
|
130
|
+
|
|
131
|
+
- **Novice** - First-time users, minimal technical background
|
|
132
|
+
- **Intermediate** - Recurring users with some experience
|
|
133
|
+
- **Advanced** - Power users with domain expertise
|
|
134
|
+
- **Expert** - Specialists who push product limits
|
|
135
|
+
|
|
136
|
+
**Example:**
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
Persona: "Sales Representative"
|
|
140
|
+
├── category: primary
|
|
141
|
+
├── proficiency: intermediate
|
|
142
|
+
├── realizes → Stakeholder: "Sales Team"
|
|
143
|
+
├── served-by → BusinessRole: "Sales Manager"
|
|
144
|
+
└── pain-points:
|
|
145
|
+
- Time-consuming manual data entry
|
|
146
|
+
- Limited visibility into customer interactions
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Capability Definition
|
|
152
|
+
|
|
153
|
+
A Capability is an **ability the product possesses**, independent of how it's implemented.
|
|
154
|
+
|
|
155
|
+
**Distinction from BusinessFunction (Business layer):**
|
|
156
|
+
|
|
157
|
+
- **BusinessFunction** - Internal organizational grouping of behavior
|
|
158
|
+
- **Capability** - Externally-facing product ability
|
|
159
|
+
|
|
160
|
+
**Lifecycle Statuses:**
|
|
161
|
+
|
|
162
|
+
- **Proposed** - Idea under evaluation
|
|
163
|
+
- **Planned** - Scheduled for development
|
|
164
|
+
- **Developing** - Currently being built
|
|
165
|
+
- **Delivered** - Implemented and released
|
|
166
|
+
- **Deprecated** - No longer supported
|
|
167
|
+
|
|
168
|
+
**Decomposition:**
|
|
169
|
+
Capabilities decompose into sub-capabilities via `aggregates` relationships for complex capabilities.
|
|
170
|
+
|
|
171
|
+
**Example:**
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
Capability: "Customer Data Management"
|
|
175
|
+
├── status: developing
|
|
176
|
+
├── aggregates → Capability: "Customer CRUD"
|
|
177
|
+
├── aggregates → Capability: "Customer Segmentation"
|
|
178
|
+
├── realizes → BusinessFunction: "Customer Lifecycle Management"
|
|
179
|
+
└── supports → Goal: "Improve Customer Retention"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Feature Definition
|
|
185
|
+
|
|
186
|
+
A Feature is a **user-visible unit of functionality** that delivers one or more capabilities and is the primary unit of product planning.
|
|
187
|
+
|
|
188
|
+
**Distinction from Requirement (Motivation layer):**
|
|
189
|
+
|
|
190
|
+
- **Requirement** - What system _must_ do (functional/non-functional/regulatory)
|
|
191
|
+
- **Feature** - Planned unit of value with prioritization, sizing, and lifecycle
|
|
192
|
+
|
|
193
|
+
**Priority Levels:**
|
|
194
|
+
|
|
195
|
+
- **Critical** - Product cannot function without it (v1 release blocker)
|
|
196
|
+
- **High** - Core functionality users expect
|
|
197
|
+
- **Medium** - Valuable enhancement
|
|
198
|
+
- **Low** - Nice-to-have optimization
|
|
199
|
+
- **Informational** - Documentation or informational
|
|
200
|
+
|
|
201
|
+
**Sizing Estimates:**
|
|
202
|
+
|
|
203
|
+
- **XS** - < 1 day of effort
|
|
204
|
+
- **S** - 1–3 days
|
|
205
|
+
- **M** - 1–2 weeks
|
|
206
|
+
- **L** - 2–4 weeks
|
|
207
|
+
- **XL** - > 4 weeks
|
|
208
|
+
|
|
209
|
+
**Example:**
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
Feature: "Two-Factor Authentication"
|
|
213
|
+
├── priority: high
|
|
214
|
+
├── status: developing
|
|
215
|
+
├── size: m
|
|
216
|
+
├── realizes → Capability: "Account Security"
|
|
217
|
+
├── serves → Persona: "Security-Conscious User"
|
|
218
|
+
├── satisfies → Requirement: "Support TOTP and SMS 2FA"
|
|
219
|
+
└── scheduled-for → Milestone: "Q3 Security Release"
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## User Workflow Definition
|
|
225
|
+
|
|
226
|
+
A UserWorkflow is a **sequence of user-facing steps** through the product to accomplish a goal.
|
|
227
|
+
|
|
228
|
+
**Distinction from BusinessProcess (Business layer) and ExperienceState (UX layer):**
|
|
229
|
+
|
|
230
|
+
- **BusinessProcess** - Organization-internal process (BPMN, ArchiMate)
|
|
231
|
+
- **UserWorkflow** - User-centric journey through product features
|
|
232
|
+
- **ExperienceState** - UI/interface-level state transitions
|
|
233
|
+
|
|
234
|
+
**Complexity Assessment:**
|
|
235
|
+
|
|
236
|
+
- **Simple** - Linear flow, 2–3 steps, minimal decision points
|
|
237
|
+
- **Moderate** - Multiple branches, 5–10 steps, some conditional logic
|
|
238
|
+
- **Complex** - Many decision points, 10+ steps, cross-system integration
|
|
239
|
+
|
|
240
|
+
**Example:**
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
UserWorkflow: "Checkout Flow"
|
|
244
|
+
├── complexity: moderate
|
|
245
|
+
├── serves → Persona: "Online Shopper"
|
|
246
|
+
├── composes → Feature: "Shopping Cart"
|
|
247
|
+
├── composes → Feature: "Payment Processing"
|
|
248
|
+
├── composes → Feature: "Order Confirmation"
|
|
249
|
+
├── delivers → Outcome: "Completed Purchase"
|
|
250
|
+
└── aggregates → BusinessProcess: "Order Fulfillment"
|
|
251
|
+
|
|
252
|
+
Steps:
|
|
253
|
+
1. Add item to cart (Feature: Shopping Cart)
|
|
254
|
+
2. Review cart and shipping (Feature: Checkout)
|
|
255
|
+
3. Enter payment details (Feature: Payment Processing)
|
|
256
|
+
4. Confirm order (Feature: Order Confirmation)
|
|
257
|
+
5. Receive confirmation email
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Milestone Definition
|
|
263
|
+
|
|
264
|
+
A Milestone is a **time-bound delivery target** grouping features or capabilities.
|
|
265
|
+
|
|
266
|
+
**Lifecycle Statuses:**
|
|
267
|
+
|
|
268
|
+
- **Proposed** - Candidate milestone under evaluation
|
|
269
|
+
- **Planned** - Scheduled for planning and estimation
|
|
270
|
+
- **Active** - Development underway
|
|
271
|
+
- **Completed** - Released to users
|
|
272
|
+
- **Cancelled** - Postponed or deprioritized
|
|
273
|
+
|
|
274
|
+
**Milestone Sequencing:**
|
|
275
|
+
Milestones can precede/follow other milestones for roadmap planning.
|
|
276
|
+
|
|
277
|
+
**Example:**
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
Milestone: "Q3 2024 Release"
|
|
281
|
+
├── status: active
|
|
282
|
+
├── scheduled-features:
|
|
283
|
+
│ ├── Feature: "Two-Factor Authentication"
|
|
284
|
+
│ ├── Feature: "Audit Logging"
|
|
285
|
+
│ └── Feature: "API Rate Limiting"
|
|
286
|
+
├── scheduled-capabilities:
|
|
287
|
+
│ ├── Capability: "Account Security"
|
|
288
|
+
│ └── Capability: "System Reliability"
|
|
289
|
+
├── precedes → Milestone: "Q4 2024 Release"
|
|
290
|
+
└── includes → Outcome: "Improved User Trust"
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Codebase Detection Patterns
|
|
296
|
+
|
|
297
|
+
### Pattern 1: Feature Flags
|
|
298
|
+
|
|
299
|
+
```python
|
|
300
|
+
# Feature flag indicating incomplete feature
|
|
301
|
+
if feature_flags.get("two_factor_auth_enabled"):
|
|
302
|
+
user.enable_2fa()
|
|
303
|
+
|
|
304
|
+
# Feature flag with rollout percentage
|
|
305
|
+
if feature_flags.is_enabled("new_checkout", rollout_percentage=10):
|
|
306
|
+
return new_checkout_flow()
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**Maps to:**
|
|
310
|
+
|
|
311
|
+
- Feature: "Two-Factor Authentication" (status: developing)
|
|
312
|
+
- Feature: "New Checkout Flow" (status: developing, rollout: 10%)
|
|
313
|
+
|
|
314
|
+
### Pattern 2: Product Roadmap Comment
|
|
315
|
+
|
|
316
|
+
```python
|
|
317
|
+
# TODO: Implement user segmentation for Q3 milestone
|
|
318
|
+
# Feature: "User Segmentation" (priority: high)
|
|
319
|
+
# Capability: "Customer Segmentation"
|
|
320
|
+
# Milestone: "Q3 2024 Release"
|
|
321
|
+
def segment_users_by_behavior():
|
|
322
|
+
pass
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
**Maps to:**
|
|
326
|
+
|
|
327
|
+
- Feature: "User Segmentation" (priority: high)
|
|
328
|
+
- Capability: "Customer Segmentation"
|
|
329
|
+
- Milestone: "Q3 2024 Release"
|
|
330
|
+
|
|
331
|
+
### Pattern 3: User Role / Persona References
|
|
332
|
+
|
|
333
|
+
```typescript
|
|
334
|
+
// Different workflows for different user personas
|
|
335
|
+
const workflowByPersona = {
|
|
336
|
+
basicUser: {
|
|
337
|
+
steps: ["login", "browse", "add-to-cart", "checkout"],
|
|
338
|
+
complexity: "simple"
|
|
339
|
+
},
|
|
340
|
+
powerUser: {
|
|
341
|
+
steps: [
|
|
342
|
+
"login",
|
|
343
|
+
"advanced-search",
|
|
344
|
+
"bulk-compare",
|
|
345
|
+
"batch-order",
|
|
346
|
+
"checkout"
|
|
347
|
+
],
|
|
348
|
+
complexity: "complex"
|
|
349
|
+
},
|
|
350
|
+
admin: {
|
|
351
|
+
steps: ["login", "access-dashboard", "manage-users", "view-analytics"],
|
|
352
|
+
complexity: "complex"
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
**Maps to:**
|
|
358
|
+
|
|
359
|
+
- Persona: "Basic User" (proficiency: novice)
|
|
360
|
+
- Persona: "Power User" (proficiency: advanced)
|
|
361
|
+
- Persona: "Admin" (proficiency: expert)
|
|
362
|
+
- UserWorkflow: "Basic Checkout Flow" (complexity: simple) → serves → Persona: "Basic User"
|
|
363
|
+
- UserWorkflow: "Power User Ordering" (complexity: complex) → serves → Persona: "Power User"
|
|
364
|
+
|
|
365
|
+
### Pattern 4: Capability Requirements
|
|
366
|
+
|
|
367
|
+
```yaml
|
|
368
|
+
# Product capability definition
|
|
369
|
+
capabilities:
|
|
370
|
+
authentication:
|
|
371
|
+
- password-based
|
|
372
|
+
- oauth2
|
|
373
|
+
- saml
|
|
374
|
+
- multi-factor-auth
|
|
375
|
+
reporting:
|
|
376
|
+
- real-time-dashboards
|
|
377
|
+
- scheduled-reports
|
|
378
|
+
- custom-queries
|
|
379
|
+
- data-export
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
**Maps to:**
|
|
383
|
+
|
|
384
|
+
- Capability: "Authentication" → aggregates → [Password-Based Auth, OAuth2, SAML, Multi-Factor Auth]
|
|
385
|
+
- Capability: "Reporting" → aggregates → [Real-Time Dashboards, Scheduled Reports, Custom Queries, Data Export]
|
|
386
|
+
|
|
387
|
+
### Pattern 5: Persona Attributes in Code
|
|
388
|
+
|
|
389
|
+
```python
|
|
390
|
+
class UserProfile:
|
|
391
|
+
"""User archetype modeling"""
|
|
392
|
+
def __init__(self, persona_type: str, proficiency: str):
|
|
393
|
+
self.persona_type = persona_type # e.g., "power-user", "casual-user"
|
|
394
|
+
self.proficiency = proficiency # e.g., "advanced", "novice"
|
|
395
|
+
self.pain_points = []
|
|
396
|
+
self.goals = []
|
|
397
|
+
|
|
398
|
+
def can_access_feature(self, feature: str) -> bool:
|
|
399
|
+
# Persona determines accessible features
|
|
400
|
+
if self.persona_type == "power-user":
|
|
401
|
+
return True
|
|
402
|
+
return feature in self.accessible_features
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
**Maps to:**
|
|
406
|
+
|
|
407
|
+
- Persona: "Power User" (proficiency: advanced) → serves → Feature collection
|
|
408
|
+
- Persona: "Casual User" (proficiency: novice) → serves → Limited feature set
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## Modeling Workflow
|
|
413
|
+
|
|
414
|
+
### Step 1: Define Target Personas
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
# Identify primary personas
|
|
418
|
+
dr add product persona "power-user" \
|
|
419
|
+
--description "Expert user who uses all advanced features" \
|
|
420
|
+
--attributes '{"category":"primary","proficiency":"advanced"}'
|
|
421
|
+
|
|
422
|
+
dr add product persona "casual-user" \
|
|
423
|
+
--description "Occasional user focused on core features" \
|
|
424
|
+
--attributes '{"category":"primary","proficiency":"novice"}'
|
|
425
|
+
|
|
426
|
+
dr add product persona "admin" \
|
|
427
|
+
--description "System administrator managing users and settings" \
|
|
428
|
+
--attributes '{"category":"primary","proficiency":"expert"}'
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### Step 2: Define Product Capabilities
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
# Product-level abilities (outcome-focused)
|
|
435
|
+
dr add product capability "user-authentication" \
|
|
436
|
+
--description "Authenticate and authorize users" \
|
|
437
|
+
--attributes '{"status":"planned"}'
|
|
438
|
+
|
|
439
|
+
dr add product capability "data-export" \
|
|
440
|
+
--description "Export user data in multiple formats" \
|
|
441
|
+
--attributes '{"status":"proposed"}'
|
|
442
|
+
|
|
443
|
+
dr add product capability "real-time-collaboration" \
|
|
444
|
+
--description "Enable multiple users to collaborate simultaneously" \
|
|
445
|
+
--attributes '{"status":"developing"}'
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
### Step 3: Define Features
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
# User-visible features (deliverable units)
|
|
452
|
+
dr add product feature "multi-factor-authentication" \
|
|
453
|
+
--description "Two-factor auth via TOTP or SMS" \
|
|
454
|
+
--attributes '{"priority":"high","size":"m","status":"developing"}'
|
|
455
|
+
|
|
456
|
+
dr add product feature "csv-export" \
|
|
457
|
+
--description "Export data to CSV format" \
|
|
458
|
+
--attributes '{"priority":"medium","size":"s","status":"planned"}'
|
|
459
|
+
|
|
460
|
+
dr add product feature "live-cursor-tracking" \
|
|
461
|
+
--description "See other users' cursor positions in real-time" \
|
|
462
|
+
--attributes '{"priority":"high","size":"l","status":"proposed"}'
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
### Step 4: Map Features to Capabilities
|
|
466
|
+
|
|
467
|
+
```bash
|
|
468
|
+
# Features realize capabilities
|
|
469
|
+
dr relationship add product.feature.multi-factor-authentication \
|
|
470
|
+
product.capability.user-authentication --predicate realizes
|
|
471
|
+
|
|
472
|
+
dr relationship add product.feature.csv-export \
|
|
473
|
+
product.capability.data-export --predicate realizes
|
|
474
|
+
|
|
475
|
+
dr relationship add product.feature.live-cursor-tracking \
|
|
476
|
+
product.capability.real-time-collaboration --predicate realizes
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
### Step 5: Map Features to Personas
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
# Features serve personas
|
|
483
|
+
dr relationship add product.feature.multi-factor-authentication \
|
|
484
|
+
product.persona.security-conscious-user --predicate serves
|
|
485
|
+
|
|
486
|
+
dr relationship add product.feature.live-cursor-tracking \
|
|
487
|
+
product.persona.power-user --predicate serves
|
|
488
|
+
|
|
489
|
+
dr relationship add product.feature.csv-export \
|
|
490
|
+
product.persona.data-analyst --predicate serves
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### Step 6: Define User Workflows
|
|
494
|
+
|
|
495
|
+
```bash
|
|
496
|
+
# User journeys through product
|
|
497
|
+
dr add product user-workflow "basic-authentication-flow" \
|
|
498
|
+
--description "Standard login and session management" \
|
|
499
|
+
--attributes '{"complexity":"simple"}'
|
|
500
|
+
|
|
501
|
+
dr add product user-workflow "secure-authentication-flow" \
|
|
502
|
+
--description "Multi-factor authentication workflow" \
|
|
503
|
+
--attributes '{"complexity":"moderate"}'
|
|
504
|
+
|
|
505
|
+
dr add product user-workflow "collaboration-session" \
|
|
506
|
+
--description "Join and participate in real-time collaboration" \
|
|
507
|
+
--attributes '{"complexity":"complex"}'
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### Step 7: Map Workflows to Features
|
|
511
|
+
|
|
512
|
+
```bash
|
|
513
|
+
# Workflows compose features
|
|
514
|
+
dr relationship add product.user-workflow.secure-authentication-flow \
|
|
515
|
+
product.feature.multi-factor-authentication --predicate composes
|
|
516
|
+
|
|
517
|
+
dr relationship add product.user-workflow.collaboration-session \
|
|
518
|
+
product.feature.live-cursor-tracking --predicate composes
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
### Step 8: Define Milestones
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
# Delivery roadmap
|
|
525
|
+
dr add product milestone "q3-security-release" \
|
|
526
|
+
--description "Security-focused quarterly release" \
|
|
527
|
+
--attributes '{"status":"planned"}'
|
|
528
|
+
|
|
529
|
+
dr add product milestone "q4-collaboration-release" \
|
|
530
|
+
--description "Real-time collaboration release" \
|
|
531
|
+
--attributes '{"status":"proposed"}'
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
### Step 9: Schedule Features to Milestones
|
|
535
|
+
|
|
536
|
+
```bash
|
|
537
|
+
# Assign features to delivery targets
|
|
538
|
+
dr relationship add product.feature.multi-factor-authentication \
|
|
539
|
+
product.milestone.q3-security-release --predicate scheduled-for
|
|
540
|
+
|
|
541
|
+
dr relationship add product.feature.live-cursor-tracking \
|
|
542
|
+
product.milestone.q4-collaboration-release --predicate scheduled-for
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
### Step 10: Cross-Layer Integration
|
|
546
|
+
|
|
547
|
+
```bash
|
|
548
|
+
# Link to Motivation layer
|
|
549
|
+
dr relationship add product.feature.multi-factor-authentication \
|
|
550
|
+
motivation.requirement.user-account-security --predicate satisfies
|
|
551
|
+
|
|
552
|
+
dr relationship add product.capability.user-authentication \
|
|
553
|
+
motivation.goal.customer-trust --predicate supports
|
|
554
|
+
|
|
555
|
+
# Link to Business layer
|
|
556
|
+
dr relationship add product.feature.csv-export \
|
|
557
|
+
business.business-service.data-analytics --predicate realizes
|
|
558
|
+
|
|
559
|
+
dr relationship add product.persona.power-user \
|
|
560
|
+
business.business-role.data-analyst --predicate serves
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
|
|
565
|
+
## Modeling Patterns
|
|
566
|
+
|
|
567
|
+
### Pattern 1: Feature Hierarchy
|
|
568
|
+
|
|
569
|
+
```
|
|
570
|
+
Capability: "Order Management"
|
|
571
|
+
├── aggregates → Capability: "Order Placement"
|
|
572
|
+
│ └── realizes → Feature: "Shopping Cart"
|
|
573
|
+
├── aggregates → Capability: "Order Tracking"
|
|
574
|
+
│ └── realizes → Feature: "Order History"
|
|
575
|
+
└── aggregates → Capability: "Order Fulfillment"
|
|
576
|
+
└── realizes → Feature: "Shipment Tracking"
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
### Pattern 2: Persona-Driven Features
|
|
580
|
+
|
|
581
|
+
```
|
|
582
|
+
Persona: "Enterprise Administrator"
|
|
583
|
+
├── proficiency: expert
|
|
584
|
+
├── served-by → Feature: "Bulk User Import"
|
|
585
|
+
├── served-by → Feature: "Advanced Reporting"
|
|
586
|
+
├── served-by → Feature: "API Key Management"
|
|
587
|
+
└── serves → BusinessRole: "IT Operations"
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
### Pattern 3: Milestone Roadmap
|
|
591
|
+
|
|
592
|
+
```
|
|
593
|
+
Milestone: "Q1 2025 MVP"
|
|
594
|
+
├── scheduled-features:
|
|
595
|
+
│ ├── Feature: "User Authentication"
|
|
596
|
+
│ ├── Feature: "Basic Search"
|
|
597
|
+
│ └── Feature: "Profile Management"
|
|
598
|
+
├── precedes → Milestone: "Q2 2025 Enhancement"
|
|
599
|
+
│ ├── scheduled-features:
|
|
600
|
+
│ │ ├── Feature: "Advanced Search"
|
|
601
|
+
│ │ └── Feature: "Real-Time Notifications"
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
### Pattern 4: Workflow with Multiple Features
|
|
605
|
+
|
|
606
|
+
```
|
|
607
|
+
UserWorkflow: "Power User Data Analysis"
|
|
608
|
+
├── complexity: complex
|
|
609
|
+
├── serves → Persona: "Data Analyst"
|
|
610
|
+
├── composes → Feature: "Advanced Search"
|
|
611
|
+
├── composes → Feature: "Custom Dashboards"
|
|
612
|
+
├── composes → Feature: "CSV Export"
|
|
613
|
+
├── composes → Feature: "Scheduled Reports"
|
|
614
|
+
└── aggregates → BusinessProcess: "Business Intelligence"
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
---
|
|
618
|
+
|
|
619
|
+
## Best Practices
|
|
620
|
+
|
|
621
|
+
1. **Start with Personas, End with Workflows** - Understand users first, model journeys last
|
|
622
|
+
2. **Features Deliver Capabilities** - Every feature should map to at least one capability
|
|
623
|
+
3. **Capabilities Support Goals** - Link capabilities to motivation layer goals for justification
|
|
624
|
+
4. **Milestones Sequence Logically** - Plan dependencies and prerequisites
|
|
625
|
+
5. **Workflows are User-Centric** - Name them from the user's perspective, not system perspective
|
|
626
|
+
6. **Complexity Reflects User Experience** - Complex workflows should have features to manage that complexity
|
|
627
|
+
7. **Prioritization Reflects Business Value** - Higher priority features deliver more strategic value
|
|
628
|
+
8. **Personas Evolve** - As product matures, update persona proficiency and categories
|
|
629
|
+
9. **Features Have Clear Status** - Track development progress from proposed to delivered
|
|
630
|
+
10. **Link to Business Layer** - Map features to business services to show value realization
|
|
631
|
+
|
|
632
|
+
---
|
|
633
|
+
|
|
634
|
+
## Validation Tips
|
|
635
|
+
|
|
636
|
+
| Issue | Cause | Fix |
|
|
637
|
+
| ------------------- | ------------------------------------- | ------------------------------------- |
|
|
638
|
+
| Orphaned Feature | Feature doesn't realize a capability | Add capability or remove feature |
|
|
639
|
+
| Unused Persona | Persona serves no features | Add features for persona or remove |
|
|
640
|
+
| Unmapped Capability | Capability doesn't support a goal | Link to Motivation goal or remove |
|
|
641
|
+
| Incomplete Workflow | Workflow has no features | Add feature composition or simplify |
|
|
642
|
+
| Future Milestone | Milestone has no scheduled features | Add features or mark as candidate |
|
|
643
|
+
| Vague Persona | Persona lacks proficiency or category | Define proficiency level and category |
|
|
644
|
+
| Unlinked Feature | Feature doesn't satisfy a requirement | Add requirement link or remove |
|
|
645
|
+
|
|
646
|
+
---
|
|
647
|
+
|
|
648
|
+
## Quick Reference
|
|
649
|
+
|
|
650
|
+
**Add Commands:**
|
|
651
|
+
|
|
652
|
+
```bash
|
|
653
|
+
dr add product persona <name> --description <desc> --attributes '{"category":"<category>","proficiency":"<proficiency>"}'
|
|
654
|
+
dr add product capability <name> --description <desc> --attributes '{"status":"<status>"}'
|
|
655
|
+
dr add product feature <name> --description <desc> --attributes '{"priority":"<priority>","status":"<status>","size":"<size>"}'
|
|
656
|
+
dr add product user-workflow <name> --description <desc> --attributes '{"complexity":"<complexity>"}'
|
|
657
|
+
dr add product milestone <name> --description <desc> --attributes '{"status":"<status>"}'
|
|
658
|
+
```
|
|
659
|
+
|
|
660
|
+
**Relationship Commands:**
|
|
661
|
+
|
|
662
|
+
```bash
|
|
663
|
+
dr relationship add <capability> <capability> --predicate aggregates
|
|
664
|
+
dr relationship add <feature> <capability> --predicate realizes
|
|
665
|
+
dr relationship add <feature> <persona> --predicate serves
|
|
666
|
+
dr relationship add <workflow> <feature> --predicate composes
|
|
667
|
+
dr relationship add <feature> <milestone> --predicate scheduled-for
|
|
668
|
+
dr relationship add <milestone> <milestone> --predicate precedes
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
**Cross-Layer Commands:**
|
|
672
|
+
|
|
673
|
+
```bash
|
|
674
|
+
dr relationship add <persona> <stakeholder> --predicate realizes
|
|
675
|
+
dr relationship add <feature> <requirement> --predicate satisfies
|
|
676
|
+
dr relationship add <capability> <goal> --predicate supports
|
|
677
|
+
dr relationship add <workflow> <outcome> --predicate delivers
|
|
678
|
+
dr relationship add <feature> <business-service> --predicate realizes
|
|
679
|
+
```
|
package/dist/integrations/claude_code/skills/{dr_08_dataset_layer → dr_09_dataset_layer}/SKILL.md
RENAMED
|
@@ -50,7 +50,7 @@ This layer supports **multiple storage paradigms**: relational (PostgreSQL, MySQ
|
|
|
50
50
|
> `storedlogic` is for stored **procedures, triggers, and user-defined functions** — executable logic that lives inside the database.
|
|
51
51
|
> For relational **tables** (or document collections, streams, or buckets), use `collection` with `collectionType: TABLE` (or `DOCUMENT`, `STREAM`, etc.).
|
|
52
52
|
> Using `storedlogic` for a table will fail schema validation.
|
|
53
|
-
|
|
53
|
+
>
|
|
54
54
|
> **CLI Introspection:** Run `dr schema types data-store` for the authoritative, always-current list of node types.
|
|
55
55
|
> Run `dr schema node <type-id>` for full attribute details on any type (e.g., `dr schema node data-store.collection`).
|
|
56
56
|
|