@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skhema/cli",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "Skhema CLI - Authentication and AI skills management for agent platforms",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,15 +1,13 @@
1
1
  {
2
- "syncedAt": "2026-07-09T00:27:14.921Z",
2
+ "syncedAt": "2026-07-09T17:15:20.908Z",
3
3
  "source": "/Users/michaellovell/Desktop/GitHub/skhema-skills",
4
- "sourceSha": "77561c7dbde8602ca799e5224c65ea18675ee37b",
4
+ "sourceSha": "2a3abbb24f2fb2539608102eabc90de10fc9984b",
5
5
  "skills": [
6
- "skhema-challenge-framing",
7
- "skhema-coherence-check",
8
- "skhema-element-decomposition",
9
- "skhema-element-writer",
10
- "skhema-judgment-audit",
11
- "skhema-semantic-sharpening",
12
- "skhema-strategy-advisor",
13
- "skhema-workspace-navigator"
6
+ "skhema-frame",
7
+ "skhema-compose",
8
+ "skhema-calibrate",
9
+ "skhema-pressure-test",
10
+ "skhema-communicate",
11
+ "skhema-operate"
14
12
  ]
15
13
  }
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: skhema-calibrate
3
+ description: "Use when you already have a strategy (or a piece of one) written down and need to check it still holds up — spot internal contradictions, claims resting on nothing, words that mean different things to different readers, or judgments the world has since overtaken. A self-check, not an attack; for an adversarial interrogation, use skhema-pressure-test."
4
+ ---
5
+
6
+ # Calibrate
7
+
8
+ You have something written. A strategy, a plan, a decision memo, a page of it.
9
+ This skill checks whether it is still sound and still current. Not to tear it
10
+ down — to true it up, like checking a level before you build on it.
11
+
12
+ Calibration is a self-check you run WITH the person on their own work. You read
13
+ what they wrote, you point at specific lines, you ask specific questions. The
14
+ output is a short list of concrete problems, each tied to a place in the text,
15
+ each with a fix or a question that surfaces the fix.
16
+
17
+ This is not brainstorming and not interrogation. If the person wants their
18
+ strategy attacked from the outside — a devil's-advocate grilling, a pre-mortem —
19
+ that is **skhema-pressure-test**, a different skill. Calibrate stays inside the
20
+ document and asks: does this agree with itself, does it rest on real evidence,
21
+ does it say one clear thing, and is it still true today?
22
+
23
+ ## The four checks
24
+
25
+ Run whichever the situation calls for. On a full review, run all four in this
26
+ order — each surfaces different faults, and later checks are cleaner once the
27
+ earlier ones are fixed.
28
+
29
+ | Check | You are hunting for | Route to |
30
+ |---|---|---|
31
+ | Coherence | Two parts that disagree, a tension nobody named, a decision with no follow-through | `references/coherence.md` |
32
+ | Assumptions | Claims stated as fact that are really beliefs; confidence that outruns the evidence | `references/assumptions.md` |
33
+ | Language | Words vague enough that two readers walk away believing different things | `references/language.md` |
34
+ | Freshness | Judgments made under conditions that no longer hold; facts that have gone stale | `references/freshness.md` |
35
+
36
+ ## How to pick
37
+
38
+ - "Does this hang together?" / "something feels off but I can't say what" /
39
+ "we decided X here and Y there" → **coherence**.
40
+ - "How sure are we?" / "is this actually true or do we just think so?" /
41
+ before committing real money or people → **assumptions**.
42
+ - "Everyone read this and nodded but we're doing different things" /
43
+ "what does 'scale' even mean here" → **language**.
44
+ - "This was written months ago" / "the market moved" / "is this still our
45
+ situation?" → **freshness**.
46
+
47
+ If they just say "review this" or "is this any good?", run all four. Announce
48
+ which you're doing as you go so they can follow.
49
+
50
+ ## One habit that runs through all four
51
+
52
+ Every line in a strategy is doing one of three jobs. Before you judge a line,
53
+ know which:
54
+
55
+ - **A claim about the world** — something believed true. "Enterprise buyers
56
+ won't self-serve." These get the assumptions check: what's the evidence?
57
+ - **A command** — something decided to do. "Ship the free tier first." These
58
+ get the coherence check: does the rest of the plan act on it?
59
+ - **A named thing** — a scope, an outcome, a solution. "The onboarding flow."
60
+ These get the language check: would two readers point at the same thing?
61
+
62
+ Most calibration faults are one of these three lines wearing another's clothes:
63
+ a belief written as if it were a decided fact, a hope written as if it were a
64
+ measurable outcome. Naming the job first makes the fault obvious.
65
+
66
+ ## What good output looks like
67
+
68
+ Not "the strategy has some inconsistencies." Instead: a numbered list where
69
+ each item quotes the exact line, names the fault, and gives the fix or the
70
+ question that gets there. Three sharp findings the person acts on beat twenty
71
+ vague ones they ignore. If a section is clean, say so and move on — do not
72
+ manufacture problems to look thorough.
73
+
74
+ ## Without a live respondent
75
+
76
+ Run headless, with no one to answer? Don't invent their answers. Make the
77
+ minimal reasonable assumption, mark it in the output as yours ("assumed: …"),
78
+ and list the questions only the owner can settle — what's in scope, what a word
79
+ means, whose dissent to record — at the end instead of papering over them. A
80
+ marked assumption is honest work; a silent one is a guess you built on.
81
+
82
+ ## Sharpen with Skhema
83
+
84
+ These checks work on any document, in any editor, with nothing installed. If you
85
+ want them automated — every claim typed by its job (world-claim vs command vs
86
+ thing), contradictions flagged as you write, staleness dated — the Skhema method
87
+ gives each strategy element a typed structure the checks run against. Start with
88
+ `npm i @skhema/method` for the vocabulary and validators, or run them in a Skhema
89
+ workspace where the four checks are wired into the element itself. Optional: the
90
+ skill is complete without it.
@@ -0,0 +1,77 @@
1
+ # Assumptions
2
+
3
+ Every strategy rests on things believed true. Some are backed by evidence. Some
4
+ are guesses wearing the clothes of fact. This check separates them, so nobody
5
+ bets real money or people on a sentence that only sounds certain.
6
+
7
+ The core move: take each claim about the world and ask one blunt question —
8
+ **what is the evidence?** A claim with good evidence is a fact you can lean on. A
9
+ claim with none is an assumption, and it gets labelled as one. That is the whole
10
+ job: type every claim, then look at what you're standing on.
11
+
12
+ ## Find the claims
13
+
14
+ Walk the strategy and pull every line that states something about the world as
15
+ true. These are the "claims about the world" — the beliefs, not the decisions or
16
+ the named things. Signs of a claim: "customers want", "the market is",
17
+ "competitors can't", "this will grow", "nobody else", "it's too expensive to".
18
+
19
+ Skip the commands ("ship X") and the labels ("the growth team") — those get
20
+ other checks. You want the load-bearing beliefs, because those are what the
21
+ decisions rest on.
22
+
23
+ ## Type each claim
24
+
25
+ For every claim, ask for the evidence behind it, then sort it into one bucket:
26
+
27
+ - **Fact** — direct evidence you can point at. Data, a documented result, a
28
+ signed contract, a thing you measured. "Churn is 4% monthly" and here's the
29
+ dashboard.
30
+ - **Assumption** — believed, not shown. No evidence, or only "it stands to
31
+ reason." "Enterprise buyers won't self-serve." Maybe true. Not demonstrated.
32
+ - **Inference** — reasoned from a fact, but a step removed. "Churn is 4%, so
33
+ buyers don't see the value." The 4% is a fact; the *why* is a guess dressed as
34
+ a conclusion. Flag the guess.
35
+
36
+ The forcing question for each: *if someone asked "how do we know?", what would
37
+ you show them?* If the honest answer is "we don't, we think so" — it's an
38
+ assumption. Label it. There is no shame in an assumption; there is danger in a
39
+ mislabelled one.
40
+
41
+ ## Rate the confidence, and check it earns its weight
42
+
43
+ Two things matter about each claim, and people conflate them:
44
+
45
+ - **How sure are we?** High / medium / low, based on evidence quality.
46
+ - **How much rests on it?** If this claim is wrong, how much of the strategy
47
+ falls?
48
+
49
+ Plot them against each other. The claims that matter are **load-bearing and
50
+ low-confidence** — high stakes, weak evidence. Those are the ones to name out
51
+ loud and, ideally, turn into something testable before committing. A shaky
52
+ assumption nothing depends on can stay shaky. A shaky assumption the whole plan
53
+ stands on is the real finding of this whole exercise.
54
+
55
+ Also watch for **confidence that outruns the evidence**: language like
56
+ "obviously", "clearly", "everyone knows", "of course". Certainty in the wording
57
+ is not certainty in the world. The louder the claim, the harder you check it.
58
+
59
+ ## Output
60
+
61
+ A table or numbered list, one row per claim: the claim quoted, its type (fact /
62
+ assumption / inference), confidence (high / med / low), and how load-bearing it
63
+ is. Then a short verdict that pulls out the two or three load-bearing,
64
+ low-confidence claims and says plainly: *these are what the strategy is really
65
+ betting on; here is what would raise our confidence.*
66
+
67
+ ## Failure modes to avoid
68
+
69
+ - **Letting "obviously" pass.** The words that most need checking are the ones
70
+ that sound like they don't.
71
+ - **Rating confidence without asking for evidence.** Confidence is an output of
72
+ evidence, not a vibe. Always ask "how do we know?" first.
73
+ - **Treating every assumption as a problem.** The goal is to type them, not
74
+ eliminate them. Strategy runs on assumptions. The point is knowing which ones,
75
+ and which ones are load-bearing.
76
+ - **Missing the inferences.** These are the sneakiest — a real fact with a guess
77
+ bolted on, presented as one solid claim. Split them.
@@ -0,0 +1,95 @@
1
+ # Coherence
2
+
3
+ Does the strategy agree with itself? You are hunting for three faults:
4
+ **contradictions** (two parts that can't both be acted on), **unnamed tensions**
5
+ (two parts that pull against each other and nobody said so), and **gaps** (a
6
+ decision with no follow-through, or a goal with nothing aimed at it).
7
+
8
+ Coherence is never automatic. A strategy is written in pieces, over time, by
9
+ people in different moods. The pieces drift. Your job is to lay them side by side
10
+ and find where they stop fitting.
11
+
12
+ ## Before you start
13
+
14
+ Get the whole thing in front of you. Coherence can only be checked across the
15
+ full set — a single element in isolation always looks fine. If they hand you one
16
+ page, ask what it connects to: what decision it serves, what it depends on.
17
+
18
+ ## The moves
19
+
20
+ Run these in order. Each pass looks for one fault type.
21
+
22
+ ### 1. List the commitments
23
+
24
+ Read through and pull out every line that commits to something — a decision, a
25
+ priority, a target, a "we will" or "we won't." Write them as a flat numbered
26
+ list, in the person's own words. This list is your working surface; you check it
27
+ against itself, not the prose.
28
+
29
+ ### 2. Hunt contradictions
30
+
31
+ Go down the list and, for each commitment, ask: is there another commitment it
32
+ can't coexist with? Watch for:
33
+
34
+ - **Resource collisions.** "Move fast on A" and "move fast on B" when A and B
35
+ draw on the same one team. Two top priorities is zero priorities — say so.
36
+ - **Direction collisions.** "Premium positioning" and "win on price." Both may
37
+ be written proudly, pages apart.
38
+ - **Sequence collisions.** "B depends on A" but the plan does B first.
39
+
40
+ For each hit, quote both lines and state the collision in one sentence. Do not
41
+ resolve it yourself — that is the person's call. Surface it and ask which gives.
42
+
43
+ ### 3. Name the tensions
44
+
45
+ A tension is softer than a contradiction: both parts can survive, but they pull
46
+ opposite ways and the strain is unmanaged. "Serve enterprise and stay
47
+ self-serve." Often fine — but only if named, because an unnamed tension gets
48
+ resolved by accident, differently by each person, under pressure.
49
+
50
+ For each tension: name it, say which two commitments create it, and ask the one
51
+ question that matters — *is this a deliberate balance you're holding, or a
52
+ choice you haven't made yet?* A named tension is a feature. An unnamed one is a
53
+ future argument.
54
+
55
+ ### 4. Find the gaps
56
+
57
+ Two directions:
58
+
59
+ - **Decisions with no follow-through.** A commitment that nothing downstream
60
+ acts on. "We'll win on service" — then no line about staffing, training, or a
61
+ service metric. The decision is decoration until something carries it.
62
+ - **Goals with nothing aimed at them.** An outcome or target that no initiative,
63
+ action, or resource points at. Ask: what in this plan actually moves that
64
+ number?
65
+
66
+ Gaps hide because absence is invisible. You find them by walking each commitment
67
+ forward ("what happens because of this?") and each goal backward ("what here
68
+ causes this?") and noting where the trail goes cold.
69
+
70
+ ### 5. Spot the off-topic orphan
71
+
72
+ Sometimes a piece shares no subject with the rest — it's about a different
73
+ market, product, or problem entirely. It can't contradict, support, or gap
74
+ anything, because it isn't part of this argument at all. That's not a coherence
75
+ fault to resolve; it's a sign the element belongs to a *different strategy*.
76
+ Flag it, say what it seems to be about, and recommend it move to its own
77
+ workspace. Never delete it yourself — it may be someone else's live work,
78
+ misfiled here.
79
+
80
+ ## Output
81
+
82
+ A numbered list. Each item: the fault type (contradiction / tension / gap), the
83
+ exact line(s) quoted, one sentence of what's wrong, and either the fix or the
84
+ question that forces the fix. Group by type. If the set is coherent, say which
85
+ tensions you checked and confirmed are named — that is a real finding too.
86
+
87
+ ## Failure modes to avoid
88
+
89
+ - **Manufacturing contradictions from vague words.** If two lines only clash
90
+ because a word is fuzzy, that's a language problem, not a coherence one — route
91
+ it to `language.md`, don't dress it up as a contradiction.
92
+ - **Resolving it for them.** You flag, they choose. Picking the winner yourself
93
+ skips the judgment that is theirs to make.
94
+ - **Stopping at the first find.** Walk the whole list. The expensive
95
+ contradiction is usually not the obvious one.
@@ -0,0 +1,81 @@
1
+ # Freshness
2
+
3
+ A strategy is a set of judgments made at a moment, under conditions that were
4
+ true then. Time passes. The conditions move. Some judgments that were right are
5
+ now stale — not wrong when written, just overtaken. This check finds them before
6
+ you keep building on ground that shifted.
7
+
8
+ The move: for each judgment, recover the conditions it was made under, then ask
9
+ *do those conditions still hold?* Where they don't, the judgment is up for
10
+ re-decision. You are not attacking the old call. You are checking whether the
11
+ world it assumed is still the world you're in.
12
+
13
+ ## Anchor the date
14
+
15
+ Find out when the strategy — or the part you're checking — was written or last
16
+ reviewed. If it isn't dated, that is itself a finding: an undated strategy can't
17
+ be kept fresh, because nobody knows how old any judgment is. Establish a rough
18
+ date before you go further, from the person or from context.
19
+
20
+ ## Surface the conditions behind each judgment
21
+
22
+ Walk the load-bearing decisions and claims. For each, ask: *what had to be true
23
+ about the world for this to be the right call?* Make the hidden conditions
24
+ explicit. Examples:
25
+
26
+ - "Build our own billing" assumed no good off-the-shelf option existed **then**.
27
+ - "Don't invest in mobile" assumed usage was desktop-first **then**.
28
+ - "Price at $X" assumed a competitor set at $Y and a cost base of $Z **then**.
29
+ - "Win on being AI-native" assumed rivals weren't **then**.
30
+
31
+ Most conditions are unstated. The judgment records the conclusion, not the world
32
+ it depended on. Your value is reconstructing that world so you can check it.
33
+
34
+ ## Check what moved
35
+
36
+ For each condition, ask what has changed since the anchor date. Sweep the usual
37
+ sources of drift:
38
+
39
+ - **Competitors** — new entrants, a rival that closed the gap, someone who
40
+ exited.
41
+ - **The market** — demand shifted, a segment grew or died, buyer behaviour
42
+ changed.
43
+ - **Technology** — a capability that was hard or impossible is now cheap and
44
+ routine (this one dates strategies fastest).
45
+ - **Your own position** — you have people, money, data, or a product you didn't
46
+ have then. Constraints that shaped the old call may be gone.
47
+ - **Regulation / platform / external rules** — a policy, a fee, a dependency
48
+ changed under you.
49
+
50
+ Where a condition held then and doesn't now, flag the judgment that rode on it.
51
+
52
+ ## Rate the staleness
53
+
54
+ Not every changed condition matters. Sort each flagged judgment:
55
+
56
+ - **Stale and load-bearing** — the condition moved AND a lot rests on this
57
+ judgment. Re-decide now. This is the finding that justifies the whole check.
58
+ - **Stale but minor** — overtaken, but little depends on it. Note it, move on.
59
+ - **Still current** — conditions hold. Say so; confirmed-fresh is a real result
60
+ and stops needless churn.
61
+
62
+ ## Output
63
+
64
+ A numbered list: the judgment quoted, the condition it rested on, what changed,
65
+ and the verdict (re-decide now / note / still holds). Lead with the stale-and-
66
+ load-bearing ones. If the strategy is undated, say that first — it's the root
67
+ cause that makes everything else guesswork.
68
+
69
+ ## Failure modes to avoid
70
+
71
+ - **Re-litigating good calls.** A judgment made under conditions that STILL hold
72
+ is not stale, even if it's old. Age alone is not the fault; a moved condition
73
+ is. Don't reopen settled decisions for the sake of it.
74
+ - **Only checking the outside world.** The biggest change is often *your own*
75
+ position — new capability, new resources. A constraint that forced the old
76
+ call may simply be gone.
77
+ - **Missing the tech shift.** "It was too expensive to build" ages fastest of
78
+ all. Always ask whether the hard thing got cheap.
79
+ - **Confusing stale with wrong.** Freshness is about conditions changing, not
80
+ about the original call being a mistake. Frame it as "time overtook this", not
81
+ "this was bad" — that keeps the person willing to re-decide honestly.
@@ -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.