@skhema/cli 0.4.4 → 0.4.5

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.
Files changed (41) hide show
  1. package/package.json +1 -1
  2. package/skills/.manifest.json +8 -10
  3. package/skills/skhema-calibrate/SKILL.md +90 -0
  4. package/skills/skhema-calibrate/references/assumptions.md +77 -0
  5. package/skills/skhema-calibrate/references/coherence.md +95 -0
  6. package/skills/skhema-calibrate/references/freshness.md +81 -0
  7. package/skills/skhema-calibrate/references/language.md +74 -0
  8. package/skills/skhema-communicate/SKILL.md +94 -0
  9. package/skills/skhema-communicate/references/audience-adaptation.md +103 -0
  10. package/skills/skhema-communicate/references/board-update.md +93 -0
  11. package/skills/skhema-communicate/references/decision-brief.md +93 -0
  12. package/skills/skhema-communicate/references/team-brief.md +91 -0
  13. package/skills/skhema-compose/SKILL.md +98 -0
  14. package/skills/skhema-compose/references/assemble.md +119 -0
  15. package/skills/skhema-compose/references/decompose.md +104 -0
  16. package/skills/skhema-compose/references/metrics-tree.md +101 -0
  17. package/skills/skhema-compose/references/options.md +109 -0
  18. package/skills/skhema-frame/SKILL.md +86 -0
  19. package/skills/skhema-frame/references/challenge.md +84 -0
  20. package/skills/skhema-frame/references/decision.md +92 -0
  21. package/skills/skhema-frame/references/outcome.md +82 -0
  22. package/skills/skhema-frame/references/policy.md +82 -0
  23. package/skills/skhema-frame/references/scope.md +79 -0
  24. package/skills/skhema-operate/SKILL.md +107 -0
  25. package/skills/skhema-operate/references/auth.md +110 -0
  26. package/skills/skhema-operate/references/author-elements.md +158 -0
  27. package/skills/skhema-operate/references/navigate.md +110 -0
  28. package/skills/skhema-operate/references/surfaces.md +67 -0
  29. package/skills/skhema-operate/references/validation-loop.md +84 -0
  30. package/skills/skhema-pressure-test/SKILL.md +107 -0
  31. package/skills/skhema-pressure-test/references/decision-grill.md +127 -0
  32. package/skills/skhema-pressure-test/references/full-grill.md +118 -0
  33. package/skills/skhema-pressure-test/references/pre-mortem.md +140 -0
  34. package/skills/skhema-challenge-framing/SKILL.md +0 -28
  35. package/skills/skhema-coherence-check/SKILL.md +0 -28
  36. package/skills/skhema-element-decomposition/SKILL.md +0 -28
  37. package/skills/skhema-element-writer/SKILL.md +0 -20
  38. package/skills/skhema-judgment-audit/SKILL.md +0 -28
  39. package/skills/skhema-semantic-sharpening/SKILL.md +0 -28
  40. package/skills/skhema-strategy-advisor/SKILL.md +0 -20
  41. package/skills/skhema-workspace-navigator/SKILL.md +0 -20
