@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.
- package/package.json +1 -1
- package/skills/.manifest.json +8 -10
- package/skills/skhema-calibrate/SKILL.md +90 -0
- package/skills/skhema-calibrate/references/assumptions.md +77 -0
- package/skills/skhema-calibrate/references/coherence.md +95 -0
- package/skills/skhema-calibrate/references/freshness.md +81 -0
- package/skills/skhema-calibrate/references/language.md +74 -0
- package/skills/skhema-communicate/SKILL.md +94 -0
- package/skills/skhema-communicate/references/audience-adaptation.md +103 -0
- package/skills/skhema-communicate/references/board-update.md +93 -0
- package/skills/skhema-communicate/references/decision-brief.md +93 -0
- package/skills/skhema-communicate/references/team-brief.md +91 -0
- package/skills/skhema-compose/SKILL.md +98 -0
- package/skills/skhema-compose/references/assemble.md +119 -0
- package/skills/skhema-compose/references/decompose.md +104 -0
- package/skills/skhema-compose/references/metrics-tree.md +101 -0
- package/skills/skhema-compose/references/options.md +109 -0
- package/skills/skhema-frame/SKILL.md +86 -0
- package/skills/skhema-frame/references/challenge.md +84 -0
- package/skills/skhema-frame/references/decision.md +92 -0
- package/skills/skhema-frame/references/outcome.md +82 -0
- package/skills/skhema-frame/references/policy.md +82 -0
- package/skills/skhema-frame/references/scope.md +79 -0
- package/skills/skhema-operate/SKILL.md +107 -0
- package/skills/skhema-operate/references/auth.md +110 -0
- package/skills/skhema-operate/references/author-elements.md +158 -0
- package/skills/skhema-operate/references/navigate.md +110 -0
- package/skills/skhema-operate/references/surfaces.md +67 -0
- package/skills/skhema-operate/references/validation-loop.md +84 -0
- package/skills/skhema-pressure-test/SKILL.md +107 -0
- package/skills/skhema-pressure-test/references/decision-grill.md +127 -0
- package/skills/skhema-pressure-test/references/full-grill.md +118 -0
- package/skills/skhema-pressure-test/references/pre-mortem.md +140 -0
- package/skills/skhema-challenge-framing/SKILL.md +0 -28
- package/skills/skhema-coherence-check/SKILL.md +0 -28
- package/skills/skhema-element-decomposition/SKILL.md +0 -28
- package/skills/skhema-element-writer/SKILL.md +0 -20
- package/skills/skhema-judgment-audit/SKILL.md +0 -28
- package/skills/skhema-semantic-sharpening/SKILL.md +0 -28
- package/skills/skhema-strategy-advisor/SKILL.md +0 -20
- package/skills/skhema-workspace-navigator/SKILL.md +0 -20
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Metrics-tree — outcomes to measures to baselines
|
|
2
|
+
|
|
3
|
+
Use this when the user has a goal or outcome they care about but no honest way to
|
|
4
|
+
know if they're winning: "we want better retention", "grow the pipeline",
|
|
5
|
+
"improve activation." An outcome you can't observe is a hope. This move connects
|
|
6
|
+
each outcome to something you can actually watch, and to a starting number you
|
|
7
|
+
can compare against — so movement is visible and arguable.
|
|
8
|
+
|
|
9
|
+
The rule that makes it work: **every outcome needs a measure, and every measure
|
|
10
|
+
needs a baseline.** No measure, and the outcome is unfalsifiable. No baseline,
|
|
11
|
+
and the measure can't tell you if anything changed.
|
|
12
|
+
|
|
13
|
+
## The three links in each chain
|
|
14
|
+
|
|
15
|
+
1. **Outcome** — the *thing* you want to be true. State it as a noun phrase, not
|
|
16
|
+
a wish. "Activated accounts in week one." Not "improve activation" (that's a
|
|
17
|
+
command; the outcome is the state you're steering toward).
|
|
18
|
+
2. **Measure** — the observable variable that stands in for the outcome. "% of
|
|
19
|
+
new accounts that complete first key action within 7 days." It must be
|
|
20
|
+
something you can currently read or start reading. If you can't observe it,
|
|
21
|
+
it's not a measure yet.
|
|
22
|
+
3. **Baseline** — the starting value, dated. "22%, as of June." Without this,
|
|
23
|
+
"we hit 30%" means nothing — up from what?
|
|
24
|
+
|
|
25
|
+
Chain them: **outcome → measure → baseline.**
|
|
26
|
+
|
|
27
|
+
## The move
|
|
28
|
+
|
|
29
|
+
### 1. Name the outcome as a state, not an action
|
|
30
|
+
|
|
31
|
+
Push the user from verb to noun. "Improve onboarding" → "new users reaching
|
|
32
|
+
first value." You're steering toward a state of the world; name that state.
|
|
33
|
+
|
|
34
|
+
### 2. Ask "what would you watch to know this is happening?"
|
|
35
|
+
|
|
36
|
+
For each outcome, get one measure — or a small handful. Pressure each candidate:
|
|
37
|
+
|
|
38
|
+
- **Can you observe it now, or soon?** If it needs instrumentation you don't
|
|
39
|
+
have, that's a Support Structure task; note it and don't pretend the measure
|
|
40
|
+
exists yet.
|
|
41
|
+
- **Does it move only when the outcome moves?** A measure that a dozen unrelated
|
|
42
|
+
things push around is a bad proxy. "Total signups" is a poor proxy for
|
|
43
|
+
activation — a marketing spike moves it without any activation change.
|
|
44
|
+
- **Can it be gamed without the outcome improving?** If yes, expect it to be.
|
|
45
|
+
Prefer measures that are hard to move without actually delivering the outcome.
|
|
46
|
+
|
|
47
|
+
### 3. Get the baseline — the real one, dated
|
|
48
|
+
|
|
49
|
+
For each measure, ask for the current value and when it was taken. Three cases:
|
|
50
|
+
|
|
51
|
+
- **Known** — write it with its date. Done.
|
|
52
|
+
- **Knowable but not looked up** — send them to get it. A baseline you'll fill
|
|
53
|
+
in "later" is a baseline you don't have.
|
|
54
|
+
- **Unknowable right now** — the honest answer is "we don't measure this yet."
|
|
55
|
+
Then the first initiative is to start measuring, and the baseline is the first
|
|
56
|
+
reading. Say so; don't invent a number.
|
|
57
|
+
|
|
58
|
+
A guessed baseline is worse than none — it manufactures false movement.
|
|
59
|
+
|
|
60
|
+
### 4. Add a leading measure where the outcome is slow
|
|
61
|
+
|
|
62
|
+
Some outcomes only show up quarters later (retention, LTV). Watching only the
|
|
63
|
+
lagging measure means you learn you failed far too late. Ask: "what moves early
|
|
64
|
+
that predicts this?" Pair a **leading** measure (activation this week) with the
|
|
65
|
+
**lagging** one (retention next quarter). The leading one steers; the lagging
|
|
66
|
+
one confirms.
|
|
67
|
+
|
|
68
|
+
### 5. Check the tree connects to real decisions
|
|
69
|
+
|
|
70
|
+
For each measure ask: "if this number moved the wrong way next week, what would
|
|
71
|
+
you do differently?" If the answer is "nothing," the measure is decoration —
|
|
72
|
+
cut it. Every measure should be tied to an action you'd take when it moves.
|
|
73
|
+
|
|
74
|
+
## What good output looks like
|
|
75
|
+
|
|
76
|
+
A small set of chains, each complete, leading + lagging where relevant:
|
|
77
|
+
|
|
78
|
+
> **Outcome:** new accounts reaching first value.
|
|
79
|
+
> **Leading measure:** % completing first key action within 7 days.
|
|
80
|
+
> **Baseline:** 22%, June.
|
|
81
|
+
> **Lagging measure:** 90-day retention of those accounts.
|
|
82
|
+
> **Baseline:** not currently measured → first initiative is to instrument it;
|
|
83
|
+
> baseline = first reading.
|
|
84
|
+
> **If it drops:** we pause feature work and audit the onboarding flow.
|
|
85
|
+
|
|
86
|
+
Three chains like this beat a dashboard of twenty numbers nobody acts on.
|
|
87
|
+
|
|
88
|
+
## Failure modes to catch
|
|
89
|
+
|
|
90
|
+
- **Vanity measures.** Big, always-up-and-to-the-right numbers (total users,
|
|
91
|
+
cumulative signups) that can't go down and so can't inform anything. Reject.
|
|
92
|
+
- **Outcome = measure confusion.** "Our goal is 30% activation" collapses the
|
|
93
|
+
outcome (users reaching value) into one measure. Keep them distinct so you can
|
|
94
|
+
swap a bad proxy without losing the goal.
|
|
95
|
+
- **Missing baseline waved away.** "We'll figure out the baseline later" — no.
|
|
96
|
+
Either look it up now or make measuring it the first step. Don't proceed with a
|
|
97
|
+
hollow chain.
|
|
98
|
+
- **Only lagging measures.** All the measures resolve in six months. You've built
|
|
99
|
+
a strategy you can't steer, only autopsy. Add leading measures.
|
|
100
|
+
- **Measures with no action.** If nothing changes when the number moves, it's not
|
|
101
|
+
a measure, it's a decoration. Cut it.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Options — compare alternatives as typed judgments
|
|
2
|
+
|
|
3
|
+
Use this when the user is stuck between paths: "should we build or buy?", "A or
|
|
4
|
+
B or C?", "do we go upmarket or double down where we are?" The trap is that
|
|
5
|
+
options get argued in prose — a paragraph for each, each written to sound good,
|
|
6
|
+
none comparable. This move forces every option through the *same* criteria, so
|
|
7
|
+
the comparison is real and the trade-offs are explicit instead of buried in
|
|
8
|
+
adjectives.
|
|
9
|
+
|
|
10
|
+
An option set is compared well when a reader can see, for each option, how it
|
|
11
|
+
scores on every criterion, what it costs you, and what evidence backs the score —
|
|
12
|
+
and could disagree with a specific cell rather than a vibe.
|
|
13
|
+
|
|
14
|
+
## Why prose comparisons lie
|
|
15
|
+
|
|
16
|
+
Written as paragraphs, each option gets described on the dimensions where it
|
|
17
|
+
happens to look good and stays quiet on the rest. Option A's paragraph talks
|
|
18
|
+
speed; Option B's talks robustness; they never meet on the same axis. The
|
|
19
|
+
decision then goes to whoever wrote the most persuasive paragraph. Typing the
|
|
20
|
+
comparison — same criteria for all, evidence per cell — kills that.
|
|
21
|
+
|
|
22
|
+
## The move
|
|
23
|
+
|
|
24
|
+
### 1. State each option as one committable sentence
|
|
25
|
+
|
|
26
|
+
Each option is a **command** — a course of action you could actually choose.
|
|
27
|
+
"Build our own billing system." "Buy Stripe Billing and integrate it." Make each
|
|
28
|
+
one a single sentence the user would commit to, not a theme. If an "option" is
|
|
29
|
+
vague ("improve billing somehow"), it's not an option yet — it's a goal; send it
|
|
30
|
+
to decompose.
|
|
31
|
+
|
|
32
|
+
### 2. Fix the criteria BEFORE looking at the options
|
|
33
|
+
|
|
34
|
+
This is the discipline that makes the whole thing honest. Agree the criteria
|
|
35
|
+
first, with the options out of view, so nobody tunes the criteria to favor a
|
|
36
|
+
pre-chosen winner. Good criteria are:
|
|
37
|
+
|
|
38
|
+
- **Decision-relevant** — something that would actually change the choice.
|
|
39
|
+
- **Comparable across all options** — every option can be scored on it.
|
|
40
|
+
- **Few** — four to six. More than that and you're hiding the real drivers in
|
|
41
|
+
noise.
|
|
42
|
+
|
|
43
|
+
Typical: cost, time-to-value, reversibility, risk, fit with the strategy,
|
|
44
|
+
capability required.
|
|
45
|
+
|
|
46
|
+
### 3. Score every option on every criterion — same scale, evidence per cell
|
|
47
|
+
|
|
48
|
+
Build the grid: options as rows, criteria as columns. For each cell, give a score
|
|
49
|
+
(a number, or high/med/low) AND the evidence or reasoning behind it. A score with
|
|
50
|
+
no evidence is a guess typed as a judgment — mark it explicitly as an assumption
|
|
51
|
+
so its weight is visible. Fill every cell; a blank cell is usually the option's
|
|
52
|
+
weakness hiding.
|
|
53
|
+
|
|
54
|
+
### 4. Name the trade-off on each option out loud
|
|
55
|
+
|
|
56
|
+
Every option buys something and pays for it somewhere. State both:
|
|
57
|
+
"Build gives us full control and costs two quarters of engineering we'd take from
|
|
58
|
+
the roadmap." "Buy ships next month and locks us to their pricing and limits."
|
|
59
|
+
The point of options is not to find a free lunch; it's to choose which price you
|
|
60
|
+
prefer to pay. If an option looks strictly best on every criterion, you've
|
|
61
|
+
either found the obvious answer or your criteria are missing the dimension where
|
|
62
|
+
it's weak — check the latter first.
|
|
63
|
+
|
|
64
|
+
### 5. Separate reversible from one-way choices
|
|
65
|
+
|
|
66
|
+
Flag whether each option is easy to undo or hard. A cheap, reversible option
|
|
67
|
+
that scores second-best is often the right first move — you learn, then choose
|
|
68
|
+
again. A one-way door demands more evidence before you walk through it. Weight
|
|
69
|
+
the scores by this: on a reversible choice, bias toward acting and learning; on
|
|
70
|
+
an irreversible one, bias toward resolving the load-bearing judgments first.
|
|
71
|
+
|
|
72
|
+
### 6. Surface the load-bearing judgment under the choice
|
|
73
|
+
|
|
74
|
+
Most option decisions actually hinge on one uncertain judgment about the world.
|
|
75
|
+
"Build vs buy" often reduces to "will our needs outgrow the vendor's product?"
|
|
76
|
+
Name that judgment. Sometimes resolving it decides the whole thing and the grid
|
|
77
|
+
becomes unnecessary — that's a great outcome. Hand it to decompose if it needs
|
|
78
|
+
breaking down.
|
|
79
|
+
|
|
80
|
+
## What good output looks like
|
|
81
|
+
|
|
82
|
+
A grid, then a recommendation with its trade-off named:
|
|
83
|
+
|
|
84
|
+
| Criterion | A: Build | B: Buy | C: Partner |
|
|
85
|
+
|---|---|---|---|
|
|
86
|
+
| Time to value | 2 qtrs *(eng estimate)* | 3 wks *(vendor docs)* | 6 wks *(assumption)* |
|
|
87
|
+
| Cost | High *(2 eng, 2 qtrs)* | Med *(usage fee)* | Low upfront |
|
|
88
|
+
| Reversibility | Low — sunk build | High — swap vendor | Med |
|
|
89
|
+
| Strategy fit | High | Med | Low — off-mission |
|
|
90
|
+
|
|
91
|
+
> **Recommendation:** B. It's reversible and ships this quarter, buying us the
|
|
92
|
+
> learning to decide whether A is ever worth it. **Trade-off accepted:** vendor
|
|
93
|
+
> pricing risk and a feature ceiling we may hit in a year.
|
|
94
|
+
> **Load-bearing judgment:** will our billing needs outgrow the vendor within 18
|
|
95
|
+
> months? If yes, revisit; if no, B stands. Currently a guess — worth resolving.
|
|
96
|
+
|
|
97
|
+
## Failure modes to catch
|
|
98
|
+
|
|
99
|
+
- **Criteria tuned to the winner.** If the criteria appeared *after* someone
|
|
100
|
+
fell for an option, they're rigged. Set criteria first, options hidden.
|
|
101
|
+
- **Uneven scoring.** Option A judged on best case, Option B on worst. Use one
|
|
102
|
+
standard for all — same scale, same rigor per cell.
|
|
103
|
+
- **Straw options.** Two real contenders and one obviously bad option added to
|
|
104
|
+
make a favorite look inevitable. Every listed option should be one someone
|
|
105
|
+
could honestly defend.
|
|
106
|
+
- **Scores with no evidence.** A full grid of confident numbers, none backed by
|
|
107
|
+
anything, is prose in a table. Mark unbacked cells as assumptions.
|
|
108
|
+
- **Ignoring reversibility.** Scoring a one-way, bet-the-company choice the same
|
|
109
|
+
way as a cheap experiment. Always flag which doors swing both ways.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skhema-frame
|
|
3
|
+
description: "Use when someone starts a strategy process and can't yet say what it's about — a vague worry, an ambition, or a mandate that needs to become a workable strategic statement. Frames them back to the object they're actually trying to pin down: the challenge, the scope, the guiding policy, the outcome, or a single decision."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Frame
|
|
7
|
+
|
|
8
|
+
Someone comes to you with something they can't articulate yet. A worry
|
|
9
|
+
("I think we're falling behind"). An ambition ("we should own this
|
|
10
|
+
market"). A mandate ("the board wants a plan"). None of these is workable
|
|
11
|
+
yet. Your job is not to answer them. Your job is to frame them back to the
|
|
12
|
+
actual object they're trying to pin down, and to help them state it well
|
|
13
|
+
enough that work can start.
|
|
14
|
+
|
|
15
|
+
Framing is a strategic act, not a warm-up. The statement you settle on
|
|
16
|
+
decides what everything downstream argues about. Get it wrong and every
|
|
17
|
+
later step is precise about the wrong thing.
|
|
18
|
+
|
|
19
|
+
## The first move: which mood?
|
|
20
|
+
|
|
21
|
+
Before anything else, find out what KIND of thing they're trying to say.
|
|
22
|
+
Ask, in plain words:
|
|
23
|
+
|
|
24
|
+
> Are you trying to state something you believe is **true** (a judgment),
|
|
25
|
+
> something you've decided to **do** (a command), or **name a thing**?
|
|
26
|
+
|
|
27
|
+
Most stuck conversations are stuck because these are tangled — a worry
|
|
28
|
+
that's secretly a decision, a goal that's secretly a complaint. Separating
|
|
29
|
+
them is usually enough to unstick the person, and it tells you which
|
|
30
|
+
capability to run.
|
|
31
|
+
|
|
32
|
+
| They're framing… | Mood | Route to |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| The problem that actually exists — a claim about their world | judgment | `references/challenge.md` |
|
|
35
|
+
| What's in and what's out of this piece of work | command | `references/scope.md` |
|
|
36
|
+
| The direction they'll take, the approach they're committing to | command | `references/policy.md` |
|
|
37
|
+
| What success looks like — the state they want to reach | thing | `references/outcome.md` |
|
|
38
|
+
| One specific choice they're stuck on right now | (a choice, not yet made) | `references/decision.md` |
|
|
39
|
+
|
|
40
|
+
## How to pick
|
|
41
|
+
|
|
42
|
+
- They're anxious, overwhelmed, or describing symptoms ("sales are down",
|
|
43
|
+
"morale is bad") → **challenge**. They have a symptom, not a problem.
|
|
44
|
+
Frame the challenge underneath it.
|
|
45
|
+
- They keep expanding — every conversation adds another thing the strategy
|
|
46
|
+
"should also cover" → **scope**. Force the in/out line.
|
|
47
|
+
- They have a clear problem but keep restating the goal instead of saying
|
|
48
|
+
what they'll DO about it → **policy**. Push for a committed direction.
|
|
49
|
+
- They say "success is when…" and it comes out fuzzy, or unmeasurable, or
|
|
50
|
+
actually a list of activities → **outcome**. Make it observable.
|
|
51
|
+
- They're circling one fork — "should we build or buy", "do we hire now or
|
|
52
|
+
wait" — and can't move → **decision**. Frame the choice itself.
|
|
53
|
+
|
|
54
|
+
If they need more than one, do them in this order: challenge first (it
|
|
55
|
+
anchors the rest), then scope, then policy, then outcome. A decision can be
|
|
56
|
+
framed at any point it blocks them.
|
|
57
|
+
|
|
58
|
+
Don't do their thinking for them. Your questions surface THEIR answer. A
|
|
59
|
+
frame you hand over gets nodded at and forgotten; a frame they arrived at
|
|
60
|
+
under your questioning, they own.
|
|
61
|
+
|
|
62
|
+
## What "framed" means
|
|
63
|
+
|
|
64
|
+
A capability is done when the person can say the object in one sentence,
|
|
65
|
+
out loud, without hedging, and a second person would read it the same way.
|
|
66
|
+
Until then, keep probing. Each reference file tells you what good looks
|
|
67
|
+
like for its object and the failure modes to catch.
|
|
68
|
+
|
|
69
|
+
## Without a live respondent
|
|
70
|
+
|
|
71
|
+
Run headless, with no one to answer? Don't invent their answers. Make the
|
|
72
|
+
minimal reasonable assumption, mark it in the output as yours ("assumed: …"),
|
|
73
|
+
and list the questions only the owner can settle — what's in scope, what a word
|
|
74
|
+
means, whose dissent to record — at the end instead of papering over them. A
|
|
75
|
+
marked assumption is honest work; a silent one is a guess you built on.
|
|
76
|
+
|
|
77
|
+
## Sharpen with Skhema
|
|
78
|
+
|
|
79
|
+
Every object you frame here maps to a typed element in the Skhema method,
|
|
80
|
+
each with an expected grammatical mood — a judgment reads as an indicative
|
|
81
|
+
claim, a command as an imperative, a thing as a noun phrase. If the mood of
|
|
82
|
+
what they wrote doesn't match the object they claim to be framing, it's the
|
|
83
|
+
wrong object. `npm i @skhema/method` gives you the typed vocabulary and a
|
|
84
|
+
validator that flags the mismatch for you. You don't need it to run this
|
|
85
|
+
skill — but it turns the "which mood?" question from a judgment call into a
|
|
86
|
+
check.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Frame the challenge
|
|
2
|
+
|
|
3
|
+
The challenge is the problem that actually exists — the honest, specific
|
|
4
|
+
account of what's in the way. Mood: **judgment**. It's a claim about their
|
|
5
|
+
world, so it must be true, or at least testable. Most people arrive with a
|
|
6
|
+
symptom and mistake it for the challenge. Your job is to get under the
|
|
7
|
+
symptom to the thing worth solving, and stop before it turns into a
|
|
8
|
+
solution in disguise.
|
|
9
|
+
|
|
10
|
+
## The moves
|
|
11
|
+
|
|
12
|
+
Run these in order. Each is a question you ask and wait for.
|
|
13
|
+
|
|
14
|
+
1. **Get the raw version.** "In one sentence, what's the problem?" Let them
|
|
15
|
+
ramble first, then ask for the sentence. Write it down verbatim.
|
|
16
|
+
|
|
17
|
+
2. **Test whether it's a symptom.** Ask "why is that a problem?" — up to
|
|
18
|
+
three times. "Sales are down." Why does that matter? "We'll miss the
|
|
19
|
+
quarter." Why is that happening? "Our top competitor undercut us on
|
|
20
|
+
price and we had no answer." The third answer is usually closer to the
|
|
21
|
+
challenge than the first. Stop when the answer stops being a
|
|
22
|
+
consequence and starts being a cause you could act on.
|
|
23
|
+
|
|
24
|
+
3. **Cut the solution out.** If their statement contains a verb of action
|
|
25
|
+
("we need to hire a VP of Sales", "we should rebuild the app"), it's a
|
|
26
|
+
solution wearing a problem's clothes. Ask: "if that turned out to be the
|
|
27
|
+
wrong fix, what problem would still be sitting there?" Frame THAT.
|
|
28
|
+
|
|
29
|
+
4. **Bound it.** A challenge you could spend ten years on isn't a
|
|
30
|
+
challenge, it's a condition. Ask "which part of this is ours to move in
|
|
31
|
+
the next [quarter / year]?" Narrow until it fits the time and the
|
|
32
|
+
authority they actually have.
|
|
33
|
+
|
|
34
|
+
5. **Read it back.** State the framed challenge in one sentence and ask
|
|
35
|
+
"is that the problem — or did I just describe a symptom of it?" Let them
|
|
36
|
+
correct you. Iterate until they say "yes, that's it" without a caveat.
|
|
37
|
+
|
|
38
|
+
## What good looks like
|
|
39
|
+
|
|
40
|
+
A framed challenge is:
|
|
41
|
+
|
|
42
|
+
- **Specific** — names the actual friction, not a category. Not "we have a
|
|
43
|
+
growth problem" but "we win trials but lose them at the paid-conversion
|
|
44
|
+
step".
|
|
45
|
+
- **A problem, not a solution** — describes what's wrong, leaves the how
|
|
46
|
+
open. If only one action could possibly follow, you've framed a solution.
|
|
47
|
+
- **Bounded** — scoped to something they can move in a stated timeframe
|
|
48
|
+
with the authority they have.
|
|
49
|
+
- **Testable** — a claim about the world that evidence could confirm or
|
|
50
|
+
refute. "Customers don't trust us" is testable; "we lack synergy" is not.
|
|
51
|
+
- **Owned** — they'd say it unprompted to their own boss.
|
|
52
|
+
|
|
53
|
+
Worked example. Arrives as: "Our onboarding is broken and we need to
|
|
54
|
+
redesign it." Under questioning: trials convert fine on the free step, but
|
|
55
|
+
90% never reach the paid step, and the drop happens right after the team-
|
|
56
|
+
invite screen. Framed challenge: *"New teams stall at the invite step and
|
|
57
|
+
never reach the paid tier — we're losing 90% of otherwise-activated trials
|
|
58
|
+
in one screen."* Notice: no solution (redesign might be wrong), specific
|
|
59
|
+
(one screen, one number), testable, bounded.
|
|
60
|
+
|
|
61
|
+
## Failure modes to catch
|
|
62
|
+
|
|
63
|
+
- **Symptom mistaken for challenge.** "Revenue is flat" is a reading on the
|
|
64
|
+
dial, not the problem. Ask why until you reach something actionable.
|
|
65
|
+
- **Solution smuggled in.** Any "we need to [do X]" framing. Extract the
|
|
66
|
+
problem X is meant to solve.
|
|
67
|
+
- **Boiling the ocean.** "We need to transform the business." Too big to
|
|
68
|
+
act on. Force the next-move-sized slice.
|
|
69
|
+
- **Two challenges in a trench coat.** If the sentence has an "and" joining
|
|
70
|
+
two different problems, split them and frame the one that matters most
|
|
71
|
+
first; note the other so it isn't lost.
|
|
72
|
+
- **Consensus mush.** A challenge everyone instantly agrees with is usually
|
|
73
|
+
too vague to be wrong. If nobody could disagree, it isn't sharp yet.
|
|
74
|
+
- **Blame dressed as diagnosis.** "The problem is that marketing won't
|
|
75
|
+
ship." That's an accusation, not a framed challenge. Reframe to the
|
|
76
|
+
situation, not the culprit.
|
|
77
|
+
|
|
78
|
+
## When they're really framing something else
|
|
79
|
+
|
|
80
|
+
- If, once the challenge is clear, they immediately know what to do about
|
|
81
|
+
it, they didn't need a challenge — they need to commit that direction.
|
|
82
|
+
Move to `policy.md`.
|
|
83
|
+
- If the challenge keeps sprawling because they won't decide what's out of
|
|
84
|
+
bounds, move to `scope.md` first, then come back.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Frame a single decision
|
|
2
|
+
|
|
3
|
+
Sometimes the whole strategy is stuck behind one fork. Build or buy. This
|
|
4
|
+
segment or that one. Hire now or wait. The person circles it and can't
|
|
5
|
+
move. A decision isn't a mood-typed element the way a challenge or policy
|
|
6
|
+
is — it's the choice you resolve BEFORE you can state the command. Your job
|
|
7
|
+
is to frame the choice cleanly: the real question, the genuine options,
|
|
8
|
+
what evidence would actually settle it, and whether it can be undone. A
|
|
9
|
+
well-framed decision often answers itself.
|
|
10
|
+
|
|
11
|
+
## The moves
|
|
12
|
+
|
|
13
|
+
1. **Extract the real question.** People state decisions as a preferred
|
|
14
|
+
answer ("we should just build it"). Ask "what's the actual question
|
|
15
|
+
here?" and phrase it as a fork: "Do we build the integration ourselves
|
|
16
|
+
or buy an off-the-shelf one?" One question, not a bundle. If there are
|
|
17
|
+
three tangled questions, separate them and frame the one that blocks the
|
|
18
|
+
others.
|
|
19
|
+
|
|
20
|
+
2. **Lay out the genuine options.** Ask "what are the real choices — two,
|
|
21
|
+
maybe three?" Kill fake options (the strawman nobody would pick) and
|
|
22
|
+
surface hidden ones (the "do nothing / not yet" option is almost always
|
|
23
|
+
real and almost always omitted). Each option should be one someone could
|
|
24
|
+
honestly argue for.
|
|
25
|
+
|
|
26
|
+
3. **Name what would settle it.** For each option, ask "what would have to
|
|
27
|
+
be true for this to be the right call?" Then: "what evidence would tell
|
|
28
|
+
us whether it's true — and do we have it, or can we get it cheaply?"
|
|
29
|
+
This turns a values argument into a question of fact wherever possible.
|
|
30
|
+
If the deciding evidence is gettable in a day, get it before deciding.
|
|
31
|
+
|
|
32
|
+
4. **Test reversibility.** Ask "if we pick this and we're wrong, how hard
|
|
33
|
+
is it to undo?" Sort the decision:
|
|
34
|
+
- **Reversible (a two-way door):** cheap to unwind. Don't agonise —
|
|
35
|
+
pick the most likely-right option fast, and treat it as a test. The
|
|
36
|
+
cost of deliberating exceeds the cost of being wrong.
|
|
37
|
+
- **Irreversible (a one-way door):** expensive or impossible to unwind.
|
|
38
|
+
Slow down, gather the settling evidence, widen the options. This is
|
|
39
|
+
where care pays.
|
|
40
|
+
Say which kind it is out loud — people routinely agonise over reversible
|
|
41
|
+
calls and rush irreversible ones.
|
|
42
|
+
|
|
43
|
+
5. **State the frame back.** "The question is [fork]. The real options are
|
|
44
|
+
[A, B, do-nothing]. It turns on whether [X] is true, which we could
|
|
45
|
+
learn by [evidence]. It's [reversible / irreversible], so we should
|
|
46
|
+
[move fast and test / slow down and verify]." Often, at this point, the
|
|
47
|
+
answer is obvious and they decide on the spot.
|
|
48
|
+
|
|
49
|
+
## What good looks like
|
|
50
|
+
|
|
51
|
+
- **One question, as a fork** — not a bundle, not a pre-loaded answer.
|
|
52
|
+
- **Genuine options** — each defensible; the do-nothing option included;
|
|
53
|
+
no strawmen.
|
|
54
|
+
- **Evidence-anchored** — names what fact would settle it and whether
|
|
55
|
+
that fact is obtainable, separating "we disagree on facts" from "we
|
|
56
|
+
disagree on values."
|
|
57
|
+
- **Reversibility called** — explicitly tagged one-way or two-way, with the
|
|
58
|
+
matching tempo (fast-and-testable vs slow-and-verified).
|
|
59
|
+
- **Decidable** — after the frame, a reasonable person could make the call,
|
|
60
|
+
or knows exactly what to go learn first.
|
|
61
|
+
|
|
62
|
+
Worked example. Stuck on: "we should build our own billing." Framed: *"The
|
|
63
|
+
question is whether we build billing in-house or adopt a provider. Options:
|
|
64
|
+
build, adopt a provider, or stay on the manual process one more quarter. It
|
|
65
|
+
turns on whether our pricing is stable enough that off-the-shelf tiers
|
|
66
|
+
fit — which we'll know from the pricing review already underway. Adopting a
|
|
67
|
+
provider is largely reversible; building is not. So: don't build yet;
|
|
68
|
+
adopt a provider now as the reversible move, and revisit only if the
|
|
69
|
+
pricing review shows we're genuinely non-standard."*
|
|
70
|
+
|
|
71
|
+
## Failure modes to catch
|
|
72
|
+
|
|
73
|
+
- **Pre-loaded answer.** "Should we build it (yes)?" Not a decision, a
|
|
74
|
+
request for agreement. Force the honest fork.
|
|
75
|
+
- **Missing the do-nothing option.** "Wait" / "not yet" is almost always
|
|
76
|
+
available and often best. Always surface it.
|
|
77
|
+
- **Strawman options.** Two choices where one is obviously absurd. That's a
|
|
78
|
+
decision already made, dressed as deliberation.
|
|
79
|
+
- **Values fight that's really a facts fight.** They're arguing preferences
|
|
80
|
+
when a cheap piece of evidence would settle it. Find the fact, get it.
|
|
81
|
+
- **Agonising over a two-way door.** Slow, careful process on a decision
|
|
82
|
+
that's trivial to reverse. Name it reversible and move.
|
|
83
|
+
- **Rushing a one-way door.** Fast call on something they can't undo. Name
|
|
84
|
+
it irreversible and slow down.
|
|
85
|
+
|
|
86
|
+
## When they're really framing something else
|
|
87
|
+
|
|
88
|
+
- If resolving this one fork wouldn't actually unblock them — there are
|
|
89
|
+
really many entangled choices — they may need `challenge.md` to reframe
|
|
90
|
+
the problem, or `scope.md` to bound what's even being decided this round.
|
|
91
|
+
- Once decided, an irreversible directional choice usually becomes a
|
|
92
|
+
`policy.md`; capture it there so it guides what follows.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Frame the outcome
|
|
2
|
+
|
|
3
|
+
An outcome is the state they want to reach — success, named as a thing.
|
|
4
|
+
Mood: **noun phrase**. It's not a verb ("increase retention"), not an
|
|
5
|
+
instruction, not a list of activities. It's the world as it will be when
|
|
6
|
+
they've succeeded, stated so plainly that anyone could later look and say
|
|
7
|
+
"yes, that happened" or "no, it didn't." Your job is to turn a fuzzy
|
|
8
|
+
aspiration into something observable, attributable, and time-bound — and to
|
|
9
|
+
keep it distinct from the measures that will track it.
|
|
10
|
+
|
|
11
|
+
## The moves
|
|
12
|
+
|
|
13
|
+
1. **Ask for the finished world, not the effort.** "When this has worked,
|
|
14
|
+
what's true that isn't true today?" If they answer with activities ("we'll
|
|
15
|
+
have shipped the new onboarding, run the campaign…"), stop them: those
|
|
16
|
+
are the work, not the outcome. Ask again for the resulting state.
|
|
17
|
+
|
|
18
|
+
2. **Make it observable.** Ask "how would an outsider know this happened,
|
|
19
|
+
without you telling them?" Push until the outcome names something you
|
|
20
|
+
could point at — a behaviour, a rate, a position — not a feeling.
|
|
21
|
+
|
|
22
|
+
3. **Make it attributable.** Ask "if this happens, will it be because of
|
|
23
|
+
what we did, or could it happen anyway?" An outcome you can't plausibly
|
|
24
|
+
claim credit for is a wish about the weather. Tie it to their own action.
|
|
25
|
+
|
|
26
|
+
4. **Time-box it.** "By when is this true?" No date means no outcome —
|
|
27
|
+
"eventually" can never succeed or fail. Get a horizon they'll stand
|
|
28
|
+
behind.
|
|
29
|
+
|
|
30
|
+
5. **Separate the outcome from its measures.** The outcome is the state
|
|
31
|
+
("non-technical teams reach paid on their own"); the measure is the
|
|
32
|
+
dial you read to check ("self-serve paid-conversion rate"). Name the
|
|
33
|
+
outcome first, as a noun phrase. If they lead with a metric, ask "and
|
|
34
|
+
the metric moving would mean WHAT is now true?" — that answer is the
|
|
35
|
+
outcome. One outcome can have several measures; don't collapse them.
|
|
36
|
+
|
|
37
|
+
6. **Read it back as a noun phrase.** "A world where [state], by [date],
|
|
38
|
+
as a result of our work." Confirm they'd recognise it as success and
|
|
39
|
+
could tell, later, whether it happened.
|
|
40
|
+
|
|
41
|
+
## What good looks like
|
|
42
|
+
|
|
43
|
+
- **A state, not an action** — reads as a noun phrase describing how things
|
|
44
|
+
are, not a verb telling someone what to do.
|
|
45
|
+
- **Observable** — someone outside the room could confirm it happened.
|
|
46
|
+
- **Attributable** — plausibly the result of their strategy, not ambient
|
|
47
|
+
luck or the market.
|
|
48
|
+
- **Time-bound** — has a horizon by which it's true or it isn't.
|
|
49
|
+
- **Distinct from its measures** — the outcome is the reality; measures are
|
|
50
|
+
the instruments. Keep them separate so you don't mistake a moving dial
|
|
51
|
+
for a changed world.
|
|
52
|
+
|
|
53
|
+
Worked example. Aspiration: "we want better activation." Framed outcome:
|
|
54
|
+
*"Self-serve teams reaching their first paid tier without human help,
|
|
55
|
+
within their first week — the norm rather than the exception, by end of
|
|
56
|
+
Q3."* It's a state (teams reaching paid on their own), observable,
|
|
57
|
+
attributable (it's their onboarding), time-bound (end of Q3). Its measures
|
|
58
|
+
— week-one self-serve conversion rate, support tickets per signup — are
|
|
59
|
+
separate instruments, framed later.
|
|
60
|
+
|
|
61
|
+
## Failure modes to catch
|
|
62
|
+
|
|
63
|
+
- **Activity list masquerading as outcome.** "Ship X, launch Y, hire Z."
|
|
64
|
+
That's the plan. Ask what's TRUE once it's all done.
|
|
65
|
+
- **Verb where a noun belongs.** "Improve retention." An instruction, not a
|
|
66
|
+
described state. Reframe to the state improved retention produces.
|
|
67
|
+
- **Unobservable.** "Customers love us", "the team is aligned." No outside
|
|
68
|
+
test. Push to something pointable-at.
|
|
69
|
+
- **Unattributable.** "Revenue grows 20%" — might happen from a market
|
|
70
|
+
tailwind regardless. Tie it to their move, or narrow it to the part they
|
|
71
|
+
drive.
|
|
72
|
+
- **No horizon.** "Eventually we're the leader." Can't succeed or fail.
|
|
73
|
+
Demand a date.
|
|
74
|
+
- **Measure-in-place-of-outcome.** They name a metric and stop. A metric is
|
|
75
|
+
a proxy; ask what reality it stands for, and frame that.
|
|
76
|
+
|
|
77
|
+
## When they're really framing something else
|
|
78
|
+
|
|
79
|
+
- If they can't say what success looks like because they haven't chosen a
|
|
80
|
+
direction, the missing piece is a `policy.md`, not an outcome.
|
|
81
|
+
- If the "outcome" is really one all-or-nothing choice they're stuck on,
|
|
82
|
+
it's a `decision.md`.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Frame the guiding policy
|
|
2
|
+
|
|
3
|
+
A guiding policy is the direction they're committing to — the approach that
|
|
4
|
+
will shape every later choice. Mood: **command**. It's an instruction to
|
|
5
|
+
the organisation: "we will go THIS way." The trap is that people restate
|
|
6
|
+
the goal and call it a policy. "Become the market leader" is a goal. "Win
|
|
7
|
+
by being the only option that works out of the box for non-technical teams"
|
|
8
|
+
is a policy — it commits to a road and rules out others. Your job is to
|
|
9
|
+
force a real commitment, not another statement of the destination.
|
|
10
|
+
|
|
11
|
+
## The moves
|
|
12
|
+
|
|
13
|
+
1. **Check they have the challenge.** A policy answers a challenge. If they
|
|
14
|
+
can't state the problem in one sentence, stop and run `challenge.md`
|
|
15
|
+
first. A direction with no problem is a slogan.
|
|
16
|
+
|
|
17
|
+
2. **Ask for the approach, not the aim.** "Given that problem, what's your
|
|
18
|
+
approach to overcoming it?" If the answer names a destination ("get to
|
|
19
|
+
$10M", "be number one"), push: "that's where you want to end up — how
|
|
20
|
+
are you going to get there in a way your competitors aren't?"
|
|
21
|
+
|
|
22
|
+
3. **Force the trade-off.** A real policy rules something out. Ask: "what
|
|
23
|
+
does this approach mean we WON'T do?" If choosing it costs nothing —
|
|
24
|
+
rules out nothing, upsets no one — it isn't a policy, it's a platitude.
|
|
25
|
+
A direction everyone can agree to is a direction that doesn't direct.
|
|
26
|
+
|
|
27
|
+
4. **Find the leverage.** Ask "why will this work when other approaches
|
|
28
|
+
wouldn't?" A guiding policy usually names a source of advantage — a
|
|
29
|
+
strength they have, a weakness in rivals, a change in the market they're
|
|
30
|
+
riding. Make the "why this beats the alternatives" explicit.
|
|
31
|
+
|
|
32
|
+
5. **Test it against a real choice.** Take a live decision they face and
|
|
33
|
+
ask "does this policy tell you which way to go on that?" If the policy
|
|
34
|
+
doesn't change any actual decision, it isn't guiding anything. Sharpen
|
|
35
|
+
until it does.
|
|
36
|
+
|
|
37
|
+
6. **State it as one committed instruction.** "We will [approach], by
|
|
38
|
+
[source of leverage], which means we won't [ruled-out path]." Get a yes
|
|
39
|
+
they'd defend to someone who preferred the ruled-out path.
|
|
40
|
+
|
|
41
|
+
## What good looks like
|
|
42
|
+
|
|
43
|
+
- **A direction, not a destination** — says how they'll travel, not just
|
|
44
|
+
where they'll arrive.
|
|
45
|
+
- **Costs something** — rules out a plausible alternative. If nothing was
|
|
46
|
+
given up, nothing was chosen.
|
|
47
|
+
- **Leverage-bearing** — names why this route wins, not just that it's
|
|
48
|
+
nice.
|
|
49
|
+
- **Decision-changing** — a person holding this policy makes different calls
|
|
50
|
+
than a person without it.
|
|
51
|
+
- **Committed** — stated as "we will", owned, defensible against the people
|
|
52
|
+
who wanted the other road.
|
|
53
|
+
|
|
54
|
+
Worked example. Challenge: non-technical teams abandon the product at
|
|
55
|
+
setup. Restated-goal trap: "become the easiest tool in the category."
|
|
56
|
+
Framed policy: *"We win by being the only tool a non-technical team can get
|
|
57
|
+
to first value with zero setup and no admin — which means we won't chase
|
|
58
|
+
the power-user features our competitors compete on."* It commits, it rules
|
|
59
|
+
out the power-user road, it names the leverage (their setup experience),
|
|
60
|
+
and it decides real roadmap fights.
|
|
61
|
+
|
|
62
|
+
## Failure modes to catch
|
|
63
|
+
|
|
64
|
+
- **Goal restated as policy.** "Grow 3x", "be the leader." A destination,
|
|
65
|
+
not a route. Ask how, and how differently from rivals.
|
|
66
|
+
- **The costless platitude.** "Delight customers", "focus on quality." Rules
|
|
67
|
+
nothing out; everyone nods. Force the trade-off.
|
|
68
|
+
- **The wish-list.** Three approaches joined by "and" — because they
|
|
69
|
+
wouldn't choose. A policy that keeps every option isn't guiding. Make
|
|
70
|
+
them pick the primary one.
|
|
71
|
+
- **Leverage-free direction.** A route with no reason it beats the
|
|
72
|
+
alternatives. Ask "why will this work when the obvious approach wouldn't?"
|
|
73
|
+
- **Policy that changes no decision.** If every real choice comes out the
|
|
74
|
+
same with or without it, it's decoration. Test against a live call.
|
|
75
|
+
|
|
76
|
+
## When they're really framing something else
|
|
77
|
+
|
|
78
|
+
- If they can't commit to any direction because one specific fork is
|
|
79
|
+
blocking everything — build vs buy, this segment vs that — frame that
|
|
80
|
+
fork first with `decision.md`, then return to the overall policy.
|
|
81
|
+
- If "success" itself is still fuzzy, they may need `outcome.md` before a
|
|
82
|
+
policy makes sense.
|