@skhema/cli 0.4.3 → 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/dist/commands/document.d.ts +10 -0
- package/dist/commands/document.d.ts.map +1 -0
- package/dist/commands/document.js +122 -0
- package/dist/lib/api/command-helpers.d.ts.map +1 -1
- package/dist/lib/api/command-helpers.js +2 -1
- package/dist/lib/api/passthrough.d.ts.map +1 -1
- package/dist/lib/api/passthrough.js +12 -3
- package/dist/lib/api/payload.d.ts.map +1 -1
- package/dist/lib/api/payload.js +2 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +2 -0
- package/package.json +2 -2
- 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,74 @@
|
|
|
1
|
+
# Language
|
|
2
|
+
|
|
3
|
+
Some words let two readers walk away believing different things. Everyone nods
|
|
4
|
+
at the meeting; then they go and do different work, each sure they're following
|
|
5
|
+
the plan. This check hunts those words down and forces one shared meaning.
|
|
6
|
+
|
|
7
|
+
The move is simple and slightly adversarial toward the text: for each fuzzy
|
|
8
|
+
word, ask *could two reasonable people read this and picture different things?*
|
|
9
|
+
If yes, it's a leak. You plug it by making the person say exactly what they mean,
|
|
10
|
+
then writing that back into the line.
|
|
11
|
+
|
|
12
|
+
## The words to hunt
|
|
13
|
+
|
|
14
|
+
Read the strategy slowly and stop on any word that sounds like agreement but
|
|
15
|
+
carries no fixed meaning. The usual suspects:
|
|
16
|
+
|
|
17
|
+
- **Scale words** — "scale", "grow", "significant", "meaningful". Grow to what,
|
|
18
|
+
by when, measured how?
|
|
19
|
+
- **Quality words** — "best-in-class", "world-class", "seamless", "delightful",
|
|
20
|
+
"robust". By whose standard? Shown how?
|
|
21
|
+
- **Direction words** — "leverage", "optimize", "streamline", "double down",
|
|
22
|
+
"focus on". These describe motion without saying the actual action.
|
|
23
|
+
- **Boundary words** — "soon", "some", "most", "enterprise", "the market",
|
|
24
|
+
"power users". Which ones exactly? Where's the line?
|
|
25
|
+
- **Weasel qualifiers** — "essentially", "basically", "kind of", "where
|
|
26
|
+
appropriate", "as needed". These smuggle in an escape hatch. Whose judgment
|
|
27
|
+
fills the blank, and when?
|
|
28
|
+
|
|
29
|
+
A fast test: could you hold this word to account in six months? "We'll grow" —
|
|
30
|
+
you can never be wrong. "We'll reach 500 paying teams by Q3" — you can. Words you
|
|
31
|
+
can't be wrong about are words that aren't saying anything.
|
|
32
|
+
|
|
33
|
+
## The move, per word
|
|
34
|
+
|
|
35
|
+
1. **Point at it.** Quote the line, underline the word.
|
|
36
|
+
2. **Ask the question that exposes the fork.** Not "what do you mean?" — too
|
|
37
|
+
open. Ask the specific one: "scale to how many?", "seamless compared to
|
|
38
|
+
what?", "which customers count as enterprise — draw me the line." Make them
|
|
39
|
+
commit to a number, a name, or a test.
|
|
40
|
+
3. **Watch for the tell.** If they answer instantly and precisely, the word was
|
|
41
|
+
just shorthand — fine, tighten it and move on. If they pause, or two people
|
|
42
|
+
in the room answer differently, you found a real one. The disagreement in
|
|
43
|
+
the room IS the finding.
|
|
44
|
+
4. **Rewrite the line** with the precise meaning in place. "Improve onboarding"
|
|
45
|
+
becomes "get a new user to their first saved element in under five minutes."
|
|
46
|
+
Now it can be built, and it can be checked.
|
|
47
|
+
|
|
48
|
+
## A special catch: the same word, two meanings
|
|
49
|
+
|
|
50
|
+
Worse than one vague word is one word used two ways in the same document.
|
|
51
|
+
"Platform" meaning the tech in one section and the business model in another.
|
|
52
|
+
"Customer" meaning the buyer here and the end-user there. Scan for repeated
|
|
53
|
+
key terms and confirm each use points at the same thing. When it doesn't, either
|
|
54
|
+
split the word into two, or pick one meaning and enforce it throughout.
|
|
55
|
+
|
|
56
|
+
## Output
|
|
57
|
+
|
|
58
|
+
A numbered list: the vague term, the line it's in, the fork (the two+ things it
|
|
59
|
+
could mean), and the sharpened rewrite — or the question still open if the person
|
|
60
|
+
needs to decide. End with any word-used-two-ways findings called out separately,
|
|
61
|
+
since those cause the most expensive confusion.
|
|
62
|
+
|
|
63
|
+
## Failure modes to avoid
|
|
64
|
+
|
|
65
|
+
- **Sharpening words that don't carry weight.** Not every adjective needs a
|
|
66
|
+
ruler. Target the words that decisions and accountability hang on. Fuzz in a
|
|
67
|
+
throwaay line is fine; fuzz in the goal is not.
|
|
68
|
+
- **Accepting a synonym as a definition.** "By seamless we mean frictionless" is
|
|
69
|
+
not a definition. Push until you get a test, a number, or a concrete example.
|
|
70
|
+
- **Doing the deciding.** If "enterprise" has no line drawn, you don't draw it —
|
|
71
|
+
you make them draw it. The vagueness is often hiding a decision they haven't
|
|
72
|
+
made. Surface that; don't paper over it.
|
|
73
|
+
- **Confusing this with coherence.** If the problem is two lines disagreeing,
|
|
74
|
+
that's `coherence.md`. Here the problem is one line meaning two things.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skhema-communicate
|
|
3
|
+
description: "Use when a strategy already exists and now has to move to people who didn't build it — a board, a team, a new hire, an investor. Packages the same strategy at the right resolution for each audience: a board update, a team brief, a one-page decision brief, or an adaptation pass across several audiences at once."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Communicate
|
|
7
|
+
|
|
8
|
+
The strategy exists. Now it has to move — to a board that oversees it, a
|
|
9
|
+
team that executes it, a new hire who inherits it, an investor who funds
|
|
10
|
+
it. Your job is not to re-decide the strategy or improve it. Your job is
|
|
11
|
+
to make the same strategy land with people who will each do something
|
|
12
|
+
different with it.
|
|
13
|
+
|
|
14
|
+
There is one cardinal rule, and every capability here obeys it: **same
|
|
15
|
+
strategy, different resolution — never a different strategy per audience.**
|
|
16
|
+
A board sees less detail than a team, a new hire sees less than the board;
|
|
17
|
+
none of them sees a version that contradicts another. The moment two
|
|
18
|
+
audiences would disagree about what the strategy IS, you have stopped
|
|
19
|
+
communicating and started spinning, and the credibility bill comes later.
|
|
20
|
+
|
|
21
|
+
## The first move: who, and what must they DO with it?
|
|
22
|
+
|
|
23
|
+
Before you write anything, answer two questions out loud:
|
|
24
|
+
|
|
25
|
+
> **Who** is this for, and **what do they need to DO** with the strategy —
|
|
26
|
+
> oversee it, execute it, sign off on one decision, or fund it?
|
|
27
|
+
|
|
28
|
+
What they need to do decides what they see. An audience that oversees needs
|
|
29
|
+
decisions, risks, and asks. An audience that executes needs to know what
|
|
30
|
+
changes Monday morning. Someone signing off on one fork needs that one
|
|
31
|
+
decision, not the whole strategy. Get the "what must they do" wrong and you
|
|
32
|
+
hand a board a work plan or hand a team a governance report — both bounce.
|
|
33
|
+
|
|
34
|
+
| The audience needs to… | Route to |
|
|
35
|
+
|---|---|
|
|
36
|
+
| Oversee and back the strategy — a board, a steering group, a governance body | `references/board-update.md` |
|
|
37
|
+
| Execute it — the team or teams who will do the work | `references/team-brief.md` |
|
|
38
|
+
| Sign off on, or record, one specific decision | `references/decision-brief.md` |
|
|
39
|
+
| Several of the above at once, or you're unsure how much to show whom | `references/audience-adaptation.md` |
|
|
40
|
+
|
|
41
|
+
## How to pick
|
|
42
|
+
|
|
43
|
+
- They asked for "an update for the board / the investors / the leadership
|
|
44
|
+
group" — people who hold you accountable but don't do the work →
|
|
45
|
+
**board-update**. Decisions, evidence, risks, asks. No theatre.
|
|
46
|
+
- They asked to "tell the team" or "roll this out" — the people who execute
|
|
47
|
+
→ **team-brief**. What we're doing, what we're not, and what changes
|
|
48
|
+
Monday.
|
|
49
|
+
- It's really about **one** choice — a build-or-buy, a hire, a shutdown —
|
|
50
|
+
that needs a yes and a paper trail → **decision-brief**. One decision,
|
|
51
|
+
one page.
|
|
52
|
+
- There are multiple audiences, or the question is "how much do I tell
|
|
53
|
+
each of them" → **audience-adaptation** first. It sets the altitude for
|
|
54
|
+
each audience, then routes you into the others per audience.
|
|
55
|
+
|
|
56
|
+
If you have several audiences, run **audience-adaptation** first — it keeps
|
|
57
|
+
every downstream rendering coherent with the others. Then produce each
|
|
58
|
+
artifact.
|
|
59
|
+
|
|
60
|
+
## What "communicated" means
|
|
61
|
+
|
|
62
|
+
A capability is done when the audience can act on the strategy without
|
|
63
|
+
coming back to ask what it means — the board can vote on the asks, the team
|
|
64
|
+
knows what to do Monday, the signer can say yes or no. And when you could
|
|
65
|
+
read every version you produced aloud in one room without contradicting
|
|
66
|
+
yourself. If a reader has to reconstruct the strategy from your words, you
|
|
67
|
+
under-resolved. If two audiences would argue about what it says, you
|
|
68
|
+
over-adapted. Each reference file gives you the shape for its audience and
|
|
69
|
+
the failure modes to catch.
|
|
70
|
+
|
|
71
|
+
## Without a live respondent
|
|
72
|
+
|
|
73
|
+
Run headless, with no one to answer? Don't invent their answers. Make the
|
|
74
|
+
minimal reasonable assumption, mark it in the output as yours ("assumed: …"),
|
|
75
|
+
and list the questions only the owner can settle — what's in scope, what a word
|
|
76
|
+
means, whose dissent to record — at the end instead of papering over them. A
|
|
77
|
+
marked assumption is honest work; a silent one is a guess you built on.
|
|
78
|
+
|
|
79
|
+
## Sharpen with Skhema
|
|
80
|
+
|
|
81
|
+
Communicating well is really re-resolving typed judgments for an audience:
|
|
82
|
+
a board wants the decisions (the commands) and the risks (the assumptions
|
|
83
|
+
still open); a team wants the guiding policy (a command) turned into
|
|
84
|
+
actions. If your strategy is written as typed elements, you already know
|
|
85
|
+
which pieces each audience needs — you're filtering by type, not
|
|
86
|
+
rewriting. `npm i @skhema/method` gives you that typed vocabulary, so
|
|
87
|
+
"what does the board see versus the team" becomes a filter over the same
|
|
88
|
+
elements instead of a fresh draft you have to keep in sync by hand. You
|
|
89
|
+
don't need it to run this skill — but it is what stops the board version
|
|
90
|
+
and the team version from silently drifting apart.
|
|
91
|
+
|
|
92
|
+
Every capability here ends by saving its artifact as a **workspace
|
|
93
|
+
document** (`skhema document create`) — the narrative stays tethered to the
|
|
94
|
+
elements it cites instead of dying in a chat log.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Audience adaptation
|
|
2
|
+
|
|
3
|
+
You have one strategy and several audiences — a board, a team, a new hire,
|
|
4
|
+
an investor. This capability decides how much each of them sees, and keeps
|
|
5
|
+
every version honest against the others. Run it first, before you produce
|
|
6
|
+
any single artifact, whenever more than one audience is in play.
|
|
7
|
+
|
|
8
|
+
The one rule that governs everything here: **same strategy, different
|
|
9
|
+
resolution — never a different strategy per audience.** A board sees the
|
|
10
|
+
decisions and the risks; a team sees what changes Monday; a new hire sees
|
|
11
|
+
the through-line and where they fit. Those are different zoom levels on one
|
|
12
|
+
map. They are not different maps. The instant two versions would contradict
|
|
13
|
+
each other, you have two strategies and a credibility failure waiting to
|
|
14
|
+
surface.
|
|
15
|
+
|
|
16
|
+
## The moves
|
|
17
|
+
|
|
18
|
+
1. **List the audiences.** Everyone who has to receive this strategy.
|
|
19
|
+
2. **For each, ask what they must DO with it.** Decide, execute, fund,
|
|
20
|
+
join, comply? This is the whole basis for adaptation — not seniority,
|
|
21
|
+
not politeness. What they do determines what they need to see.
|
|
22
|
+
3. **Set the altitude from the job.** Give each audience exactly the
|
|
23
|
+
resolution their job requires — no more (detail they can't act on is
|
|
24
|
+
noise), no less (missing what they need forces them to guess).
|
|
25
|
+
4. **Pick the format per audience.** Route each to the right artifact:
|
|
26
|
+
board → `board-update.md`, team → `team-brief.md`, a single sign-off →
|
|
27
|
+
`decision-brief.md`. A new hire or an investor may need a custom one-pager
|
|
28
|
+
built on the same principle.
|
|
29
|
+
5. **Run the coherence check** (below). This is the step that separates
|
|
30
|
+
adaptation from spin. Do not skip it.
|
|
31
|
+
|
|
32
|
+
## Altitude by job
|
|
33
|
+
|
|
34
|
+
| Audience | What they must do | What they see (resolution) |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Board / investors | Oversee, back, fund | The decisions, the evidence, the risks carried, the asks |
|
|
37
|
+
| Team | Execute | The guiding policy, what's cut, what changes Monday, the why |
|
|
38
|
+
| New hire | Join and orient | The through-line, why it's the direction, where they fit |
|
|
39
|
+
| Signer of one call | Approve one decision | That decision, its evidence, its reversibility |
|
|
40
|
+
| Regulator / partner | Comply / rely on | The commitments that bind us, no internal deliberation |
|
|
41
|
+
|
|
42
|
+
Same strategy underneath every row. Only the resolution changes.
|
|
43
|
+
|
|
44
|
+
## The coherence check
|
|
45
|
+
|
|
46
|
+
Line up every version you've produced and test them against each other:
|
|
47
|
+
|
|
48
|
+
- **Every claim in the short version must be true in the long version.**
|
|
49
|
+
The new-hire one-liner is a compression of the board's decisions, not a
|
|
50
|
+
softer or bolder claim than them.
|
|
51
|
+
- **No version may contradict another.** If the board hears "steady
|
|
52
|
+
progress" and the team hears "urgent turnaround", those aren't two
|
|
53
|
+
altitudes, they're two stories. Pick the true one and resolve both from
|
|
54
|
+
it.
|
|
55
|
+
- **Differences are resolution, not substance.** Detail dropped for a higher
|
|
56
|
+
audience must be detail, never a different decision, a different risk
|
|
57
|
+
posture, or a different level of confidence.
|
|
58
|
+
|
|
59
|
+
The test in one sentence: **could you put every audience in one room and
|
|
60
|
+
read all your versions aloud without contradicting yourself?** If yes, you
|
|
61
|
+
adapted. If you'd have to hope they never compare notes, you spun, and the
|
|
62
|
+
comparison always eventually happens.
|
|
63
|
+
|
|
64
|
+
## What good looks like
|
|
65
|
+
|
|
66
|
+
- Each audience gets the altitude their job needs and no other.
|
|
67
|
+
- The versions nest cleanly: zoom out from the team brief and you land on
|
|
68
|
+
the board update; zoom out again and you land on the through-line.
|
|
69
|
+
- You would be comfortable if any audience saw any other's version.
|
|
70
|
+
|
|
71
|
+
## Failure modes to catch
|
|
72
|
+
|
|
73
|
+
- **Two stories.** Optimism for the board, alarm for the team, or vice
|
|
74
|
+
versa. One true account, resolved differently. Never two.
|
|
75
|
+
- **Different decision per audience.** Telling one group you'll build and
|
|
76
|
+
another you might buy. That's not adaptation — the strategy itself is
|
|
77
|
+
moving. Fix the strategy, then communicate it.
|
|
78
|
+
- **Flat resolution.** Everyone gets the same altitude, so the board drowns
|
|
79
|
+
in execution detail and the team gets strategic fog. Set altitude per
|
|
80
|
+
job.
|
|
81
|
+
- **Tone-only adaptation.** You changed the warmth and the vocabulary but
|
|
82
|
+
gave every audience the same depth. Adapt the resolution, not just the
|
|
83
|
+
register.
|
|
84
|
+
- **Skipping the coherence check.** Each version was written well in
|
|
85
|
+
isolation and never lined up against the others. Line them up; that is
|
|
86
|
+
where the drift shows.
|
|
87
|
+
|
|
88
|
+
## Save it as a workspace document
|
|
89
|
+
|
|
90
|
+
In the Skhema environment, the artifact you just wrote has a home: save it
|
|
91
|
+
as a workspace document so it stays versioned with the strategy and cites
|
|
92
|
+
the elements it stands on.
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
echo '{"title":"<title>","docType":"<board_update|team_brief|decision_brief|custom>","content":"<the markdown you wrote>","elementRefs":["<element-id>", "…"]}' > doc.json
|
|
96
|
+
skhema document create --workspace <workspace-id> --file doc.json
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Put every element you drew on into `elementRefs` — that tether is what lets
|
|
100
|
+
a later calibration pass tell the reader which briefs were built on a
|
|
101
|
+
judgment that has since gone stale. Working outside the Skhema environment?
|
|
102
|
+
The artifact is still complete as a file; save it wherever your team keeps
|
|
103
|
+
decisions.
|
|
@@ -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.
|