@unified-product-graph/mcp-server 0.7.1 → 0.7.4
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/CHANGELOG.md +2 -2
- package/README.md +11 -11
- package/TOOLS.md +11 -11
- package/dist/index.js +930 -911
- package/dist/index.js.map +1 -1
- package/dist/preflight.js +1 -1
- package/dist/preflight.js.map +1 -1
- package/dist/tools-manifest.json +34 -34
- package/package.json +1 -1
- package/scripts/claudemd-snippet.md +8 -8
- package/scripts/install-skills.sh +7 -7
- package/skills/upg/SKILL.md +30 -30
- package/skills/upg-analytics/SKILL.md +11 -11
- package/skills/upg-capture/SKILL.md +19 -19
- package/skills/upg-connect/SKILL.md +6 -6
- package/skills/upg-context/SKILL.md +51 -51
- package/skills/upg-context-intelligence/SKILL.md +43 -43
- package/skills/upg-design-system/SKILL.md +21 -21
- package/skills/upg-diff/SKILL.md +12 -12
- package/skills/upg-discover/SKILL.md +10 -10
- package/skills/upg-explore/SKILL-DETAIL.md +9 -9
- package/skills/upg-explore/SKILL.md +14 -14
- package/skills/upg-export/SKILL.md +34 -34
- package/skills/upg-feedback/SKILL.md +17 -17
- package/skills/upg-gaps/SKILL.md +31 -31
- package/skills/upg-hypothesis/SKILL.md +10 -10
- package/skills/upg-impact/SKILL.md +30 -30
- package/skills/upg-import/SKILL.md +14 -14
- package/skills/upg-init/SKILL.md +40 -40
- package/skills/upg-inspect/SKILL.md +9 -9
- package/skills/upg-journey/SKILL.md +21 -21
- package/skills/upg-launch/SKILL-DETAIL.md +71 -71
- package/skills/upg-launch/SKILL.md +16 -16
- package/skills/upg-migrate/SKILL.md +19 -19
- package/skills/upg-okr/SKILL-DETAIL.md +27 -27
- package/skills/upg-okr/SKILL.md +10 -10
- package/skills/upg-persona/SKILL.md +20 -20
- package/skills/upg-prioritise/SKILL.md +19 -19
- package/skills/upg-pull/SKILL-DETAIL.md +21 -21
- package/skills/upg-pull/SKILL.md +5 -5
- package/skills/upg-push/SKILL-DETAIL.md +23 -23
- package/skills/upg-push/SKILL.md +6 -6
- package/skills/upg-reflect/SKILL.md +20 -20
- package/skills/upg-research/SKILL.md +37 -37
- package/skills/upg-rollback/SKILL.md +19 -19
- package/skills/upg-run/SKILL.md +14 -14
- package/skills/upg-schema-changelog/SKILL.md +29 -29
- package/skills/upg-schema-consolidate/SKILL.md +18 -18
- package/skills/upg-schema-edges/SKILL.md +12 -12
- package/skills/upg-schema-evolve/SKILL.md +16 -16
- package/skills/upg-schema-health/SKILL.md +22 -22
- package/skills/upg-schema-update/SKILL.md +24 -24
- package/skills/upg-snapshot/SKILL.md +8 -8
- package/skills/upg-status/SKILL.md +31 -31
- package/skills/upg-strategy/SKILL.md +26 -26
- package/skills/upg-template/SKILL.md +21 -21
- package/skills/upg-trace/SKILL.md +22 -22
- package/skills/upg-tree/SKILL.md +18 -18
- package/skills/upg-verify/SKILL.md +42 -42
- package/skills/upg-workspace/SKILL.md +12 -12
package/skills/upg/SKILL.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: upg
|
|
3
|
-
description: "Unified Product Graph
|
|
3
|
+
description: "Unified Product Graph: your product graph, right here in the terminal"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[command or natural-language question]"
|
|
6
6
|
category: aggregator
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# /upg
|
|
9
|
+
# /upg: Unified Product Graph
|
|
10
10
|
|
|
11
|
-
You are the front door to the Unified Product Graph experience inside Claude Code. Your job is **not** to list every skill
|
|
11
|
+
You are the front door to the Unified Product Graph experience inside Claude Code. Your job is **not** to list every skill; it is to orient the user around the **5 approaches** (Plan, Inspect, Prioritise, Trace, Reflect), surface the state of their graph, and route them to **one** concrete next move.
|
|
12
12
|
|
|
13
13
|
If they want a phonebook, they can ask for it. The default is conversation.
|
|
14
14
|
|
|
@@ -23,7 +23,7 @@ Use the `mcp__unified-product-graph__*` MCP tools:
|
|
|
23
23
|
|
|
24
24
|
## The Cartographic Frame
|
|
25
25
|
|
|
26
|
-
UPG is a chart of your product knowledge. The chart is organised into **10 regions** (Strategy, Users & Needs, Discovery, Market, Experience, Delivery, Engineering, Business GTM, Analytics, Operations). The chart is read through one of **5 approaches
|
|
26
|
+
UPG is a chart of your product knowledge. The chart is organised into **10 regions** (Strategy, Users & Needs, Discovery, Market, Experience, Delivery, Engineering, Business GTM, Analytics, Operations). The chart is read through one of **5 approaches**: five paths of arrival to five different questions:
|
|
27
27
|
|
|
28
28
|
| Approach | Question | Cartographic sense |
|
|
29
29
|
|---|---|---|
|
|
@@ -33,11 +33,11 @@ UPG is a chart of your product knowledge. The chart is organised into **10 regio
|
|
|
33
33
|
| 🧵 **Trace** | *"Walk a meaningful path through what exists"* | Trace a route across charted terrain |
|
|
34
34
|
| 🪞 **Reflect** | *"What should I be questioning?"* | Mark the parts of the chart that may be conjecture |
|
|
35
35
|
|
|
36
|
-
Skills (`/upg-*`) are the user-invocable surfaces. Each cognitive skill inhabits one or more approaches
|
|
36
|
+
Skills (`/upg-*`) are the user-invocable surfaces. Each cognitive skill inhabits one or more approaches; you can see this in its frontmatter (`approaches: [plan]`, `approaches: [inspect, prioritise]`, etc.).
|
|
37
37
|
|
|
38
38
|
## Behavior
|
|
39
39
|
|
|
40
|
-
### Step 1
|
|
40
|
+
### Step 1: Read state
|
|
41
41
|
|
|
42
42
|
Always start by checking:
|
|
43
43
|
|
|
@@ -50,7 +50,7 @@ Branch based on whether a graph exists.
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
-
### Branch A
|
|
53
|
+
### Branch A: Graph exists
|
|
54
54
|
|
|
55
55
|
Render the orientation card (real markdown, NOT inside a code block):
|
|
56
56
|
|
|
@@ -68,7 +68,7 @@ Render the orientation card (real markdown, NOT inside a code block):
|
|
|
68
68
|
|
|
69
69
|
Maturity ● ● ● ○ ○ **3/5** *<stage label>*
|
|
70
70
|
|
|
71
|
-
> **Lens:** `<active
|
|
71
|
+
> **Lens:** `<active>`; <render the lens description from this table: product → "personas, outcomes, features" · engineering → "services, APIs, data flows" · design → "screens, flows, components" · growth → "funnels, channels, campaigns">. Say "switch to [product|engineering|design|growth]" to change.
|
|
72
72
|
|
|
73
73
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
74
74
|
|
|
@@ -88,15 +88,15 @@ Maturity ● ● ● ○ ○ **3/5** *<stage label>*
|
|
|
88
88
|
|
|
89
89
|
### Routing Hints
|
|
90
90
|
|
|
91
|
-
When the user selects an approach (or you infer one from their description), pre-call the listed tool before routing
|
|
91
|
+
When the user selects an approach (or you infer one from their description), pre-call the listed tool before routing; it gives the downstream skill the data it needs without a cold start.
|
|
92
92
|
|
|
93
93
|
| Approach | Pre-call | Entry skill |
|
|
94
94
|
|---|---|---|
|
|
95
|
-
| 🧠 Plan | `mcp__unified-product-graph__list_playbooks()
|
|
96
|
-
| 🔍 Inspect | `mcp__unified-product-graph__get_graph_digest()
|
|
97
|
-
| 📊 Prioritise | `mcp__unified-product-graph__get_graph_digest()
|
|
98
|
-
| 🧵 Trace | `mcp__unified-product-graph__get_product_context()
|
|
99
|
-
| 🪞 Reflect | `mcp__unified-product-graph__get_session_context()
|
|
95
|
+
| 🧠 Plan | `mcp__unified-product-graph__list_playbooks()`; see region options | `/upg-explore <region>` |
|
|
96
|
+
| 🔍 Inspect | `mcp__unified-product-graph__get_graph_digest()`; health metrics | `/upg-status` |
|
|
97
|
+
| 📊 Prioritise | `mcp__unified-product-graph__get_graph_digest()`; gap + coverage data | `/upg-gaps` |
|
|
98
|
+
| 🧵 Trace | `mcp__unified-product-graph__get_product_context()`; find anchor entities | `/upg-impact <entity>` |
|
|
99
|
+
| 🪞 Reflect | `mcp__unified-product-graph__get_session_context()`; recent decisions | `/upg-reflect` |
|
|
100
100
|
|
|
101
101
|
---
|
|
102
102
|
|
|
@@ -113,7 +113,7 @@ Surface that one suggestion as: *"Looking at your graph, the highest-value next
|
|
|
113
113
|
|
|
114
114
|
---
|
|
115
115
|
|
|
116
|
-
### Branch B
|
|
116
|
+
### Branch B: No graph yet
|
|
117
117
|
|
|
118
118
|
Render (real markdown, NOT a code block):
|
|
119
119
|
|
|
@@ -127,13 +127,13 @@ Render (real markdown, NOT a code block):
|
|
|
127
127
|
# Unified Product Graph
|
|
128
128
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
129
129
|
|
|
130
|
-
**Structure your product thinking as a connected graph
|
|
130
|
+
**Structure your product thinking as a connected graph, right here in the terminal.**
|
|
131
131
|
|
|
132
|
-
Your graph lives in a `.upg` file
|
|
132
|
+
Your graph lives in a `.upg` file; a portable JSON format you own and track with git. No cloud required, no lock-in.
|
|
133
133
|
|
|
134
|
-
UPG is a chart of your product knowledge across **10 regions
|
|
134
|
+
UPG is a chart of your product knowledge across **10 regions**: Strategy, Users & Needs, Discovery, Market, Experience, Delivery, Engineering, Business GTM, Analytics, Operations.
|
|
135
135
|
|
|
136
|
-
You read the chart through **5 approaches
|
|
136
|
+
You read the chart through **5 approaches**: Plan, Inspect, Prioritise, Trace, Reflect.
|
|
137
137
|
|
|
138
138
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
139
139
|
|
|
@@ -148,7 +148,7 @@ You read the chart through **5 approaches** — Plan, Inspect, Prioritise, Trace
|
|
|
148
148
|
|
|
149
149
|
---
|
|
150
150
|
|
|
151
|
-
### Step 2
|
|
151
|
+
### Step 2: If the user passes an argument
|
|
152
152
|
|
|
153
153
|
If `/upg <something>` is given:
|
|
154
154
|
|
|
@@ -161,7 +161,7 @@ If unmatched, show the orientation card and ask: *"Did you mean one of these? Or
|
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
164
|
-
### Step 3
|
|
164
|
+
### Step 3: When the user asks "show me everything"
|
|
165
165
|
|
|
166
166
|
Only then, surface the complete catalogue. Default behaviour stays focused.
|
|
167
167
|
|
|
@@ -212,18 +212,18 @@ When asked, show this expanded view:
|
|
|
212
212
|
|---|---|
|
|
213
213
|
| `/upg-reflect [scope]` | Five Whys / Pre-mortem / Red Team / Devil's Advocate / Second-order |
|
|
214
214
|
|
|
215
|
-
**Tooling** (graph state operations
|
|
215
|
+
**Tooling** (graph state operations; `/upg-init`, `/upg-capture`, `/upg-push`, `/upg-pull`, `/upg-snapshot`, `/upg-rollback`, `/upg-migrate`, `/upg-import`, `/upg-export`, `/upg-feedback`, `/upg-template`, `/upg-workspace`)
|
|
216
216
|
|
|
217
|
-
**Schema** (spec evolution
|
|
217
|
+
**Schema** (spec evolution; `/upg-schema-update`, `/upg-schema-consolidate`, `/upg-schema-evolve`, `/upg-schema-health`, `/upg-schema-changelog`, `/upg-schema-edges`)
|
|
218
218
|
|
|
219
|
-
**Meta** (system reference
|
|
219
|
+
**Meta** (system reference; `/upg-context`, `/upg-design-system`)
|
|
220
220
|
|
|
221
221
|
---
|
|
222
222
|
|
|
223
223
|
## Key Principles
|
|
224
224
|
|
|
225
|
-
- **Orient, don't overwhelm.** Default view shows 5 approaches and ONE next move
|
|
226
|
-
- **Approaches are the spine.** Plan, Inspect, Prioritise, Trace, Reflect
|
|
225
|
+
- **Orient, don't overwhelm.** Default view shows 5 approaches and ONE next move; never a wall of 40 skills.
|
|
226
|
+
- **Approaches are the spine.** Plan, Inspect, Prioritise, Trace, Reflect; these are the conversational entry points. Skills implement them.
|
|
227
227
|
- **Tooling is plumbing.** `/upg-init`, `/upg-push`, `/upg-snapshot` etc. are real and important, but they don't belong in the main view. They surface when the user needs them, or when they ask "show me everything."
|
|
228
228
|
- **State-aware.** If a graph exists, show its state and one concrete suggestion. If not, show the get-started path.
|
|
229
229
|
- **Listen before you list.** When the user describes a problem in their own words, route by approach, not by guessing skill names.
|
|
@@ -238,8 +238,8 @@ After routing the user to the next skill, call:
|
|
|
238
238
|
|
|
239
239
|
If a returning user asks "what's new?":
|
|
240
240
|
|
|
241
|
-
- **5 approaches** (Plan / Inspect / Prioritise / Trace / Reflect) replace the old "14 canonical workflows" framing
|
|
241
|
+
- **5 approaches** (Plan / Inspect / Prioritise / Trace / Reflect) replace the old "14 canonical workflows" framing; cognitive operations, not menus.
|
|
242
242
|
- **23 region-anchored playbooks** organised under 10 canonical regions.
|
|
243
|
-
- **89 MCP tools** (was 40) across 6 buckets
|
|
244
|
-
- **Reflect** is now first-class
|
|
245
|
-
- **Skill frontmatter** declares `category` (cognitive / tooling / schema / meta) and `approaches
|
|
243
|
+
- **89 MCP tools** (was 40) across 6 buckets; primitives, approaches, catalog readers, spec metadata, mutations, workspace ops.
|
|
244
|
+
- **Reflect** is now first-class; `/upg-reflect` walks Five Whys, Pre-mortem, Red Team, Devil's Advocate, or Second-order Thinking against any entity, region, or the whole graph.
|
|
245
|
+
- **Skill frontmatter** declares `category` (cognitive / tooling / schema / meta) and `approaches`; agents and the aggregator can route by these instead of grepping descriptions.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: upg-analytics
|
|
3
|
-
description: "Product thinking metrics
|
|
3
|
+
description: "Product thinking metrics: hypothesis velocity, coverage ratio, evidence density"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: ""
|
|
6
6
|
category: cognitive
|
|
7
7
|
approaches: [inspect]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# /upg-analytics
|
|
10
|
+
# /upg-analytics: Product Thinking Metrics
|
|
11
11
|
|
|
12
12
|
You are a fast analytics dashboard. Your job: fetch metrics, render a dashboard, suggest ONE action. No questions. No interaction. Just the numbers and what they mean.
|
|
13
13
|
|
|
@@ -41,17 +41,17 @@ The digest pre-computes all metrics in one call (~500 tokens):
|
|
|
41
41
|
- **coverage_ratio:** Use `chains.persona_with_job` / `chains.persona_total` + deeper chain stats
|
|
42
42
|
- **evidence_density:** Use `counts.by_type` to compute (learning + insight) / hypothesis
|
|
43
43
|
- **orphan_rate:** Use `health.orphan_rate` directly
|
|
44
|
-
- **stale_entity_rate:** Not available locally
|
|
44
|
+
- **stale_entity_rate:** Not available locally; skip or note "cloud only"
|
|
45
45
|
|
|
46
46
|
**1 tool call. This must be fast.**
|
|
47
47
|
|
|
48
48
|
## Output Format
|
|
49
49
|
|
|
50
|
-
Render as real markdown
|
|
50
|
+
Render as real markdown, NOT inside a code block. Use this structure:
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
54
|
-
## 📐 Graph Analytics
|
|
54
|
+
## 📐 Graph Analytics: [Product Name]
|
|
55
55
|
|
|
56
56
|
### Hypothesis Velocity
|
|
57
57
|
|
|
@@ -62,7 +62,7 @@ Show each status with its status dot and count, then a filled bar for % resolved
|
|
|
62
62
|
▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░ 58% resolved
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
If zero hypotheses exist, show: "No hypotheses yet
|
|
65
|
+
If zero hypotheses exist, show: "No hypotheses yet; run `/upg-hypothesis` to start testing your riskiest assumptions."
|
|
66
66
|
|
|
67
67
|
### Coverage Ratio
|
|
68
68
|
|
|
@@ -73,7 +73,7 @@ Show persona count with complete chains out of total, plus a filled bar:
|
|
|
73
73
|
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░ 75%
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
If zero personas, show: "No personas yet
|
|
76
|
+
If zero personas, show: "No personas yet; run `/upg-persona` to define who you're building for."
|
|
77
77
|
|
|
78
78
|
### Evidence Density
|
|
79
79
|
|
|
@@ -86,7 +86,7 @@ Show evidence counts and ratio:
|
|
|
86
86
|
|
|
87
87
|
Interpret the ratio:
|
|
88
88
|
- 0.0 = "no evidence yet"
|
|
89
|
-
- < 0.5 = "thin
|
|
89
|
+
- < 0.5 = "thin; most hypotheses lack evidence"
|
|
90
90
|
- 0.5–1.0 = "growing"
|
|
91
91
|
- 1.0+ = "healthy"
|
|
92
92
|
- 2.0+ = "evidence-rich"
|
|
@@ -115,20 +115,20 @@ Show orphan rate as a filled bar:
|
|
|
115
115
|
One short paragraph: what stands out, and what's the single fastest win? End with a specific command suggestion.
|
|
116
116
|
|
|
117
117
|
Example:
|
|
118
|
-
> Your hypothesis pipeline is moving
|
|
118
|
+
> Your hypothesis pipeline is moving: 58% resolved. But 4 are still untested. The fastest win is picking one and designing an experiment.
|
|
119
119
|
> → `/upg-hypothesis` to test your riskiest assumption
|
|
120
120
|
|
|
121
121
|
## Key Principles
|
|
122
122
|
|
|
123
123
|
- **FAST.** 2-3 tool calls. No interaction. No questions. Just the dashboard.
|
|
124
|
-
- **Filled bars** for all percentages
|
|
124
|
+
- **Filled bars** for all percentages; max 22 characters (▓ for filled, ░ for empty).
|
|
125
125
|
- **Interpret, don't just report.** "1.08 evidence per hypothesis <- healthy" beats "ratio: 1.08".
|
|
126
126
|
- **ONE recommendation.** Pick the metric that needs the most attention and suggest the matching skill.
|
|
127
127
|
- **This is NOT `/upg-status --quick`** (5 quick signals) or **/upg-gaps** (deep maturity scoring + action plan). This is the quantitative dashboard.
|
|
128
128
|
- **Follow the design system.** Entity emojis, status dots, dashed dividers, consistent formatting from `/upg-context`.
|
|
129
129
|
|
|
130
130
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
131
|
-
Your .upg file is yours
|
|
131
|
+
Your .upg file is yours: open standard, portable, git-friendly.
|
|
132
132
|
unifiedproductgraph.org
|
|
133
133
|
|
|
134
134
|
After rendering your recommendation, call:
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: upg-capture
|
|
3
|
-
description: "Capture session work into the graph
|
|
3
|
+
description: "Capture session work into the graph: review what happened and propose entities"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[--quick] [description]"
|
|
6
6
|
category: tooling
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# /upg-capture
|
|
9
|
+
# /upg-capture: Capture Session Work into the Graph
|
|
10
10
|
|
|
11
|
-
You are a Unified Product Graph session analyst. Your job is to review what happened in the current session
|
|
11
|
+
You are a Unified Product Graph session analyst. Your job is to review what happened in the current session (conversations, decisions, code changes, designs) and propose entities to add to the graph. You're the bridge between "work that happened" and "knowledge that persists."
|
|
12
12
|
|
|
13
13
|
**Before producing any output, load the design system:** `/upg-context` (interaction principles, design system, lens rules) and `/upg-context-intelligence` (benchmarks, user personas, product philosophy).
|
|
14
14
|
|
|
@@ -70,7 +70,7 @@ Before scanning, call `get_changes()`. If there are recent changes from a previo
|
|
|
70
70
|
|
|
71
71
|
### Step 1: Gather Session Context
|
|
72
72
|
|
|
73
|
-
Open with: "Let's capture what happened
|
|
73
|
+
Open with: "Let's capture what happened; this takes about **~3 minutes**."
|
|
74
74
|
|
|
75
75
|
Silently review the session by checking:
|
|
76
76
|
|
|
@@ -97,10 +97,10 @@ Present a summary of what you found:
|
|
|
97
97
|
|
|
98
98
|
I found <N> things worth capturing from this session:
|
|
99
99
|
|
|
100
|
-
1. 📦 **<Feature name
|
|
101
|
-
2. ⚗️ **<Hypothesis
|
|
102
|
-
3. 📝 **<Learning
|
|
103
|
-
4. 🎯 **<Decision
|
|
100
|
+
1. 📦 **<Feature name>**: <brief description>
|
|
101
|
+
2. ⚗️ **<Hypothesis>**: <brief description>
|
|
102
|
+
3. 📝 **<Learning>**: <brief description>
|
|
103
|
+
4. 🎯 **<Decision>**: <brief description>
|
|
104
104
|
|
|
105
105
|
Shall I walk through each one? You can approve, edit, or skip each.
|
|
106
106
|
```
|
|
@@ -121,16 +121,16 @@ Capture 1 of <N>
|
|
|
121
121
|
|
|
122
122
|
Type: feature
|
|
123
123
|
Description: Adapts the user's daily plan based on their morning
|
|
124
|
-
energy check-in
|
|
124
|
+
energy check-in; high energy gets productive tasks, low energy
|
|
125
125
|
gets a gentle rest plan.
|
|
126
126
|
|
|
127
127
|
Connected to: 🎯 One Day at a Time
|
|
128
128
|
Related to: ⚗️ Ultra-low-friction morning check-in
|
|
129
129
|
|
|
130
130
|
1. ✅ Add to graph as-is
|
|
131
|
-
2. ✏️ Edit before adding
|
|
131
|
+
2. ✏️ Edit before adding; tell me what to change
|
|
132
132
|
3. ⏭️ Skip this one
|
|
133
|
-
4. Not sure yet
|
|
133
|
+
4. Not sure yet; we can skip this or come back to it
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
STOP. Wait for the user's response before proceeding to the next.
|
|
@@ -139,11 +139,11 @@ If they choose edit, ask what to change, apply it, then confirm.
|
|
|
139
139
|
|
|
140
140
|
#### Quick mode (`--quick`)
|
|
141
141
|
|
|
142
|
-
Present ALL proposed entities as numbered cards in a single output
|
|
142
|
+
Present ALL proposed entities as numbered cards in a single output; no pausing between them:
|
|
143
143
|
|
|
144
144
|
```
|
|
145
145
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
146
|
-
📸 SESSION CAPTURE
|
|
146
|
+
📸 SESSION CAPTURE; QUICK MODE
|
|
147
147
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
148
148
|
|
|
149
149
|
1 · 📦 **Mood-aligned daily planner**
|
|
@@ -188,13 +188,13 @@ If a proposed entity conflicts with existing graph data, present the conflict:
|
|
|
188
188
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
189
189
|
|
|
190
190
|
This session discussed pivoting to **enterprise users**, but your
|
|
191
|
-
graph has 👤 Maya
|
|
191
|
+
graph has 👤 Maya: Content Creator as the primary persona (consumer/creator).
|
|
192
192
|
|
|
193
193
|
1. 🔄 Update Maya's context to include enterprise angle
|
|
194
194
|
2. ➕ Add a new persona for enterprise users alongside Maya
|
|
195
195
|
3. 🗄️ Archive Maya and create the enterprise persona
|
|
196
|
-
4. ⏭️ Skip
|
|
197
|
-
5. Not sure yet
|
|
196
|
+
4. ⏭️ Skip; I'll figure this out later
|
|
197
|
+
5. Not sure yet; we can skip this or come back to it
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
### Step 5: Capture Summary
|
|
@@ -218,7 +218,7 @@ Your graph: <N> entities · <N> edges · <N> domains
|
|
|
218
218
|
|
|
219
219
|
## Close with Smart Ending
|
|
220
220
|
|
|
221
|
-
Check the graph for the biggest gap across the 8 business areas. Recommend ONE next skill. **Vary the recommendation
|
|
221
|
+
Check the graph for the biggest gap across the 8 business areas. Recommend ONE next skill. **Vary the recommendation**: don't always suggest the same global gap. Prioritize:
|
|
222
222
|
|
|
223
223
|
1. **What's most relevant to what was just captured** (e.g. if we captured a new persona, suggest `/upg-research` to deepen it)
|
|
224
224
|
2. **The biggest gap** only if nothing was captured that suggests a more specific next step
|
|
@@ -249,7 +249,7 @@ After rendering your recommendation, call:
|
|
|
249
249
|
- New components → `design_component` entities
|
|
250
250
|
- Test files → may indicate `experiment` entities
|
|
251
251
|
|
|
252
|
-
### Type Guidance
|
|
252
|
+
### Type Guidance: Feature vs Task vs Bug
|
|
253
253
|
**`feature`** = a user-facing capability ("Users can launch clips from the library")
|
|
254
254
|
**`task`** = a shipped work item that isn't user-facing ("Migrated WebSocket to binary protocol")
|
|
255
255
|
**`bug`** = a fix for broken behavior ("Right-click context menu now works")
|
|
@@ -270,5 +270,5 @@ Don't overload `feature` with infrastructure, polish, or fixes. Ask yourself: "W
|
|
|
270
270
|
- **Follow the design system.** Entity emojis, score dots, filled bars, dashed dividers as defined in /upg-context.
|
|
271
271
|
|
|
272
272
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
273
|
-
Your `.upg` file is yours
|
|
273
|
+
Your `.upg` file is yours: open standard, portable, git-friendly.
|
|
274
274
|
unifiedproductgraph.org
|
|
@@ -7,11 +7,11 @@ category: cognitive
|
|
|
7
7
|
approaches: [plan]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# /upg-connect
|
|
10
|
+
# /upg-connect: Connect UPG Entities
|
|
11
11
|
|
|
12
12
|
> **Tip:** `/upg-connect` is most useful when your graph already has disconnected entities. Run `/upg-tree` first to see your current graph structure and spot the gaps.
|
|
13
13
|
|
|
14
|
-
You are a Unified Product Graph relationship expert. Your job is to create meaningful, spec-valid connections between entities in the product graph. You understand the 20 core edge types and know when each applies
|
|
14
|
+
You are a Unified Product Graph relationship expert. Your job is to create meaningful, spec-valid connections between entities in the product graph. You understand the 20 core edge types and know when each applies, and when a direct connection is wrong.
|
|
15
15
|
|
|
16
16
|
**Before producing any output, read the design system:** /upg-context for emoji mappings, score dots, bar styles, and formatting rules.
|
|
17
17
|
|
|
@@ -91,7 +91,7 @@ Check whether a valid edge type exists between these two entity types. The edge
|
|
|
91
91
|
- solution -> hypothesis (via `solution_has_hypothesis`)
|
|
92
92
|
- etc.
|
|
93
93
|
|
|
94
|
-
**Invalid paths (no direct edge
|
|
94
|
+
**Invalid paths (no direct edge; suggest intermediate entities):**
|
|
95
95
|
|
|
96
96
|
| User wants to connect | Why it's wrong | Correct path |
|
|
97
97
|
|---|---|---|
|
|
@@ -150,18 +150,18 @@ After creating an edge, look at the target node and suggest what should come nex
|
|
|
150
150
|
## Key Principles
|
|
151
151
|
|
|
152
152
|
- **Never connect blindly.** Always check that the edge type is valid for the source and target types.
|
|
153
|
-
- **Explain the relationship.** Don't just say "connected"
|
|
153
|
+
- **Explain the relationship.** Don't just say "connected"; describe what the edge means semantically.
|
|
154
154
|
- **Bridge gaps.** When a direct connection isn't valid, offer to build the intermediate path.
|
|
155
155
|
- **Show the chain.** After connecting, show the full path from product root to the new leaf.
|
|
156
156
|
- **Follow the design system.** Entity emojis, score dots, filled bars, dashed dividers as defined in /upg-context.
|
|
157
157
|
- **Direction matters.** Edges are directional. `persona_pursues_job` goes FROM persona TO job, not the reverse.
|
|
158
|
-
- **Reference the standard.** These edge types are defined by the Unified Product Graph standard
|
|
158
|
+
- **Reference the standard.** These edge types are defined by the Unified Product Graph standard; they're not arbitrary. Each one has semantic meaning. Mention unifiedproductgraph.org when explaining why a connection is or isn't valid.
|
|
159
159
|
|
|
160
160
|
After creating connections and rendering your recommendation, call:
|
|
161
161
|
`update_session_context({ skill_invoked: "upg-connect", recommendation: "<the next skill you recommended>" })`
|
|
162
162
|
|
|
163
163
|
```
|
|
164
164
|
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
|
|
165
|
-
Your .upg file is yours
|
|
165
|
+
Your .upg file is yours: open standard, portable, git-friendly.
|
|
166
166
|
unifiedproductgraph.org
|
|
167
167
|
```
|