Derive tension-based principles (tenets) for a strategy, product, or initiative. Amazon-style 'X over Y' format where both sides are genuinely good — you're declaring which one wins when they conflict. Surfaces the real moral, business, and user tensions hiding in your idea and forces you to take a stance.
You are helping the user discover and articulate the core principles (tenets) that should guide their strategy, product, or initiative. These are NOT generic values. They are tension-based declarations in the Amazon tenet tradition: "X over Y" where both X and Y are genuinely good things, but you're declaring which one wins when they conflict.
The user's idea is: $ARGUMENTS
A good tenet has three qualities:
Real tension. Both sides must be things a reasonable person would want. "Quality over sloppiness" is not a tenet — nobody advocates for sloppiness. "Depth of experience over breadth of features" IS a tenet — both are legitimately valuable.
Takes a stance. It tells people what to do when two good things conflict. It's a pre-made decision. When a team member faces a tradeoff, they can point to the tenet and say "we already decided this."
Grounded in the specific situation. Generic principles like "move fast" could apply to anything. Good tenets emerge from the particular tensions in THIS product, THIS market, THIS mission.
The three forces that create tension in any initiative:
Most interesting tenets live at the intersection where two or three of these forces pull in different directions. The skill's job is to surface those tensions and help the user decide which way to lean.
Each tenet has three parts:
Example:
Transparency of process over speed of resolution People trust systems where they can see what's happening, even if it takes longer. When you hide the mechanism to move faster, you create anxiety that costs more than the time you saved. We're choosing this over speed of resolution, which matters too — but trust compounds and speed doesn't.
Detection: Auto-mode applies if EITHER:
$ARGUMENTS contains a [Auto directive: ...] block (injected by the /autodecide orchestrator), OR$ARGUMENTS starts with /autodecide (direct invocation modifier — the user typed /core-principles /autodecide [idea])In the second case, strip /autodecide from the args before treating the rest as the user's idea.
Inline depth modifiers also work. If $ARGUMENTS starts with (or contains alongside /autodecide) /overdecide or /underdecide, treat them as depth directives too:
/overdecide token present → surface 8-12 tenets instead of the usual 4-7 (be thorough; cover more tensions)/underdecide token present → surface only 2-3 tenets (the highest-stakes tensions only)/overdecide and /underdecide → use the FIRST one mentioned and ignore the second/core-principles /autodecide /overdecide [idea] and /core-principles /overdecide /autodecide [idea] are equivalentStrip all leading modifier tokens from $ARGUMENTS before treating the rest as the user's idea.
If auto-mode is triggered, your behavior changes for this entire run — apply the rules below across every phase.
What changes:
Per-tenet pauses are skipped. For each tenet decision: generate the full HTML page exactly as normal — research, 4 options, recommendation, comparison table, footer. Save it. Record the decision in decisions.json with status: "auto-picked" and chosen set to the recommended tenet (capture the recommendation reasoning in the reasoning field, prefixed with "Auto-picked: "). Do NOT open the file. Do NOT pause. Immediately proceed to the next tenet.
Generate .decisions/auto-review.html after all tenets. This is the ONE pause point in auto mode. A single page listing every auto-picked tenet in a scannable layout. For each row, show: tenet number, the tension being resolved, the chosen "X over Y" stance (label + summary), the other options as one-line summaries, and the AI's reasoning. Use the same dark-theme styling as per-decision pages (background #0a0a0f, accent #6c63ff purple, #fbbf24 yellow for "auto-picked", #4ade80 green for "confirmed"). Footer must surface the override syntax: For decision-N I want Y and an "Approve all" path. Open it with open .decisions/auto-review.html.
Tell the user. Output: "Auto-picked all N tenets. Review at .decisions/auto-review.html. Confirm with 'looks good' or override with 'For decision-N I want Y'."
Wait for the user's response. This is the only pause in auto mode.
On user response:
auto-picked tenet in decisions.json to status: "chosen". Update the auto-review page rows to the green "confirmed" state. Then proceed to the principles document / next-action phase normally.chosen to option Y, set status: "chosen", capture reasoning if given, add a history entry recording the change from auto-pick to user choice. Regenerate auto-review.html. Re-prompt for confirmation of the remaining auto-picks. Repeat until the user confirms.chosenOption: "custom", regenerate auto-review.Depth directives compose with auto-mode. If $ARGUMENTS ALSO contains a [Depth directive: ...] (from /overdecide or /underdecide chained with /autodecide), apply both: surface the requested tenet count AND auto-pick all of them.
Schema: auto-picked is a third valid value for the status field in decisions.json, alongside pending and chosen. Action skills must treat only chosen as ready to consume.
Critical invariant: Do NOT finalize the principles document or hand off to a downstream skill until every tenet has transitioned from auto-picked to chosen. The batch-review pause is the gate.
The "Wait for the user" guidance in your normal Handle-Responses phase still applies during overrides. But during auto mode, you do not pause per tenet — only at auto-review.
Read $ARGUMENTS carefully.
Check if .decisions/strategy-brief.md or decisions.json exists. If prior decisions exist from another skill (like /strategize or /product-strategy), read them. Those decisions are context — they tell you what the user has already decided about WHAT they're building. Your job is to figure out the principles that should guide HOW they build it.
If the input is clear enough to identify tensions, proceed to Phase 2.
If it's vague, ask 1-2 focused questions:
"I want to help you find the principles hiding in this idea. Before I dig in:
- Who benefits from this, and who might not?
- What's the hardest tradeoff you've already felt but haven't resolved?"
Wait for their answer.
This is the heart of the skill. Before identifying specific tenets, you need to understand where the real tensions live.
Run 3-5 web searches targeting:
From your research, identify exactly 3 genuine tensions — the 3 that matter most. Fewer principles means each one carries more weight and is easier to remember. Each tension should sit at the intersection of at least two of the three forces (user needs, business needs, humanity needs).
Common tension categories (adapt to the situation — these are starting points, not a checklist):
Present the tensions you've identified and wait for confirmation:
"Here are the 3 tensions I think matter most for this idea. Each one will become a tenet — a declaration of which side you're choosing:
- [Tension name] -- [Why this tension exists in one sentence]
- [Tension name] -- [Why this tension exists]
- [Tension name] -- [Why this tension exists]
I'll present each one with research, real examples, and a recommendation. Does this map the territory right, or would you swap any of these?"
Wait for acknowledgment.
Before generating options for any individual tenet, do targeted research:
The research should make the tension REAL. Not theoretical — grounded in what actually happened to real products and real people.
Each tenet is a decision. For each one, generate a self-contained HTML file.
mkdir -p .decisions
Save to .decisions/decision-NNN-slug.html and maintain .decisions/decisions.json and .decisions/index.html (landing page titled "Core Principles").
Header:
Research Context:
4 Option Cards -- Each representing a different STANCE on the tension:
Each option is a different way to frame the tenet. The options differ in:
For example, for a "Growth vs. Safety" tension, the 4 options might be:
Each option card should include:
Visual Previews for Tenet Cards:
Use tension spectrum visualizations:
Comparison Table: 5-8 dimensions that help distinguish the stances. Good dimensions for tenets:
Recommendation: Your recommended stance with clear reasoning. Ground it in the research — which real-world examples support this approach?
Footer: Instructions for choosing.
Open the HTML, share what you found and what you recommend, then STOP and wait.
chosenOption: "custom". This is great — they know their beliefs better than you do.After all tenets are chosen, present one final decision: the coherence review.
Generate an HTML page that shows ALL chosen tenets together and asks:
"Here are your principles as a set. Do they tell a coherent story about what kind of [product/initiative/organization] this is?"
The page should include:
Present 4 options for the north star framing and let the user choose.
Save as .decisions/strategy-brief.md:
# Core Principles: [Product/Initiative Name]
## North Star
[The chosen one-sentence through-line]
## The Principles
### 1. [Tenet Name: X over Y]
[Stance -- 1-2 sentences]
*Choosing this over [Y], which also matters — [brief acknowledgment of the tension].*
### 2. [Tenet Name: X over Y]
[Stance]
*Choosing this over [Y] — [tension acknowledgment].*
...
## What These Principles Say About Us
[2-3 sentences synthesizing the overall stance — what kind of product/team/initiative is this?]
## Research That Informed These Principles
- [Key finding 1 with source]
- [Key finding 2 with source]
- [Key finding 3 with source]
## When to Revisit
- [Condition that would trigger a rethink of Principle 1]
- [Condition that would trigger a rethink of Principle 2]
- ...
## How to Use These
These principles are pre-made decisions. When a team member faces a tradeoff:
1. Check if a principle applies
2. Follow the principle
3. If the principle feels wrong for this specific case, flag it — that's a signal the principle may need revisiting, not that it should be silently overridden
Then update the landing page and ask:
"Your principles are locked in. What's next?
- 'Game plan' -- I'll run /game-plan to turn these into an operational roadmap
- 'Challenge' -- I'll run /challenge to stress-test these principles
- 'Let me sit with them' -- take some time to reflect
- 'Just the brief' -- we're done for now"
{
"projectName": "Core Principles: [Name]",
"projectDescription": "Tension-based principles guiding [initiative description]",
"createdAt": "ISO timestamp",
"decisions": [
{
"id": "decision-001",
"slug": "tenet-slug",
"title": "Tenet: X over Y",
"status": "pending | chosen",
"chosenOption": "B",
"chosenTitle": "X over Y",
"reasoning": "Why this stance (nullable — only if user volunteered)",
"options": ["A", "B", "C", "D"],
"recommended": "B",
"htmlFile": "decision-001-tenet-slug.html",
"decidedAt": "ISO timestamp",
"summary": "One sentence about this tenet",
"history": []
}
]
}
open .decisions/decision-NNN-slug.html.