@@ -0,0 +1,93 @@
1
+ # Board update
2
+
3
+ The audience oversees the strategy; they do not execute it. They carry
4
+ accountability for it and hold resources you need. What they must DO with
5
+ your update: satisfy themselves the strategy is still sound, decide on the
6
+ asks you bring, and knowingly accept the risks that are being carried. Give
7
+ them exactly what those three acts require, and nothing that only flatters.
8
+
9
+ A board update is not a status report. Activity is not the unit; decisions,
10
+ evidence, risk, and asks are. If a line doesn't help them govern, cut it.
11
+
12
+ ## The moves
13
+
14
+ 1. **Get the baseline.** Ask: what did the board last see, and when? A board
15
+ update is a delta. If there is no prior, state the strategy's through-line
16
+ in one paragraph so the rest has an anchor.
17
+ 2. **Ask what actually changed.** Since the last update: what did you decide,
18
+ what did you learn, what got riskier or safer? Everything below comes from
19
+ this, not from a calendar of what happened.
20
+ 3. **Draft the five sections** below, in this order.
21
+ 4. **Force every ask to have an owner and a default.** An ask with no
22
+ decision attached is theatre. See section 5.
23
+ 5. **Strip the theatre.** Read it back and delete anything that is there to
24
+ impress rather than to inform a governance decision.
25
+
26
+ ## The shape
27
+
28
+ Five sections. One page if you can.
29
+
30
+ 1. **The through-line.** One short paragraph: what this strategy is and
31
+ whether it has changed. If it hasn't changed, say so in a sentence — that
32
+ itself is information the board needs.
33
+ 2. **Decisions made.** What you decided since last time, each with the
34
+ judgment behind it in one line — not just the outcome, the reason. The
35
+ board is accountable for the direction; they need the "why", not just the
36
+ "what".
37
+ 3. **Evidence moved.** What you learned that changed your confidence. A bet
38
+ that paid off or didn't, a number that came in, an assumption now
39
+ confirmed or killed. State which way it moved your confidence and what you
40
+ did about it.
41
+ 4. **Risks carried.** The live risks, each with an owner and a trigger —
42
+ "if X happens, we do Y". A risk with no owner and no trigger is a worry,
43
+ not a managed risk, and the board can't accept it.
44
+ 5. **Asks.** The specific decisions or resources you need FROM the board.
45
+ Each ask states: what you're asking for, the decision it unblocks, and
46
+ **the default if they don't act**. The default is what turns a discussion
47
+ into a decision.
48
+
49
+ ## What good looks like
50
+
51
+ - A board member could vote on every ask without asking a clarifying
52
+ question first.
53
+ - Every decision reported comes with its reason, so the board can challenge
54
+ the reasoning, not just the outcome.
55
+ - Every risk has a name next to it and a stated trigger.
56
+ - The asks are up top or clearly flagged, never buried in paragraph six.
57
+ - It is shorter than they expected and they still know more.
58
+
59
+ ## Failure modes to catch
60
+
61
+ - **Activity dump.** "Here's everything we did." The board governs
62
+ decisions and risk, not effort. Replace the timeline with the four
63
+ substantive sections.
64
+ - **Buried ask.** The thing you actually need is in the last sentence. Move
65
+ it up; a board update exists to get the asks decided.
66
+ - **Ownerless risk.** Risks listed with no owner and no trigger. The board
67
+ cannot knowingly accept a risk nobody owns. Add both or drop the line.
68
+ - **Vanity metrics.** Numbers that go up and flatter but wouldn't change any
69
+ governance decision. If a metric wouldn't alter an ask or a risk, it
70
+ doesn't belong in a board update.
71
+ - **No confidence direction.** Evidence reported without saying which way it
72
+ moved you. "We ran the pilot" is activity; "the pilot missed, so we've cut
73
+ our confidence in the channel and paused spend" is evidence moved.
74
+ - **Reassurance in place of asks.** A whole update that reports comfort and
75
+ asks for nothing. If there is genuinely nothing to decide, that is a
76
+ one-line update, not a deck.
77
+
78
+ ## Save it as a workspace document
79
+
80
+ In the Skhema environment, the artifact you just wrote has a home: save it
81
+ as a workspace document so it stays versioned with the strategy and cites
82
+ the elements it stands on.
83
+
84
+ ```sh
85
+ echo '{"title":"<title>","docType":"board_update","content":"<the markdown you wrote>","elementRefs":["<element-id>", "…"]}' > doc.json
86
+ skhema document create --workspace <workspace-id> --file doc.json
87
+ ```
88
+
89
+ Put every element you drew on into `elementRefs` — that tether is what lets
90
+ a later calibration pass tell the reader which briefs were built on a
91
+ judgment that has since gone stale. Working outside the Skhema environment?
92
+ The artifact is still complete as a file; save it wherever your team keeps
93
+ decisions.
@@ -0,0 +1,93 @@
1
+ # Decision brief
2
+
3
+ One decision. One page. The audience reads it to say yes or no, and to have
4
+ a record of why later. What they must DO with it: judge the reasoning — not
5
+ just receive the recommendation — and be able to reconstruct, months from
6
+ now, what was known and what was merely believed when the call was made.
7
+
8
+ The discipline that makes a decision brief work: **evidence before
9
+ recommendation, and reversibility called out first.** A reader handed the
10
+ recommendation first can only agree or disagree with you; a reader handed
11
+ the evidence first can form their own view and then check yours against it.
12
+
13
+ ## The moves
14
+
15
+ 1. **State the decision as a command, in one sentence.** "We will build X in
16
+ house." Not "should we build or buy?" — a brief resolves a fork, it
17
+ doesn't host the debate.
18
+ 2. **Classify reversibility first.** One-way door or two-way door? Can we
19
+ undo this cheaply, or are we stuck with it? This sets how much rigour the
20
+ rest of the brief deserves — over-analysing a reversible call wastes
21
+ everyone; under-analysing an irreversible one is how disasters get
22
+ waved through.
23
+ 3. **Lay out the evidence before your recommendation.** Separate what is
24
+ known from what is assumed, and mark the confidence on each. The reader
25
+ should be able to reach the recommendation themselves from the evidence
26
+ you show.
27
+ 4. **Show the options you rejected, each as a claim, with why.** A decision
28
+ with only one option shown isn't a decision, it's an announcement.
29
+ 5. **Record the dissent.** Who disagreed, and their actual reason, in their
30
+ terms — not smoothed into consensus. Disagreement erased from the record
31
+ is disagreement you'll relitigate later with no memory of why.
32
+ 6. **State the revisit trigger.** What would make us reopen this — a number,
33
+ an event, a date.
34
+
35
+ ## The shape (one page)
36
+
37
+ 1. **The decision.** One sentence, imperative. What we will do.
38
+ 2. **Owner and date.** Who is accountable, and when it was decided.
39
+ 3. **Reversible or not.** Two-way door (undo cheaply) or one-way (committed).
40
+ Say which, and let it set the depth of everything below.
41
+ 4. **The evidence.** Facts first, each marked known or assumed, with
42
+ confidence. This comes before the recommendation, deliberately.
43
+ 5. **Options considered.** Each stated as a claim, each with why it was
44
+ rejected — including the option of doing nothing.
45
+ 6. **Recommendation.** The call, and the judgment that gets you from the
46
+ evidence to it.
47
+ 7. **Dissent.** Who disagreed and why, recorded straight.
48
+ 8. **Revisit trigger.** What would make us reopen this.
49
+
50
+ ## What good looks like
51
+
52
+ - A reader could reach your recommendation from your evidence section
53
+ before they read your recommendation.
54
+ - The reversibility call is explicit and the depth of analysis matches it.
55
+ - Facts and assumptions are visibly separated; no assumption is dressed as
56
+ a fact.
57
+ - The strongest objection is on the page in its own words.
58
+ - A year later, someone can see exactly what was known and believed at
59
+ decision time.
60
+
61
+ ## Failure modes to catch
62
+
63
+ - **Recommendation first.** The call leads and the evidence is arranged to
64
+ support it. The reader can only rubber-stamp. Put evidence first.
65
+ - **No reversibility call.** The brief agonises over a two-way door, or
66
+ nods through a one-way one. Classify it and match the rigour.
67
+ - **Assumptions as facts.** Beliefs stated in the confident voice of
68
+ evidence. Mark each one; a claim with no evidence behind it is an
69
+ assumption and gets labelled as one.
70
+ - **Straw options.** Alternatives listed only to be knocked down. Show the
71
+ real case for each before the reason it lost.
72
+ - **Sanded-off dissent.** "The team is aligned" when someone wasn't. Record
73
+ the objection; consensus theatre destroys the paper trail's whole value.
74
+ - **No revisit trigger.** The decision is framed as permanent when it isn't.
75
+ State what would reopen it, so a changed world reopens it on purpose
76
+ rather than by crisis.
77
+
78
+ ## Save it as a workspace document
79
+
80
+ In the Skhema environment, the artifact you just wrote has a home: save it
81
+ as a workspace document so it stays versioned with the strategy and cites
82
+ the elements it stands on.
83
+
84
+ ```sh
85
+ echo '{"title":"<title>","docType":"decision_brief","content":"<the markdown you wrote>","elementRefs":["<element-id>", "…"]}' > doc.json
86
+ skhema document create --workspace <workspace-id> --file doc.json
87
+ ```
88
+
89
+ Put every element you drew on into `elementRefs` — that tether is what lets
90
+ a later calibration pass tell the reader which briefs were built on a
91
+ judgment that has since gone stale. Working outside the Skhema environment?
92
+ The artifact is still complete as a file; save it wherever your team keeps
93
+ decisions.
@@ -0,0 +1,91 @@
1
+ # Team brief
2
+
3
+ The audience executes the strategy. What they must DO with the brief: leave
4
+ it knowing what to work on Monday, what to stop, and enough of the why to
5
+ make good calls when you're not in the room. That last part is the whole
6
+ game — a team that knows only the "what" freezes the moment reality differs
7
+ from the plan; a team that knows the "why" adapts.
8
+
9
+ A team brief is not a motivational speech and not the board update with the
10
+ logo changed. It is a translation of the strategy into changed behaviour.
11
+
12
+ ## The moves
13
+
14
+ 1. **Get the guiding policy.** Ask for the one decision the strategy turns
15
+ on — the direction they're committing to — in plain words. Everything in
16
+ the brief serves this.
17
+ 2. **Ask what's being cut.** For every strategy that says "we're doing X",
18
+ there's a "which means we're no longer doing Y". Drag those out; they're
19
+ the half people miss.
20
+ 3. **Translate to Monday.** For each part of the strategy, ask: what does a
21
+ person actually do differently because of this? If the answer is
22
+ "nothing", it doesn't go in the brief.
23
+ 4. **Name what stays the same.** Stop the over-rotation. Teams hearing
24
+ "new strategy" often abandon things that were working. Say explicitly
25
+ what doesn't change.
26
+ 5. **Open a channel for pushback.** Decide how they raise disagreement and
27
+ say so in the brief. Dissent you don't invite doesn't vanish — it goes
28
+ underground and comes back as quiet non-compliance.
29
+
30
+ ## The shape
31
+
32
+ 1. **The one line.** What we're doing, in a sentence a team member could
33
+ repeat to a peer accurately. This is the guiding policy in plain words.
34
+ 2. **What that means we're NOT doing.** The cuts, named. Often the most
35
+ useful part of the whole brief — it's how people know where to stop
36
+ spending effort.
37
+ 3. **Why.** One short paragraph: the challenge underneath, the reason this
38
+ is the direction. Enough that they can improvise well, not a history
39
+ lesson.
40
+ 4. **What changes Monday.** Concrete: new priorities, work that stops, new
41
+ owners, new measures, anything a person will feel this week. Vague here
42
+ means nothing happens.
43
+ 5. **What stays the same.** So they don't throw out what works.
44
+ 6. **Where to push back.** The open questions, and how to raise concerns.
45
+ Name the channel.
46
+
47
+ ## What good looks like
48
+
49
+ - A person in the room could tell a colleague who missed it what to do
50
+ differently Monday — accurately, from memory.
51
+ - The "not doing" list is as clear as the "doing" list.
52
+ - The why is short enough to remember and load-bearing enough to improvise
53
+ from.
54
+ - Nobody leaves unsure whether their current work still matters.
55
+ - Disagreement has a named place to go.
56
+
57
+ ## Failure modes to catch
58
+
59
+ - **All doing, no cutting.** The brief announces new work but never says
60
+ what stops, so everything is now "also important" and nothing actually
61
+ changes. Force the cuts.
62
+ - **Abstraction with no Monday.** Fine words, no concrete change to anyone's
63
+ week. If you can't name what someone does differently, you haven't briefed
64
+ them, you've addressed them.
65
+ - **Missing why.** The team gets the "what" and none of the reason, so the
66
+ first time reality deviates they stall and wait for instruction. Put the
67
+ why in.
68
+ - **Board update in disguise.** Risks, asks, governance framing — aimed at
69
+ overseers, handed to executors. Rewrite around what changes for them, not
70
+ what you're accountable for.
71
+ - **No dissent channel.** The brief is broadcast-only, so disagreement goes
72
+ quiet and turns into drift. Name where pushback goes.
73
+ - **Over-rotation left unaddressed.** Silence on what stays the same, so a
74
+ team torches working practices to prove they're on board. Say what holds.
75
+
76
+ ## Save it as a workspace document
77
+
78
+ In the Skhema environment, the artifact you just wrote has a home: save it
79
+ as a workspace document so it stays versioned with the strategy and cites
80
+ the elements it stands on.
81
+
82
+ ```sh
83
+ echo '{"title":"<title>","docType":"team_brief","content":"<the markdown you wrote>","elementRefs":["<element-id>", "…"]}' > doc.json
84
+ skhema document create --workspace <workspace-id> --file doc.json
85
+ ```
86
+
87
+ Put every element you drew on into `elementRefs` — that tether is what lets
88
+ a later calibration pass tell the reader which briefs were built on a
89
+ judgment that has since gone stale. Working outside the Skhema environment?
90
+ The artifact is still complete as a file; save it wherever your team keeps
91
+ decisions.
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: skhema-compose
3
+ description: Use when a strategic question is too big to reason about in one go, or when you have a pile of notes, decisions, and facts that don't yet add up to a strategy. Break the big thing into small typed judgments; assemble the small judgments into a coherent structure.
4
+ ---
5
+
6
+ # Compose
7
+
8
+ Break it down, build it up.
9
+
10
+ Strategy work fails in two opposite ways. Either the question is too big to
11
+ hold in your head — "what should we do about the market shift?" — so nothing
12
+ moves. Or you have a hundred fragments — meeting notes, a pricing decision, a
13
+ competitor fact, three half-baked bets — and no way to see whether they form a
14
+ strategy or just a heap.
15
+
16
+ Both are the same problem: the wrong grain. This skill moves you between grains.
17
+ Big questions come apart into small, decidable pieces. Small pieces snap
18
+ together into a structure you can inspect, argue with, and revise.
19
+
20
+ ## The one distinction that makes this work
21
+
22
+ Before you write anything down, sort it into one of three kinds. Ask: am I
23
+ stating something I believe is **true**, something I've decided to **do**, or
24
+ naming a **thing**?
25
+
26
+ - A **judgment** — a claim about the world. "Enterprise buyers won't switch
27
+ mid-contract." "Our onboarding is the leak." These can be right or wrong;
28
+ they carry evidence and confidence.
29
+ - A **command** — a decision to act. "Focus every release on time-to-first-value."
30
+ "Stop selling to solo users." These can be followed or ignored; they don't
31
+ have a truth value, they have consequences.
32
+ - A **thing** — a named object. An outcome, a scope, a capability, an
33
+ initiative. "Self-serve activation." "The mid-market segment."
34
+
35
+ Almost all strategy confusion is these three getting mixed. A "goal" that's
36
+ secretly an untested assumption. A "decision" that's really just a hope. When
37
+ you decompose or assemble, you are always sorting pieces into these three kinds
38
+ first. The rest of the skill is what you do once they're sorted.
39
+
40
+ ## Capabilities
41
+
42
+ | You need to… | Route to |
43
+ |---|---|
44
+ | Take one big strategic question and break it into the discrete judgments it actually depends on | `references/decompose.md` |
45
+ | Take a pile of judgments and decisions and lay them into a strategy structure — see what belongs where, what's missing, what's premature | `references/assemble.md` |
46
+ | Connect an outcome you want to a measure you can watch and a starting number to compare against | `references/metrics-tree.md` |
47
+ | Compare two or more options honestly — same criteria, explicit trade-offs, evidence per option | `references/options.md` |
48
+
49
+ ## Routing
50
+
51
+ - The user has a **question they can't get traction on** ("I don't even know
52
+ where to start with X") → **decompose**. Output: a dependency-ordered list of
53
+ smaller judgments.
54
+ - The user has **material but no shape** — notes, prior decisions, a doc that
55
+ rambles → **assemble**. Output: pieces sorted into the five components, with
56
+ gaps and premature entries flagged.
57
+ - The user has a **goal or outcome and no way to know if they're winning** →
58
+ **metrics-tree**. Output: outcome → measure → baseline chains.
59
+ - The user is **stuck between paths** — "should we do A or B?" → **options**.
60
+ Output: options scored on shared criteria, trade-offs named.
61
+
62
+ These chain. A messy question usually goes decompose → assemble; an assembled
63
+ strategy usually exposes a missing measure (metrics-tree) or an unmade choice
64
+ (options). Don't force the whole chain — run the one that unblocks the user, and
65
+ name the next one.
66
+
67
+ ## The five components (used by assemble)
68
+
69
+ A strategy, laid out, reads in this order. Each component answers a different
70
+ question. Keep this order in your head whenever you assemble:
71
+
72
+ 1. **Diagnosis** — what's actually going on? The honest account of the situation
73
+ and the crux within it.
74
+ 2. **Method & Positioning** — the guiding approach. How we'll compete and win,
75
+ given the diagnosis.
76
+ 3. **Portfolio of Initiatives** — the coherent set of things we're actually
77
+ doing (and, just as loud, not doing).
78
+ 4. **Measures** — how we'll know it's working, and know early.
79
+ 5. **Support Structures** — the capabilities, systems, and resourcing that make
80
+ the above possible instead of aspirational.
81
+
82
+ ## Without a live respondent
83
+
84
+ Run headless, with no one to answer? Don't invent their answers. Make the
85
+ minimal reasonable assumption, mark it in the output as yours ("assumed: …"),
86
+ and list the questions only the owner can settle — what's in scope, what a word
87
+ means, whose dissent to record — at the end instead of papering over them. A
88
+ marked assumption is honest work; a silent one is a guess you built on.
89
+
90
+ ## Sharpen with Skhema
91
+
92
+ Everything above works with pen and paper. If you want the three kinds
93
+ (judgment / command / thing) checked for you rather than sorted by eye, the
94
+ `@skhema/method` package types every strategy element with an expected
95
+ grammatical *mood* — indicative for judgments, imperative for commands, noun
96
+ phrase for things — and flags pieces that are typed against their mood. Install
97
+ with `npm i @skhema/method` for the vocabulary and validators. The skill is
98
+ fully usable without it.
@@ -0,0 +1,119 @@
1
+ # Assemble — judgments into a strategy structure
2
+
3
+ Use this when the user has material but no shape: a pile of notes, a rambling
4
+ doc, a set of decisions made at different times, facts from a research spike.
5
+ Individually each piece might be fine. The problem is you can't tell whether
6
+ together they form a strategy or just a heap. Assembling lays every piece into
7
+ the five components so gaps and misfits become visible.
8
+
9
+ A strategy is assembled well when someone can read the five components top to
10
+ bottom and each one follows from the one above it — the method answers the
11
+ diagnosis, the initiatives enact the method, the measures watch the initiatives.
12
+
13
+ ## The five components, and what belongs in each
14
+
15
+ Lay them in this order. Each answers one question.
16
+
17
+ 1. **Diagnosis** — *what is actually going on?* The honest account of the
18
+ situation and the single crux inside it. Mostly **judgments** (claims about
19
+ the world) plus the facts behind them. Not "we want to grow" — that's a wish.
20
+ "Growth has stalled because activation dropped from 40% to 22% after the
21
+ pricing change" — that's a diagnosis.
22
+
23
+ 2. **Method & Positioning** — *how will we win, given that?* The guiding
24
+ approach and where you choose to stand. One or a few **commands** at high
25
+ altitude — the overall approach every lower decision must obey. "Compete on
26
+ time-to-value, not feature breadth." This is the pivot: it must answer the
27
+ diagnosis directly.
28
+
29
+ 3. **Portfolio of Initiatives** — *what are we actually doing?* The coherent set
30
+ of actions, and loudly what you're *not* doing. **Commands** (things to do)
31
+ and the **things** they act on. Every initiative should trace up to the
32
+ method. An initiative that doesn't is either miscategorized or a stray pet
33
+ project — flag it.
34
+
35
+ 4. **Measures** — *how will we know it's working, early?* **Things** (the
36
+ outcomes and the variables you watch) with baselines. If a measure has no
37
+ baseline it can't tell you anything yet — hand that to metrics-tree.
38
+
39
+ 5. **Support Structures** — *what makes this possible rather than aspirational?*
40
+ The capabilities, systems, hiring, and resourcing the portfolio needs. Often
41
+ the quietest component and the one that sinks strategies when it's empty.
42
+
43
+ ## The move
44
+
45
+ ### 1. Empty the pile onto the table
46
+
47
+ List every piece the user has, briefly. Don't organize yet. You're taking
48
+ inventory.
49
+
50
+ ### 2. Sort each piece by kind, then place it
51
+
52
+ For each piece, first tag it — judgment, command, or thing (see SKILL.md). The
53
+ kind hints at altitude — high-altitude commands read as Method, concrete
54
+ commands as the Portfolio — but the kind does NOT by itself decide the
55
+ component (judgments, for instance, don't simply "cluster in Diagnosis": an
56
+ assumption_hypothesis belongs in the Portfolio and a constraint in Method). If
57
+ you are working in the Skhema environment, placement is constrained — the
58
+ vocabulary's type→component mapping is the authority, not grammatical mood; see
59
+ `skhema-operate` author-elements for the enforced table. Then place each piece
60
+ in the component it answers, and say the placement out loud so the user can
61
+ object.
62
+
63
+ ### 3. Read each component and test the seam above it
64
+
65
+ Go component by component and check the join to the one before:
66
+
67
+ - Does **Method** actually answer the **Diagnosis**, or a different problem than
68
+ the one diagnosed? (Common: a diagnosis about activation, a method about
69
+ enterprise sales. The seam is broken.)
70
+ - Does every **Initiative** trace up to the **Method**? Cross out any that
71
+ don't, or move them.
72
+ - Does every **Measure** watch something an **Initiative** moves? A measure
73
+ watching nothing you're doing is theater.
74
+ - Do the **Support Structures** actually cover what the Portfolio needs, or is
75
+ the plan assuming capabilities nobody has?
76
+
77
+ ### 4. Name the three failure states
78
+
79
+ As you place pieces, call out each of these the moment you see it:
80
+
81
+ - **Missing** — a component is thin or empty. An empty Diagnosis means the
82
+ strategy is a list of actions with no reason. An empty Support Structures
83
+ means it's a wish. Empty Measures means it can't be steered.
84
+ - **Premature** — a piece is placed further down than the evidence supports. A
85
+ detailed Portfolio built on a Diagnosis that's still guesses is premature;
86
+ the initiatives are elaborate bets on an unverified claim. Push it back up:
87
+ "resolve the diagnosis before committing this initiative."
88
+ - **Misfiled** — a piece is in the wrong component. An "outcome" sitting in the
89
+ Portfolio (it's a Measure). A "decision" in the Diagnosis (it's a command, it
90
+ belongs in Method or Portfolio). Move it and say why.
91
+
92
+ ## What good output looks like
93
+
94
+ The five components with the user's own pieces slotted in, plus a short verdict
95
+ per component: *solid / thin / missing / premature*. And one headline: the
96
+ single most important gap or misfit. For example:
97
+
98
+ > **Diagnosis** — solid (activation drop, well-evidenced).
99
+ > **Method** — *thin.* You have initiatives but no stated guiding approach; the
100
+ > initiatives don't share a logic. This is the gap to close first.
101
+ > **Portfolio** — five initiatives; two don't trace to any method. Premature.
102
+ > **Measures** — one measure, no baseline (hand to metrics-tree).
103
+ > **Support Structures** — empty. Two initiatives assume a data team you don't
104
+ > have.
105
+ >
106
+ > **Headline:** you have actions and a diagnosis but no method connecting them.
107
+ > Write the guiding approach; half the portfolio will fall away on its own.
108
+
109
+ ## Failure modes to catch
110
+
111
+ - **Forcing the pile to fit.** If a piece won't go anywhere, that's signal —
112
+ maybe it's noise, maybe it reveals a missing component. Don't jam it in.
113
+ - **Skipping the seams.** Placing pieces is easy; the value is testing whether
114
+ each component follows from the one above. Always walk the seams.
115
+ - **Portfolio-heavy strategies.** Most piles are 80% initiatives. A fat Portfolio
116
+ over a thin Diagnosis/Method is the single most common misfit. Say it.
117
+ - **Treating assembly as done.** Assembly reveals gaps; it doesn't fill them.
118
+ Hand missing measures to metrics-tree, unmade choices to options, and a shaky
119
+ diagnosis back to decompose.
@@ -0,0 +1,104 @@
1
+ # Decompose — big question into discrete judgments
2
+
3
+ Use this when the user has a strategic question too big to reason about in one
4
+ sitting: "what do we do about the platform shift?", "how do we fix retention?",
5
+ "should we move upmarket?" The goal is not to answer it. The goal is to break it
6
+ into the smaller judgments it secretly depends on, so each can be decided on its
7
+ own and in the right order.
8
+
9
+ A question is decomposed well when every piece is something a person could argue
10
+ is true or false, or decide yes or no, without first answering another piece.
11
+
12
+ ## The move
13
+
14
+ Work through this WITH the user. Don't hand them a finished tree — build it in
15
+ front of them, one question at a time.
16
+
17
+ ### 1. Restate the question as a single sentence
18
+
19
+ Make them commit to one sentence. If they can't, that's the first finding: the
20
+ "question" is two or three questions wearing a trench coat. Split it and pick
21
+ one to decompose now.
22
+
23
+ ### 2. Ask "what would have to be true or decided for this to have an answer?"
24
+
25
+ This is the whole engine. For the top question, ask it once and collect every
26
+ piece the user surfaces. Push for pieces, not prose. Bad: "we need to understand
27
+ the market better." Good: "will incumbents cut price when we enter?" — that's a
28
+ judgment someone can hold a position on.
29
+
30
+ Keep asking until pieces stop being decidable and start being restatements of
31
+ the top question. Then stop.
32
+
33
+ ### 3. Sort each piece into its kind
34
+
35
+ For every piece, tag it out loud:
36
+
37
+ - **Judgment** (a claim about the world) — "churn is driven by onboarding, not
38
+ price." Right or wrong; carries evidence.
39
+ - **Command** (a decision to act) — "we will not build a mobile app this year."
40
+ Followed or not; carries consequences.
41
+ - **Thing** (a named object) — "the activation metric", "the SMB segment."
42
+
43
+ If a piece won't sort cleanly, it's usually two pieces fused. "We should target
44
+ enterprise because they don't churn" is a command ("target enterprise") welded
45
+ to a judgment ("enterprise don't churn"). Split it. The judgment can be wrong
46
+ while the command still stands, or vice versa — that's exactly why they must be
47
+ separate.
48
+
49
+ ### 4. Draw the dependencies
50
+
51
+ For each piece, ask: "does deciding this depend on any other piece first?" Draw
52
+ the arrows. You are looking for three shapes:
53
+
54
+ - **Roots** — pieces that depend on nothing. These get decided first. Often
55
+ they're judgments about the world (facts to check, assumptions to test).
56
+ - **Chains** — B can't be decided until A is. Sequence the work along these.
57
+ - **Independent** — pieces with no arrows between them can be worked in
58
+ parallel, possibly by different people.
59
+
60
+ The dependency shape IS the plan of attack. A judgment everything else hangs on
61
+ ("do enterprise buyers actually churn less?") is the one to resolve first,
62
+ because being wrong about it collapses everything downstream.
63
+
64
+ ### 5. Mark confidence and the load-bearing pieces
65
+
66
+ For each judgment, ask the user how sure they are and what it rests on. Flag the
67
+ ones that are (a) load-bearing — lots of arrows point out of them — and (b)
68
+ low-confidence. That intersection is where the strategy is most fragile. Say so
69
+ plainly: "your whole plan assumes X, and you told me you're guessing about X.
70
+ Resolve X before anything else."
71
+
72
+ ## What good output looks like
73
+
74
+ A short, dependency-ordered list. For example, decomposing "should we move
75
+ upmarket to enterprise?":
76
+
77
+ - **Judgment, root, low confidence:** enterprise buyers churn less than SMB.
78
+ *(load-bearing — three other pieces depend on it; resolve first)*
79
+ - **Judgment, root:** our current product clears enterprise security review.
80
+ - **Judgment, depends on the two above:** we can reach enterprise buyers without
81
+ a field sales team.
82
+ - **Command, depends on all judgments above:** shift the next two quarters of
83
+ roadmap to enterprise readiness.
84
+ - **Thing:** "enterprise-ready" — needs its own definition before the command
85
+ above means anything.
86
+
87
+ Notice the last line: decomposition often surfaces a *thing* that nobody has
88
+ defined, and the strategy can't proceed until it's named. Surfacing that is a
89
+ win, not a loose end.
90
+
91
+ ## Failure modes to catch
92
+
93
+ - **Boiling the ocean.** If you've generated 30 pieces, you decomposed the
94
+ universe, not the question. Prune to the pieces that actually gate a decision.
95
+ - **Fake pieces.** "We need more data" is not a judgment or a command. Ask: data
96
+ about *what*, to decide *what*? until it becomes a real piece or disappears.
97
+ - **Restatement loops.** If a "smaller" piece is just the big question reworded,
98
+ you've hit the bottom. Stop decomposing that branch.
99
+ - **Solutions in disguise.** Users smuggle in the answer they already want as if
100
+ it were a neutral piece. Name it: "that's a command you've pre-decided — is it
101
+ actually settled, or are we deciding it here?"
102
+ - **All commands, no judgments.** A decomposition that's all "we will…" with no
103
+ underlying claims about the world is a wish list. Every command should trace
104
+ back to a judgment that justifies it.