decision-toolkit
Generate structured decision-making tools — step-by-step guides, bias checkers, scenario explorers, and interactive dashboards. Use when facing significant choices requiring systematic analysis. Supports multiple cognitive styles and output formats.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install glebis-claude-skills-decision-toolkit
Repository
Skill path: decision-toolkit
Generate structured decision-making tools — step-by-step guides, bias checkers, scenario explorers, and interactive dashboards. Use when facing significant choices requiring systematic analysis. Supports multiple cognitive styles and output formats.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: glebis.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install decision-toolkit into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/glebis/claude-skills before adding decision-toolkit to shared team environments
- Use decision-toolkit for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: decision-toolkit
description: Generate structured decision-making tools — step-by-step guides, bias checkers, scenario explorers, and interactive dashboards. Use when facing significant choices requiring systematic analysis. Supports multiple cognitive styles and output formats.
---
# Decision Toolkit
## Overview
Create structured decision support materials that help humans think through significant choices systematically. This skill produces interactive tools, not just analysis — empowering the decision-maker rather than deciding for them.
## Philosophy
### Principles
1. **Guide, don't decide** — Tools illuminate the decision space; humans choose
2. **One thing at a time** — Reduce cognitive load through progressive disclosure
3. **Multiple lenses** — Same decision viewed through different frameworks reveals blind spots
4. **Biases visible** — Make cognitive biases explicit and checkable
5. **Actionable output** — End with concrete next steps, not abstract conclusions
### Accessibility First
- Support screen readers (semantic HTML, ARIA labels)
- Keyboard navigable (tab order, focus states)
- High contrast by default (WCAG AA minimum)
- Reduced motion option
- Works without JavaScript (graceful degradation)
- Mobile-friendly touch targets (44px minimum)
### Cognitive Inclusivity
Different people process decisions differently:
| Style | Accommodation |
|-------|---------------|
| **Analytical** | Numbers, matrices, weighted scores |
| **Intuitive** | Gut-check prompts, "how does this feel?" |
| **Visual** | Diagrams, progress bars, color coding |
| **Verbal** | Written summaries, question prompts |
| **Sequential** | Step-by-step wizard flow |
| **Global** | Dashboard overview option |
## When to Use
Invoke this skill when user faces:
- Collaboration/partnership decisions
- Career or job changes
- Investment of significant time/money
- Project prioritization
- Technology/tool selection
- Any choice with multiple factors and uncertainty
**Not for**: Trivial decisions, emergency responses, or when user just needs information.
## Decision Types
### Type 1: Opportunity Evaluation
*Should I pursue this opportunity?*
- Partnership, job offer, investment, project
### Type 2: Resource Allocation
*Where should I invest my time/money/attention?*
- Prioritization, budgeting, focus areas
### Type 3: Risk Assessment
*What could go wrong and is it worth it?*
- New ventures, changes, experiments
### Type 4: Trade-off Navigation
*Which option among alternatives?*
- Tool selection, hire decisions, strategic choices
## The Decision Journey
Nine steps, each focused on one dimension:
```
┌─────────────────────────────────────────────────────────────┐
│ 1. CONTEXT What is the decision? │
│ 2. FIRST PRINCIPLES Does this solve a real problem? │
│ 3. TIMING Is now the right moment? │
│ 4. STAKEHOLDERS Who else is involved? Are they stable? │
│ 5. BIASES What might cloud my judgment? │
│ 6. OPPORTUNITY COST What am I giving up? │
│ 7. SCENARIOS What could happen? │
│ 8. QUESTIONS What do I still need to learn? │
│ 9. SYNTHESIS Summary + decision │
└─────────────────────────────────────────────────────────────┘
```
## Output Formats
### 1. Interactive HTML Guide (Primary)
Step-by-step wizard with:
- Progress indicator
- One question per screen
- State persistence across steps
- Final summary aggregating all inputs
- Keyboard navigation
- Print-friendly CSS
### 2. Markdown Framework
For offline/text-based use:
- Structured prompts
- Checkbox-style bias audit
- Fill-in-the-blank templates
### 3. Voice Summary
For audio consumption:
- 5-7 paragraph executive summary
- Orpheus TTS markup for emotional texture
- Key decision + rationale
### 4. PDF Report
For documentation/sharing:
- Professional formatting
- All frameworks applied
- Appendix with raw analysis
## Frameworks Reference
### First Principles Test
```
1. What problem does this solve?
2. Can I solve it myself?
3. Is this the best solution?
4. What assumptions am I making?
5. If starting fresh today, would I choose this?
```
### Bias Checklist
```
□ FOMO — Am I afraid of missing out?
□ Sunk Cost — Am I factoring past investment?
□ Authority — Am I deferring to credentials?
□ Social Proof — Am I following the crowd?
□ Commitment — Do I feel locked in by past statements?
□ Optimism — Am I assuming problems will resolve?
□ Recency — Am I overweighting recent events?
□ Confirmation — Am I seeking validating info only?
□ Shiny Object — Is novelty distracting me?
□ Loss Aversion — Am I overweighting potential losses?
```
### Opportunity Cost Calculator
```
Hours/week × Weeks × Hourly rate = Direct cost
+ What else could those hours produce?
+ What relationships/opportunities might suffer?
= True opportunity cost
```
### Scenario Matrix
```
| Scenario | Probability | Outcome | Expected Value |
|----------|-------------|---------|----------------|
| Worst | X% | ... | ... |
| Bad | X% | ... | ... |
| Neutral | X% | ... | ... |
| Good | X% | ... | ... |
| Best | X% | ... | ... |
```
### Pre-mortem
```
Imagine it's [future date]. This decision failed. Why?
Possible causes:
1. ...
2. ...
3. ...
Which causes are within my control?
Which warning signs should I watch for?
```
### 10-10-10 Framework
```
How will I feel about this decision in:
- 10 minutes?
- 10 months?
- 10 years?
```
### Regret Minimization
```
Imagine you're 80 looking back.
Would you regret doing this?
Would you regret NOT doing this?
```
## Implementation Guide
### Step 1: Gather Context
Ask user for:
- What is the decision?
- What are the options?
- What's the timeline?
- What's at stake?
- Any relevant background?
Or extract from existing documents (meeting transcripts, notes).
### Step 2: Choose Output Format
Based on user preference and context:
- Complex decision + time available → Interactive HTML
- Quick analysis → Markdown framework
- On-the-go consumption → Voice summary
- Need to share with others → PDF report
### Step 3: Generate Tool
Use templates in `templates/` directory:
- `decision-guide-template.html` — Full interactive wizard
- `decision-framework.md` — Text-based analysis
- `decision-voice-summary.md` — Audio script template
### Step 4: Customize
Replace placeholders:
- `{{DECISION_TITLE}}` — What's being decided
- `{{CONTEXT}}` — Background information
- `{{OPTIONS}}` — Available choices
- `{{STAKEHOLDERS}}` — People/teams involved
- `{{TIMELINE}}` — Relevant dates
- `{{FACTORS}}` — Key evaluation criteria
### Step 5: Apply Branding (Optional)
If using Agency brand:
- Import brand-agency skill CSS variables
- Use neobrutalism styling
- Apply Geist/EB Garamond typography
## Accessibility Implementation
### Semantic HTML
```html
<main role="main" aria-label="Decision Guide">
<nav aria-label="Progress">
<ol role="list">...</ol>
</nav>
<section aria-labelledby="step-title">
<h1 id="step-title">...</h1>
</section>
</main>
```
### Keyboard Navigation
```javascript
// Ensure all interactive elements are focusable
// Tab order follows visual order
// Enter/Space activate buttons
// Arrow keys navigate options
```
### Screen Reader Announcements
```html
<div role="status" aria-live="polite" id="announcer">
<!-- Announce step changes, selections, results -->
</div>
```
### Color Contrast
```css
/* Minimum 4.5:1 for normal text, 3:1 for large text */
--text-on-light: #000000; /* 21:1 on white */
--text-on-dark: #ffffff; /* 21:1 on black */
--text-on-primary: #ffffff; /* Check each color */
```
### Reduced Motion
```css
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
}
```
## Cultural Considerations
### Individualist Framing
- "What do YOU want?"
- Personal goals and values
- Individual opportunity cost
### Collectivist Framing
- "How does this affect your team/family?"
- Relationship implications
- Group harmony considerations
### Power Distance Awareness
- Some cultures defer to authority figures
- Bias check should include "Am I deferring inappropriately?"
- Include stakeholder perspectives explicitly
### Uncertainty Tolerance
- Some prefer detailed scenario analysis
- Others find it anxiety-inducing
- Offer both detailed and simplified views
## Example Invocations
### From Meeting Transcript
```
User: Analyze this meeting transcript and create a decision toolkit
Claude: [Extracts decision, stakeholders, options from transcript]
[Generates interactive HTML guide]
[Creates voice summary]
```
### From Scratch
```
User: I need to decide whether to take a new job offer
Claude: [Asks clarifying questions]
[Generates decision framework]
[Customizes for career decision type]
```
### Quick Analysis
```
User: Help me think through this partnership decision, just give me the frameworks
Claude: [Provides markdown framework]
[Skips interactive tool]
[Focuses on key questions]
```
## Files
- `SKILL.md` — This file
- `templates/decision-guide-template.html` — Interactive wizard template
- `templates/decision-framework.md` — Text-based analysis template
- `templates/decision-voice-summary.md` — Audio script template
- `references/bias-encyclopedia.md` — Detailed bias descriptions
- `references/framework-deep-dives.md` — Extended framework explanations
## Integration
Works well with:
- **brand-agency** — Apply visual branding
- **transcript-analyzer** — Extract decisions from meetings
- **pdf-generation** — Create shareable reports
- **elevenlabs-tts** — Generate audio summaries
## Learnings
### 2026-01-09
**Context**: Initial skill creation from Synthius decision session
**Key Insight**: Dashboard-everything-at-once overwhelms. Step-by-step wizard with one concept per screen dramatically improves usability.
**Architecture**: 9-step journey covering all major decision dimensions. State object persists selections across steps. Summary aggregates everything.
**Accessibility Note**: High contrast neobrutalism actually helps accessibility — clear borders, distinct states, no subtle gradients.
---
## Referenced Files
> The following files are referenced in this skill and included for context.
### templates/decision-guide-template.html
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Decision Guide: {{DECISION_TITLE}}</title>
<link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Geist:wght@400;600;800&family=Geist+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root {
--bg: #ffffff;
--fg: #000000;
--muted: #e5e5e5;
--primary: #e85d04;
--secondary: #ffd60a;
--accent: #3a86ff;
--success: #38b000;
--error: #d62828;
--shadow: 4px 4px 0px 0px #000000;
--shadow-sm: 2px 2px 0px 0px #000000;
--font-body: 'EB Garamond', Georgia, serif;
--font-heading: 'Geist', Arial, sans-serif;
--font-mono: 'Geist Mono', 'Courier New', monospace;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: var(--font-body);
background: var(--bg);
color: var(--fg);
line-height: 1.7;
font-size: 19px;
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* Accessibility: Focus styles */
:focus {
outline: 3px solid var(--accent);
outline-offset: 2px;
}
/* Accessibility: Reduced motion */
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
}
/* Screen reader only text */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
/* Progress Bar */
.progress-container {
position: fixed;
top: 0;
left: 0;
right: 0;
background: var(--bg);
border-bottom: 3px solid var(--fg);
z-index: 100;
padding: 1rem 2rem;
}
.progress-bar {
display: flex;
gap: 4px;
max-width: 800px;
margin: 0 auto;
}
.progress-step {
flex: 1;
height: 8px;
background: var(--muted);
border: 2px solid var(--fg);
transition: background 0.3s;
}
.progress-step.completed { background: var(--success); }
.progress-step.current { background: var(--primary); }
.progress-label {
font-family: var(--font-mono);
font-size: 0.75rem;
text-align: center;
margin-top: 0.5rem;
max-width: 800px;
margin-left: auto;
margin-right: auto;
}
/* Main Content */
.container {
max-width: 700px;
margin: 0 auto;
padding: 7rem 2rem 6rem;
flex: 1;
}
/* Step */
.step {
display: none;
animation: fadeIn 0.4s ease;
}
.step.active { display: block; }
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.step-number {
font-family: var(--font-mono);
font-size: 0.8rem;
color: var(--fg);
opacity: 0.5;
margin-bottom: 0.5rem;
}
.step-title {
font-family: var(--font-heading);
font-weight: 800;
font-size: 2rem;
text-transform: uppercase;
margin-bottom: 1.5rem;
line-height: 1.2;
}
.step-question {
font-size: 1.4rem;
margin-bottom: 2rem;
font-style: italic;
}
.step-context {
background: var(--muted);
border: 2px solid var(--fg);
padding: 1.25rem;
margin-bottom: 2rem;
font-size: 1rem;
}
.step-context strong {
font-family: var(--font-heading);
font-weight: 800;
text-transform: uppercase;
font-size: 0.85rem;
}
/* Options (Radio-like selection) */
.options {
display: flex;
flex-direction: column;
gap: 1rem;
margin-bottom: 2rem;
}
.option {
padding: 1.25rem;
border: 3px solid var(--fg);
background: var(--bg);
cursor: pointer;
transition: all 0.15s;
display: flex;
align-items: center;
gap: 1rem;
}
.option:hover {
background: var(--secondary);
box-shadow: var(--shadow-sm);
transform: translate(-2px, -2px);
}
.option.selected {
background: var(--primary);
color: var(--bg);
box-shadow: var(--shadow);
transform: translate(-4px, -4px);
}
.option-marker {
width: 24px;
height: 24px;
border: 3px solid currentColor;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--font-mono);
font-weight: bold;
font-size: 0.9rem;
flex-shrink: 0;
}
.option.selected .option-marker::after { content: "✓"; }
.option-text { flex: 1; }
.option-label {
font-family: var(--font-heading);
font-weight: 800;
text-transform: uppercase;
font-size: 1rem;
}
.option-desc {
font-size: 0.9rem;
margin-top: 0.25rem;
opacity: 0.8;
}
/* Sliders */
.slider-container { margin-bottom: 2rem; }
.slider-label {
display: flex;
justify-content: space-between;
margin-bottom: 0.5rem;
font-family: var(--font-heading);
font-weight: 600;
}
.slider-value {
font-family: var(--font-mono);
font-size: 1.5rem;
font-weight: bold;
}
input[type="range"] {
width: 100%;
height: 12px;
-webkit-appearance: none;
background: var(--muted);
border: 2px solid var(--fg);
outline: none;
}
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 28px;
height: 28px;
background: var(--primary);
border: 3px solid var(--fg);
cursor: pointer;
}
.slider-labels {
display: flex;
justify-content: space-between;
font-size: 0.8rem;
margin-top: 0.5rem;
font-family: var(--font-mono);
}
/* Checklist */
.checklist {
display: flex;
flex-direction: column;
gap: 0.75rem;
margin-bottom: 2rem;
}
.check-item {
padding: 1rem;
border: 2px solid var(--fg);
background: var(--bg);
cursor: pointer;
display: flex;
align-items: flex-start;
gap: 1rem;
transition: all 0.15s;
}
.check-item:hover { background: var(--muted); }
.check-item.checked { background: var(--secondary); }
.check-box {
width: 24px;
height: 24px;
border: 3px solid var(--fg);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-weight: bold;
}
.check-item.checked .check-box::after { content: "✓"; }
.check-content { flex: 1; }
.check-title {
font-family: var(--font-heading);
font-weight: 800;
font-size: 0.9rem;
text-transform: uppercase;
}
.check-desc {
font-size: 0.9rem;
margin-top: 0.25rem;
}
.check-counter {
font-size: 0.85rem;
margin-top: 0.5rem;
padding: 0.5rem;
background: var(--bg);
border: 2px solid var(--fg);
display: none;
}
.check-item.checked .check-counter { display: block; }
/* Calculator */
.calc-row {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1rem;
padding: 1rem;
background: var(--muted);
border: 2px solid var(--fg);
}
.calc-row label { flex: 1; }
.calc-row input {
width: 100px;
padding: 0.75rem;
border: 2px solid var(--fg);
font-family: var(--font-mono);
font-size: 1.1rem;
text-align: center;
}
.calc-result {
background: var(--secondary);
border: 3px solid var(--fg);
padding: 1.5rem;
text-align: center;
margin-top: 1.5rem;
}
.calc-result-number {
font-family: var(--font-heading);
font-size: 3rem;
font-weight: 800;
}
.calc-result-label {
font-family: var(--font-mono);
font-size: 0.85rem;
text-transform: uppercase;
}
/* Insight Box */
.insight {
background: var(--fg);
color: var(--bg);
padding: 1.5rem;
margin: 2rem 0;
font-size: 1.1rem;
}
.insight-label {
font-family: var(--font-mono);
font-size: 0.75rem;
text-transform: uppercase;
opacity: 0.7;
margin-bottom: 0.5rem;
}
/* Summary Section */
.summary-section {
margin-bottom: 2rem;
padding: 1.5rem;
border: 2px solid var(--fg);
}
.summary-section h3 {
font-family: var(--font-heading);
font-weight: 800;
text-transform: uppercase;
font-size: 0.9rem;
margin-bottom: 1rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--fg);
}
.summary-row {
display: flex;
justify-content: space-between;
padding: 0.5rem 0;
border-bottom: 1px solid var(--muted);
}
.summary-row:last-child { border-bottom: none; }
.summary-label { opacity: 0.7; }
.summary-value {
font-family: var(--font-mono);
font-weight: bold;
}
.summary-value.positive { color: var(--success); }
.summary-value.negative { color: var(--error); }
.summary-value.neutral { color: var(--primary); }
/* Final Decision */
.final-decision {
text-align: center;
padding: 2rem;
border: 3px solid var(--fg);
margin: 2rem 0;
}
.final-decision-label {
font-family: var(--font-mono);
font-size: 0.8rem;
text-transform: uppercase;
opacity: 0.7;
}
.final-decision-text {
font-family: var(--font-heading);
font-weight: 800;
font-size: 2rem;
text-transform: uppercase;
margin: 0.5rem 0;
}
/* Navigation */
.nav {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: var(--bg);
border-top: 3px solid var(--fg);
padding: 1rem 2rem;
display: flex;
justify-content: space-between;
align-items: center;
z-index: 100;
}
.nav-btn {
padding: 1rem 2rem;
border: 3px solid var(--fg);
background: var(--bg);
font-family: var(--font-heading);
font-weight: 800;
font-size: 1rem;
text-transform: uppercase;
cursor: pointer;
transition: all 0.15s;
}
.nav-btn:hover {
background: var(--muted);
box-shadow: var(--shadow-sm);
transform: translate(-2px, -2px);
}
.nav-btn.primary {
background: var(--primary);
color: var(--bg);
}
.nav-btn.primary:hover {
background: var(--primary);
box-shadow: var(--shadow);
transform: translate(-4px, -4px);
}
.nav-btn:disabled {
opacity: 0.3;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
/* Scenario cards */
.scenario-card {
padding: 1.25rem;
border: 2px solid var(--fg);
margin-bottom: 1rem;
}
.scenario-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.75rem;
}
.scenario-title { font-family: var(--font-heading); font-weight: 600; }
.scenario-prob {
font-family: var(--font-mono);
font-size: 1.2rem;
font-weight: bold;
}
.scenario-bar {
height: 16px;
background: var(--muted);
border: 2px solid var(--fg);
margin-bottom: 0.75rem;
}
.scenario-fill { height: 100%; }
.scenario-outcome {
font-size: 0.9rem;
font-style: italic;
}
/* Print Styles */
@media print {
.progress-container, .nav { display: none; }
.container { padding: 1rem; }
.step { display: block !important; page-break-after: always; }
}
</style>
</head>
<body>
<!-- Screen reader announcer -->
<div role="status" aria-live="polite" id="announcer" class="sr-only"></div>
<nav class="progress-container" aria-label="Decision progress">
<div class="progress-bar" role="progressbar" aria-valuenow="1" aria-valuemin="1" aria-valuemax="9">
<div class="progress-step" data-step="1"></div>
<div class="progress-step" data-step="2"></div>
<div class="progress-step" data-step="3"></div>
<div class="progress-step" data-step="4"></div>
<div class="progress-step" data-step="5"></div>
<div class="progress-step" data-step="6"></div>
<div class="progress-step" data-step="7"></div>
<div class="progress-step" data-step="8"></div>
<div class="progress-step" data-step="9"></div>
</div>
<div class="progress-label" id="progressLabel">Step 1 of 9</div>
</nav>
<main class="container" role="main" aria-label="Decision Guide">
<!-- Step 1: Context -->
<section class="step active" data-step="1" aria-labelledby="step1-title">
<div class="step-number">Step 1 of 9</div>
<h1 class="step-title" id="step1-title">The Decision</h1>
<p class="step-question">{{DECISION_QUESTION}}</p>
<div class="step-context">
<strong>Context</strong><br>
{{CONTEXT}}
</div>
<div class="insight">
<div class="insight-label">Key Tension</div>
{{KEY_TENSION}}
</div>
<p>Before deciding, let's examine this systematically. Each step focuses on one critical factor.</p>
</section>
<!-- Step 2: First Principles -->
<section class="step" data-step="2" aria-labelledby="step2-title">
<div class="step-number">Step 2 of 9</div>
<h1 class="step-title" id="step2-title">First Principles</h1>
<p class="step-question">Does this solve a problem you cannot solve yourself?</p>
<div class="step-context">
<strong>Your Current Capabilities</strong><br>
{{CURRENT_CAPABILITIES}}
</div>
<div class="options" role="radiogroup" aria-label="Problem assessment">
<div class="option" role="radio" aria-checked="false" tabindex="0" onclick="selectOption(this, 2)" onkeypress="handleKeySelect(event, this, 2)" data-value="no">
<div class="option-marker" aria-hidden="true"></div>
<div class="option-text">
<div class="option-label">No — I can do this myself</div>
<div class="option-desc">My existing tools/skills cover this.</div>
</div>
</div>
<div class="option" role="radio" aria-checked="false" tabindex="0" onclick="selectOption(this, 2)" onkeypress="handleKeySelect(event, this, 2)" data-value="partial">
<div class="option-marker" aria-hidden="true"></div>
<div class="option-text">
<div class="option-label">Partially — some unique value</div>
<div class="option-desc">Some aspects add value I don't have.</div>
</div>
</div>
<div class="option" role="radio" aria-checked="false" tabindex="0" onclick="selectOption(this, 2)" onkeypress="handleKeySelect(event, this, 2)" data-value="yes">
<div class="option-marker" aria-hidden="true"></div>
<div class="option-text">
<div class="option-label">Yes — solves what I can't</div>
<div class="option-desc">Critical capability I don't have.</div>
</div>
</div>
</div>
<div class="insight">
<div class="insight-label">First Principles Test</div>
If you can solve it yourself, external dependency adds risk without proportional value.
</div>
</section>
<!-- Step 3: Timing -->
<section class="step" data-step="3" aria-labelledby="step3-title">
<div class="step-number">Step 3 of 9</div>
<h1 class="step-title" id="step3-title">Timing</h1>
<p class="step-question">Is now the right time for this commitment?</p>
<div class="slider-container">
<div class="slider-label">
<label for="weeksSlider">Weeks until key milestone</label>
<span class="slider-value" id="weeksValue">6</span>
</div>
<input type="range" min="1" max="12" value="6" id="weeksSlider" oninput="updateWeeks()" aria-describedby="weeksDesc">
<div class="slider-labels" id="weeksDesc">
<span>1 week</span>
<span>12 weeks</span>
</div>
</div>
<div class="slider-container">
<div class="slider-label">
<label for="hoursSlider">Hours/week you could commit</label>
<span class="slider-value" id="hoursValue">3</span>
</div>
<input type="range" min="1" max="20" value="3" id="hoursSlider" oninput="updateHours()">
<div class="slider-labels">
<span>1h</span>
<span>20h</span>
</div>
</div>
<div class="calc-result" aria-live="polite">
<div class="calc-result-number" id="totalHoursResult">18h</div>
<div class="calc-result-label">Total hours before milestone</div>
</div>
</section>
<!-- Step 4: Stakeholder Assessment -->
<section class="step" data-step="4" aria-labelledby="step4-title">
<div class="step-number">Step 4 of 9</div>
<h1 class="step-title" id="step4-title">Stakeholders</h1>
<p class="step-question">Are the people/team involved stable and reliable?</p>
<div class="step-context">
<strong>What You Know</strong><br>
{{STAKEHOLDER_INFO}}
</div>
<div class="slider-container">
<div class="slider-label">
<label for="teamSlider">Stakeholder stability confidence</label>
<span class="slider-value" id="teamValue">5</span>
</div>
<input type="range" min="1" max="10" value="5" id="teamSlider" oninput="updateTeam()">
<div class="slider-labels">
<span>1 = Very unstable</span>
<span>10 = Rock solid</span>
</div>
</div>
<div class="insight" id="teamInsight">
<div class="insight-label">Stakeholder Signal</div>
Consider past patterns of commitment and follow-through.
</div>
</section>
<!-- Step 5: Bias Check -->
<section class="step" data-step="5" aria-labelledby="step5-title">
<div class="step-number">Step 5 of 9</div>
<h1 class="step-title" id="step5-title">Bias Check</h1>
<p class="step-question">What might be clouding your judgment?</p>
<p style="margin-bottom: 1.5rem;">Check any biases you recognize in yourself. Be honest.</p>
<div class="checklist" role="group" aria-label="Bias checklist">
<div class="check-item" role="checkbox" aria-checked="false" tabindex="0" onclick="toggleCheck(this)" onkeypress="handleKeyCheck(event, this)">
<div class="check-box" aria-hidden="true"></div>
<div class="check-content">
<div class="check-title">FOMO</div>
<div class="check-desc">Fear of missing a rare opportunity</div>
<div class="check-counter">Counter: What evidence suggests this is truly unique?</div>
</div>
</div>
<div class="check-item" role="checkbox" aria-checked="false" tabindex="0" onclick="toggleCheck(this)" onkeypress="handleKeyCheck(event, this)">
<div class="check-box" aria-hidden="true"></div>
<div class="check-content">
<div class="check-title">Sunk Cost</div>
<div class="check-desc">Factoring in past investment of time/money</div>
<div class="check-counter">Counter: Past investment is gone. This decision is purely forward-looking.</div>
</div>
</div>
<div class="check-item" role="checkbox" aria-checked="false" tabindex="0" onclick="toggleCheck(this)" onkeypress="handleKeyCheck(event, this)">
<div class="check-box" aria-hidden="true"></div>
<div class="check-content">
<div class="check-title">Authority Bias</div>
<div class="check-desc">Influenced by credentials or status</div>
<div class="check-counter">Counter: Authority does not equal correctness or fit for you.</div>
</div>
</div>
<div class="check-item" role="checkbox" aria-checked="false" tabindex="0" onclick="toggleCheck(this)" onkeypress="handleKeyCheck(event, this)">
<div class="check-box" aria-hidden="true"></div>
<div class="check-content">
<div class="check-title">Commitment Consistency</div>
<div class="check-desc">Feeling obligated by past statements</div>
<div class="check-counter">Counter: New information fully justifies reassessment.</div>
</div>
</div>
<div class="check-item" role="checkbox" aria-checked="false" tabindex="0" onclick="toggleCheck(this)" onkeypress="handleKeyCheck(event, this)">
<div class="check-box" aria-hidden="true"></div>
<div class="check-content">
<div class="check-title">Optimism Bias</div>
<div class="check-desc">Assuming problems will resolve</div>
<div class="check-counter">Counter: Look at patterns, not hopes.</div>
</div>
</div>
<div class="check-item" role="checkbox" aria-checked="false" tabindex="0" onclick="toggleCheck(this)" onkeypress="handleKeyCheck(event, this)">
<div class="check-box" aria-hidden="true"></div>
<div class="check-content">
<div class="check-title">Shiny Object</div>
<div class="check-desc">Attracted by novelty</div>
<div class="check-counter">Counter: Is this genuinely better, or just new?</div>
</div>
</div>
</div>
<div class="insight" aria-live="polite">
<div class="insight-label">Bias Count</div>
<span id="biasCount">0</span> potential biases identified.
</div>
</section>
<!-- Step 6: Opportunity Cost -->
<section class="step" data-step="6" aria-labelledby="step6-title">
<div class="step-number">Step 6 of 9</div>
<h1 class="step-title" id="step6-title">Opportunity Cost</h1>
<p class="step-question">What are you giving up?</p>
<div class="calc-row">
<label for="rateInput">Your hourly value/rate</label>
<input type="number" id="rateInput" value="100" onchange="calculateCost()" aria-label="Hourly rate">
</div>
<div class="calc-result" style="background: var(--muted);" aria-live="polite">
<div class="calc-result-number" id="costResult">$1,800</div>
<div class="calc-result-label">Opportunity cost</div>
</div>
<div style="margin-top: 1.5rem;">
<p><strong>That time could instead produce:</strong></p>
<ul style="margin: 1rem 0 0 1.5rem;">
<li id="alt1">{{ALTERNATIVE_1}}</li>
<li id="alt2">{{ALTERNATIVE_2}}</li>
<li id="alt3">{{ALTERNATIVE_3}}</li>
</ul>
</div>
</section>
<!-- Step 7: Scenarios -->
<section class="step" data-step="7" aria-labelledby="step7-title">
<div class="step-number">Step 7 of 9</div>
<h1 class="step-title" id="step7-title">Scenarios</h1>
<p class="step-question">What could happen?</p>
<div class="scenario-card">
<div class="scenario-header">
<span class="scenario-title">Worst case</span>
<span class="scenario-prob" style="color: var(--error);">{{WORST_PROB}}%</span>
</div>
<div class="scenario-bar">
<div class="scenario-fill" style="width: {{WORST_PROB}}%; background: var(--error);"></div>
</div>
<div class="scenario-outcome">{{WORST_OUTCOME}}</div>
</div>
<div class="scenario-card">
<div class="scenario-header">
<span class="scenario-title">Neutral case</span>
<span class="scenario-prob" style="color: var(--primary);">{{NEUTRAL_PROB}}%</span>
</div>
<div class="scenario-bar">
<div class="scenario-fill" style="width: {{NEUTRAL_PROB}}%; background: var(--primary);"></div>
</div>
<div class="scenario-outcome">{{NEUTRAL_OUTCOME}}</div>
</div>
<div class="scenario-card">
<div class="scenario-header">
<span class="scenario-title">Best case</span>
<span class="scenario-prob" style="color: var(--success);">{{BEST_PROB}}%</span>
</div>
<div class="scenario-bar">
<div class="scenario-fill" style="width: {{BEST_PROB}}%; background: var(--success);"></div>
</div>
<div class="scenario-outcome">{{BEST_OUTCOME}}</div>
</div>
</section>
<!-- Step 8: Questions -->
<section class="step" data-step="8" aria-labelledby="step8-title">
<div class="step-number">Step 8 of 9</div>
<h1 class="step-title" id="step8-title">Questions to Answer</h1>
<p class="step-question">What do you still need to learn?</p>
<p style="margin-bottom: 1.5rem;">Click questions to mark as answered.</p>
<div class="questions-list" role="group" aria-label="Questions checklist">
<!-- Questions will be populated dynamically or via template -->
{{QUESTIONS_LIST}}
</div>
</section>
<!-- Step 9: Summary & Decision -->
<section class="step" data-step="9" aria-labelledby="step9-title">
<div class="step-number">Step 9 of 9</div>
<h1 class="step-title" id="step9-title">Your Decision</h1>
<div class="summary-section">
<h3>Analysis Summary</h3>
<div class="summary-row">
<span class="summary-label">Solves unique problem?</span>
<span class="summary-value" id="sumProblem">—</span>
</div>
<div class="summary-row">
<span class="summary-label">Hours available</span>
<span class="summary-value" id="sumHours">—</span>
</div>
<div class="summary-row">
<span class="summary-label">Stakeholder stability</span>
<span class="summary-value" id="sumTeam">—</span>
</div>
<div class="summary-row">
<span class="summary-label">Biases identified</span>
<span class="summary-value" id="sumBiases">—</span>
</div>
<div class="summary-row">
<span class="summary-label">Opportunity cost</span>
<span class="summary-value" id="sumCost">—</span>
</div>
</div>
<p class="step-question">Based on your analysis, what's your decision?</p>
<div class="options" role="radiogroup" aria-label="Final decision">
{{DECISION_OPTIONS}}
</div>
<div class="final-decision" id="finalDecision" aria-live="polite">
<div class="final-decision-label">Your Decision</div>
<div class="final-decision-text" id="finalDecisionText">—</div>
<div id="finalDecisionDesc"></div>
</div>
</section>
</main>
<nav class="nav" aria-label="Step navigation">
<button class="nav-btn" id="prevBtn" onclick="prevStep()" disabled aria-label="Previous step">← Back</button>
<button class="nav-btn primary" id="nextBtn" onclick="nextStep()" aria-label="Next step">Continue →</button>
</nav>
<script>
let currentStep = 1;
const totalSteps = 9;
const state = {
problem: null,
weeks: 6,
hours: 3,
team: 5,
biases: 0,
rate: 100,
decision: null
};
function announce(text) {
document.getElementById('announcer').textContent = text;
}
function updateProgress() {
document.querySelectorAll('.progress-step').forEach((el, i) => {
el.classList.remove('current', 'completed');
if (i + 1 < currentStep) el.classList.add('completed');
if (i + 1 === currentStep) el.classList.add('current');
});
document.getElementById('progressLabel').textContent = `Step ${currentStep} of ${totalSteps}`;
document.querySelector('.progress-bar').setAttribute('aria-valuenow', currentStep);
}
function showStep(step) {
document.querySelectorAll('.step').forEach(el => el.classList.remove('active'));
document.querySelector(`.step[data-step="${step}"]`).classList.add('active');
document.getElementById('prevBtn').disabled = step === 1;
document.getElementById('nextBtn').textContent = step === totalSteps ? 'Finish' : 'Continue →';
updateProgress();
if (step === 9) updateSummary();
window.scrollTo(0, 0);
announce(`Step ${step} of ${totalSteps}`);
}
function nextStep() {
if (currentStep < totalSteps) {
currentStep++;
showStep(currentStep);
}
}
function prevStep() {
if (currentStep > 1) {
currentStep--;
showStep(currentStep);
}
}
function selectOption(el, step) {
const container = el.closest('.options');
container.querySelectorAll('.option').forEach(o => {
o.classList.remove('selected');
o.setAttribute('aria-checked', 'false');
});
el.classList.add('selected');
el.setAttribute('aria-checked', 'true');
if (step === 2) state.problem = el.dataset.value;
}
function handleKeySelect(e, el, step) {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
selectOption(el, step);
}
}
function toggleCheck(el) {
const isChecked = el.classList.toggle('checked');
el.setAttribute('aria-checked', isChecked);
state.biases = document.querySelectorAll('.check-item.checked').length;
document.getElementById('biasCount').textContent = state.biases;
}
function handleKeyCheck(e, el) {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
toggleCheck(el);
}
}
function updateWeeks() {
state.weeks = parseInt(document.getElementById('weeksSlider').value);
document.getElementById('weeksValue').textContent = state.weeks;
updateTiming();
}
function updateHours() {
state.hours = parseInt(document.getElementById('hoursSlider').value);
document.getElementById('hoursValue').textContent = state.hours;
updateTiming();
}
function updateTiming() {
const total = state.weeks * state.hours;
document.getElementById('totalHoursResult').textContent = total + 'h';
calculateCost();
}
function updateTeam() {
state.team = parseInt(document.getElementById('teamSlider').value);
document.getElementById('teamValue').textContent = state.team;
const insight = document.getElementById('teamInsight');
if (state.team <= 3) {
insight.innerHTML = `<div class="insight-label">Stakeholder Signal</div>Low confidence suggests high risk. Proceed with caution.`;
} else if (state.team <= 6) {
insight.innerHTML = `<div class="insight-label">Stakeholder Signal</div>Moderate confidence. Monitor for changes.`;
} else {
insight.innerHTML = `<div class="insight-label">Stakeholder Signal</div>High confidence. Verify this is based on evidence.`;
}
}
function calculateCost() {
state.rate = parseInt(document.getElementById('rateInput').value) || 100;
const total = state.weeks * state.hours;
const cost = total * state.rate;
document.getElementById('costResult').textContent = '$' + cost.toLocaleString();
}
function selectFinal(el) {
const container = el.closest('.options');
container.querySelectorAll('.option').forEach(o => {
o.classList.remove('selected');
o.setAttribute('aria-checked', 'false');
});
el.classList.add('selected');
el.setAttribute('aria-checked', 'true');
state.decision = el.dataset.value;
document.getElementById('finalDecisionText').textContent = el.querySelector('.option-label').textContent;
document.getElementById('finalDecisionDesc').textContent = el.querySelector('.option-desc').textContent;
}
function updateSummary() {
const problemText = state.problem === 'yes' ? 'Yes' : state.problem === 'partial' ? 'Partial' : 'No';
const problemClass = state.problem === 'yes' ? 'positive' : state.problem === 'partial' ? 'neutral' : 'negative';
document.getElementById('sumProblem').textContent = problemText;
document.getElementById('sumProblem').className = 'summary-value ' + problemClass;
document.getElementById('sumHours').textContent = (state.weeks * state.hours) + 'h total';
const teamClass = state.team <= 3 ? 'negative' : state.team <= 6 ? 'neutral' : 'positive';
document.getElementById('sumTeam').textContent = state.team + '/10';
document.getElementById('sumTeam').className = 'summary-value ' + teamClass;
document.getElementById('sumBiases').textContent = state.biases;
document.getElementById('sumBiases').className = 'summary-value ' + (state.biases > 2 ? 'negative' : 'neutral');
const cost = state.weeks * state.hours * state.rate;
document.getElementById('sumCost').textContent = '$' + cost.toLocaleString();
}
// Keyboard navigation
document.addEventListener('keydown', function(e) {
if (e.key === 'ArrowRight' && e.altKey) nextStep();
if (e.key === 'ArrowLeft' && e.altKey) prevStep();
});
showStep(1);
calculateCost();
</script>
</body>
</html>
```
### templates/decision-framework.md
```markdown
# Decision Framework: {{DECISION_TITLE}}
*Generated: {{DATE}}*
---
## 1. The Decision
**Question**: {{DECISION_QUESTION}}
**Context**: {{CONTEXT}}
**Key Tension**: {{KEY_TENSION}}
---
## 2. First Principles Test
**Core Question**: Does this solve a problem you cannot solve yourself?
**Your Current Capabilities**:
{{CURRENT_CAPABILITIES}}
**Assessment**: [ ] No — I can do this myself | [ ] Partial — some unique value | [ ] Yes — solves what I can't
**Notes**:
---
## 3. Timing Assessment
| Factor | Value | Notes |
|--------|-------|-------|
| Weeks until key milestone | | |
| Hours/week available | | |
| Total hours before milestone | | |
**Timing verdict**: Is now the right time?
---
## 4. Stakeholder Analysis
**Key stakeholders**:
{{STAKEHOLDER_INFO}}
**Stability assessment (1-10)**: ____
| Score | Interpretation |
|-------|----------------|
| 1-3 | High risk — low confidence in stability |
| 4-6 | Moderate — monitor for changes |
| 7-10 | Solid — verify this is evidence-based |
---
## 5. Bias Audit
Check any biases you recognize in yourself:
- [ ] **FOMO** — Fear of missing a rare opportunity
- Counter: What evidence suggests this is truly unique?
- [ ] **Sunk Cost** — Factoring in past investment of time/money
- Counter: Past investment is gone. This decision is forward-looking.
- [ ] **Authority Bias** — Influenced by credentials or status
- Counter: Authority ≠ correctness or fit for you.
- [ ] **Social Proof** — Following because others are
- Counter: Others' choices may not match your context.
- [ ] **Commitment Consistency** — Feeling obligated by past statements
- Counter: New information justifies reassessment.
- [ ] **Optimism Bias** — Assuming problems will resolve
- Counter: Look at patterns, not hopes.
- [ ] **Recency Bias** — Overweighting recent events
- Counter: Consider the full timeline.
- [ ] **Confirmation Bias** — Seeking only validating information
- Counter: What would disprove this?
- [ ] **Shiny Object** — Attracted by novelty
- Counter: Is this genuinely better, or just new?
- [ ] **Loss Aversion** — Overweighting potential losses
- Counter: Compare actual probabilities.
**Total biases identified**: ____
---
## 6. Opportunity Cost Calculator
| Component | Value |
|-----------|-------|
| Hours/week × Weeks | |
| × Hourly rate | |
| = Direct cost | |
**What else could that time produce?**
1. {{ALTERNATIVE_1}}
2. {{ALTERNATIVE_2}}
3. {{ALTERNATIVE_3}}
**True opportunity cost assessment**:
---
## 7. Scenario Matrix
| Scenario | Probability | Outcome | Notes |
|----------|-------------|---------|-------|
| Worst case | {{WORST_PROB}}% | {{WORST_OUTCOME}} | |
| Bad case | % | | |
| Neutral | {{NEUTRAL_PROB}}% | {{NEUTRAL_OUTCOME}} | |
| Good case | % | | |
| Best case | {{BEST_PROB}}% | {{BEST_OUTCOME}} | |
**Expected value assessment**:
---
## 8. Pre-Mortem
*Imagine it's {{FUTURE_DATE}}. This decision failed. Why?*
**Possible causes**:
1.
2.
3.
**Which are within my control?**
**Warning signs to watch for**:
---
## 9. Questions to Resolve
Before deciding, get answers to:
{{QUESTIONS_LIST}}
---
## 10. The 10-10-10 Framework
**How will I feel about this decision in...**
- **10 minutes?**
- **10 months?**
- **10 years?**
---
## 11. Regret Minimization
*Imagine you're 80 looking back.*
- Would you regret doing this?
- Would you regret NOT doing this?
---
## 12. Decision
**Options**:
{{DECISION_OPTIONS}}
**My decision**:
**Rationale**:
**Boundary statement** (what I will and won't do):
**Review date**:
---
## Summary
| Factor | Assessment |
|--------|------------|
| Solves unique problem | |
| Timing | |
| Stakeholder stability | |
| Biases identified | |
| Opportunity cost | |
| Probability of success | |
| Regret profile | |
**Final recommendation**:
```
### templates/decision-voice-summary.md
```markdown
# Voice Summary Template
*For Orpheus TTS or similar expressive voice synthesis*
---
## Script: {{DECISION_TITLE}}
### Opening (Set the stage)
So, here's the situation. {{CONTEXT_BRIEF}}
{{DECISION_QUESTION_SPOKEN}}
<pause length="medium"/>
### The Tension
{{KEY_TENSION_SPOKEN}}
<sigh> It's not straightforward.
### First Principles Reality Check
Let me be honest. {{FIRST_PRINCIPLES_ASSESSMENT}}
<pause length="short"/>
### The Numbers
Here's what the analysis shows:
{{TIMING_SUMMARY}}
{{OPPORTUNITY_COST_SUMMARY}}
<pause length="short"/>
### What Could Go Wrong
Now for the uncomfortable part.
{{SCENARIO_WORST_CASE}}
{{SCENARIO_PROBABILITY_SUMMARY}}
<pause length="medium"/>
### The Biases
And here's where I need to be really honest with myself.
{{BIAS_ACKNOWLEDGMENT}}
<pause length="short"/>
### The Verdict
<pause length="medium"/>
{{RECOMMENDATION_SPOKEN}}
{{BOUNDARY_STATEMENT}}
<chuckle> {{CLOSING_THOUGHT}}
---
## Orpheus TTS Markup Reference
### Emotional Tags
- `<sigh>` — Expressing concern or resignation
- `<chuckle>` — Light humor or self-aware moment
- `<whisper>` — Emphasis through contrast
- `<excited>` — Enthusiasm
### Pacing
- `<pause length="short"/>` — Brief beat (0.5s)
- `<pause length="medium"/>` — Thinking pause (1s)
- `<pause length="long"/>` — Section break (2s)
### Emphasis
- `<emphasis>word</emphasis>` — Stress important terms
- `<slow>phrase</slow>` — Deliberate pacing for key points
---
## Example Filled Script
### Opening
So, here's the situation. Andrew called about joining Synthius, a mental health platform for builders.
Should I commit my time to this right now?
<pause length="medium"/>
### The Tension
The thing is, I'm launching Salience in February. Every hour I give Synthius is an hour not spent on my own launch.
<sigh> It's not straightforward.
### First Principles Reality Check
Let me be honest. I already have Claude Code, my own MCP servers, Obsidian. I can build agent memory myself. Synthius doesn't solve something I genuinely can't do.
<pause length="short"/>
### The Numbers
Here's what the analysis shows:
If I give three hours a week for six weeks, that's eighteen hours. At my rate, that's about two thousand seven hundred euros worth of time.
That's roughly two Salience course modules I won't be building.
<pause length="short"/>
### What Could Go Wrong
Now for the uncomfortable part.
In September, Andrew had six to eleven potential co-founders. Now it's just him and Artem. Eighty percent attrition in four months.
The analysis suggests a seventy-five percent probability of zero or negative return.
<pause length="medium"/>
### The Biases
And here's where I need to be really honest with myself.
I'm feeling FOMO. I'm feeling sunk cost from those previous meetings. I'm influenced by the "tier zero point three investors" mention. <sigh> Classic authority bias.
<pause length="short"/>
### The Verdict
<pause length="medium"/>
My recommendation? <emphasis>Observe only.</emphasis>
Take the Monday call. Maximum three hours per week. No builder commitment until Salience launches.
"I'm launching Salience in February. Until then, I can offer maximum three hours per week for observation. If that doesn't work, let's reconnect in March."
<chuckle> Sometimes the best decision is no decision. Yet.
---
## Usage Notes
1. **Customize placeholders**: Replace {{VARIABLE}} with decision-specific content
2. **Match emotional beats**: Place `<sigh>` at genuine concern points, `<chuckle>` for self-awareness
3. **Use pauses strategically**: Before key revelations, after heavy information
4. **Keep it conversational**: Write for the ear, not the eye
5. **Duration target**: 2-3 minutes spoken (roughly 350-500 words)
```
### references/bias-encyclopedia.md
```markdown
# Bias Encyclopedia
A comprehensive reference for cognitive biases that affect decision-making.
---
## Core Decision Biases
### FOMO (Fear of Missing Out)
**Definition**: Anxiety that others are having rewarding experiences you're absent from.
**In Decisions**: Creates urgency where none exists. Makes opportunities seem more unique than they are.
**Counter-questions**:
- What evidence suggests this is truly one-of-a-kind?
- Will similar opportunities exist in the future?
- What's the actual cost of waiting?
**Signs you have it**:
- Feeling rushed to decide
- Imagining others succeeding without you
- Focusing on what you'll miss, not what you'll gain
---
### Sunk Cost Fallacy
**Definition**: Continuing a behavior due to previously invested resources (time, money, effort).
**In Decisions**: Makes you factor past investment into future choices, even when it's irrelevant.
**Counter-questions**:
- If I hadn't invested anything yet, would I start now?
- Is my past investment recoverable by continuing?
- Am I deciding based on future value or past cost?
**Signs you have it**:
- "I've already put in so much..."
- Difficulty abandoning projects you've invested in
- Feeling guilty about "wasted" past effort
---
### Authority Bias
**Definition**: Attributing greater accuracy to opinions of authority figures.
**In Decisions**: Deferring to credentials, status, or famous investors without independent evaluation.
**Counter-questions**:
- Would I trust this advice from someone unknown?
- Does their authority apply to this specific domain?
- What's their actual track record in this area?
**Signs you have it**:
- Mentioning credentials as justification
- Feeling reassured by who's involved, not what's being done
- Not questioning expert opinions
---
### Social Proof
**Definition**: Assuming actions are correct because others are doing them.
**In Decisions**: Following the crowd without evaluating fit for your specific situation.
**Counter-questions**:
- Do these "others" have the same context as me?
- What's the base rate of success for people who did this?
- Would I do this if no one else was?
**Signs you have it**:
- "Everyone is doing it..."
- Drawing confidence from popularity
- Not knowing why it works, just that others say it does
---
### Commitment and Consistency Bias
**Definition**: Desire to appear consistent with what you've already done or said.
**In Decisions**: Feeling obligated by past statements or actions to continue on a path.
**Counter-questions**:
- Has new information emerged since my commitment?
- What would a stranger advise given current facts?
- Is consistency more important than correctness?
**Signs you have it**:
- "But I already said I would..."
- Discomfort with changing your mind
- Feeling like changing course is "breaking a promise"
---
### Optimism Bias
**Definition**: Believing you're less likely to experience negative events than others.
**In Decisions**: Assuming problems will resolve, risks won't materialize, or you're somehow exempt.
**Counter-questions**:
- What's the base rate of this going wrong?
- Why would I be luckier than average?
- What if the problems don't just "work out"?
**Signs you have it**:
- "It'll probably be fine..."
- Dismissing warning signs
- Expecting best-case scenarios without evidence
---
### Recency Bias
**Definition**: Giving more weight to recent events than older ones.
**In Decisions**: Overweighting the last meeting, latest data point, or most recent experience.
**Counter-questions**:
- Does my opinion change based on the order I received information?
- What does the full timeline show?
- Is the recent event representative or anomalous?
**Signs you have it**:
- Strong reaction to latest news
- Forgetting earlier patterns
- "But just last week..."
---
### Confirmation Bias
**Definition**: Seeking information that confirms existing beliefs; avoiding contradicting evidence.
**In Decisions**: Cherry-picking data that supports what you already want to do.
**Counter-questions**:
- What information would make me change my mind?
- Have I actively sought disconfirming evidence?
- Am I interpreting neutral data as supportive?
**Signs you have it**:
- Only reading positive reviews
- Dismissing critics as "not understanding"
- Feeling annoyed by contrary information
---
### Shiny Object Syndrome
**Definition**: Being attracted to new ideas, tools, or opportunities over current commitments.
**In Decisions**: Novelty masquerading as value. Abandoning proven paths for unproven new ones.
**Counter-questions**:
- Is this genuinely better, or just newer?
- Would I pursue this if it had been available all along?
- Am I running toward something or away from something?
**Signs you have it**:
- Excitement about starting, less about finishing
- History of pivoting to "the next thing"
- Current projects feel boring in comparison
---
### Loss Aversion
**Definition**: Preferring avoiding losses over acquiring equivalent gains.
**In Decisions**: Overweighting what you might lose; underweighting what you might gain.
**Counter-questions**:
- Am I equally weighing gains and losses?
- What's the actual probability of loss?
- What's the opportunity cost of avoiding loss?
**Signs you have it**:
- Focus on downside scenarios
- Feeling protective of current position
- "I can't afford to lose..."
---
## Secondary Biases
### Anchoring
**Definition**: Relying heavily on the first piece of information encountered.
**In Decisions**: First number or offer unduly influences subsequent judgments.
**Counter**: Generate your own estimate before seeing any anchors.
---
### Availability Heuristic
**Definition**: Judging likelihood by how easily examples come to mind.
**In Decisions**: Overestimating risks/opportunities that are memorable or recent.
**Counter**: Look up actual statistics; don't rely on memory.
---
### Bandwagon Effect
**Definition**: Probability of adoption increases with prevalence.
**In Decisions**: Following trends without independent evaluation.
**Counter**: Ask "Would I do this if no one else was?"
---
### Dunning-Kruger Effect
**Definition**: Overestimating competence in areas of ignorance.
**In Decisions**: Underestimating difficulty or risk due to inexperience.
**Counter**: Seek opinions from genuine experts in the domain.
---
### Endowment Effect
**Definition**: Overvaluing things you already possess.
**In Decisions**: Overweighting current situation; undervaluing alternatives.
**Counter**: Imagine you're advising a stranger starting fresh.
---
### Halo Effect
**Definition**: Overall impression influences evaluation of specific traits.
**In Decisions**: One positive attribute colors entire assessment.
**Counter**: Evaluate each dimension independently.
---
### Hindsight Bias
**Definition**: After learning outcome, believing you "knew it all along."
**In Decisions**: Overconfidence in predicting future based on explained past.
**Counter**: Document predictions before outcomes are known.
---
### Planning Fallacy
**Definition**: Underestimating time, costs, and risks of future actions.
**In Decisions**: Overly optimistic timelines and resource estimates.
**Counter**: Use reference class forecasting; multiply estimates by 1.5-2x.
---
### Status Quo Bias
**Definition**: Preference for the current state of affairs.
**In Decisions**: Inaction feels safer even when action is better.
**Counter**: Evaluate "do nothing" as actively as "do something."
---
### Survivorship Bias
**Definition**: Focusing on winners; ignoring failures.
**In Decisions**: Learning only from success stories; underestimating failure rates.
**Counter**: Actively seek information about failures.
---
## Using This Encyclopedia
1. **Before deciding**: Scan list for biases you might be experiencing
2. **When uncertain**: Check counter-questions for your suspected biases
3. **After deciding**: Review for biases that might have influenced you
4. **In groups**: Use as discussion prompt to surface diverse perspectives
---
## Quick Reference Card
| Bias | One-Line Description | Quick Counter |
|------|---------------------|---------------|
| FOMO | Fear others are succeeding without you | Will similar opportunities exist later? |
| Sunk Cost | Continuing because of past investment | Would I start this today from scratch? |
| Authority | Trusting credentials over evidence | Does their expertise apply here? |
| Social Proof | Following the crowd | Would I do this alone? |
| Commitment | Sticking to past statements | Has new info emerged? |
| Optimism | Assuming problems will resolve | What's the base rate of failure? |
| Recency | Overweighting recent events | What does the full history show? |
| Confirmation | Seeking validating info | What would change my mind? |
| Shiny Object | Attracted to novelty | Is this better or just newer? |
| Loss Aversion | Overweighting potential losses | Am I equally weighing gains? |
```
### references/framework-deep-dives.md
```markdown
# Decision Frameworks: Deep Dives
Extended explanations and applications for each framework in the decision toolkit.
---
## First Principles Thinking
### Origin
Aristotle defined first principles as "the first basis from which a thing is known." Elon Musk popularized its modern application: breaking problems down to fundamental truths and reasoning up from there.
### The Five Questions
1. **What problem does this solve?**
- Not "what does it do" but "what pain does it eliminate"
- If you can't articulate the problem, the solution may be searching for one
2. **Can I solve it myself?**
- With current skills, tools, or reasonable investment
- Not "can someone solve it" but "can I"
3. **Is this the best solution?**
- Compare to alternatives, including doing nothing
- "Best" includes fit for your context, not just theoretical optimality
4. **What assumptions am I making?**
- About the problem, the solution, the context
- Assumptions are where first principles analysis adds most value
5. **If starting fresh today, would I choose this?**
- The "clean slate" test
- Removes sunk cost and path dependency
### Application Example
*Decision: Join a startup accelerator*
1. **Problem**: Need funding, network, and credibility to grow
2. **Solve myself?**: Can network independently (slower). Can't easily replicate funding access
3. **Best solution?**: Other accelerators? Angel investors? Bootstrapping?
4. **Assumptions**: Accelerator will actually provide value. Equity cost is worth it. My startup fits their focus.
5. **Fresh start?**: If I hadn't applied yet, would I? Yes — for network. Maybe — for funding.
### When to Use
- Evaluating opportunities with significant commitment
- When feeling pressured by external narratives
- When the "obvious" choice feels uncomfortable
---
## Opportunity Cost Calculator
### The Framework
```
Direct Cost = Hours × Rate
True Cost = Direct Cost + Best Alternative Value + Relationship/Growth Costs
```
### Components
**Direct Cost**
- Hours/week × weeks × hourly rate
- Use your actual billing rate, or time value equivalent
**Best Alternative Value**
- What would those hours produce if used differently?
- Not all alternatives — just the best one you'd actually pursue
**Relationship/Growth Costs**
- What connections might suffer from reduced attention?
- What skills won't develop because you're focused elsewhere?
### Application Example
*Decision: Take on a 10-hour/week consulting gig for 3 months*
| Component | Calculation | Value |
|-----------|-------------|-------|
| Direct time | 10h × 12 weeks | 120 hours |
| At rate | 120 × $200 | $24,000 |
| Best alternative | Could build feature worth ~$50K revenue | ~$50,000 |
| Relationship cost | Less time for key partnership | Hard to quantify |
| True opportunity cost | | $50,000+ |
**Insight**: The $24K consulting gig actually costs ~$50K in forgone product development.
### Common Mistakes
1. **Ignoring alternatives**: Focusing only on time, not what that time could create
2. **Undervaluing rest**: Recovery time has value; burnout has cost
3. **Ignoring compounding**: Small weekly investments compound; opportunity cost does too
4. **Only counting money**: Relationships, learning, and energy have value
---
## Scenario Matrix
### Structure
| Scenario | Probability | Outcome | Impact | Expected Value |
|----------|-------------|---------|--------|----------------|
| Worst | X% | Description | -$Y or equivalent | Prob × Impact |
| Bad | X% | | | |
| Neutral | X% | | | |
| Good | X% | | | |
| Best | X% | | | |
| **Total** | 100% | | | Sum |
### Probability Calibration
Most people are poorly calibrated. Use these anchors:
| Probability | Roughly means |
|-------------|---------------|
| 5% | "Unlikely but possible" |
| 20% | "Could happen" |
| 50% | "Coin flip" |
| 80% | "Probably" |
| 95% | "Almost certain" |
**Technique**: If you can't assign a probability, estimate "what odds would I accept if betting on this?"
### Application Example
*Decision: Launch product in January vs April*
| Scenario | Prob | January Launch | April Launch |
|----------|------|----------------|--------------|
| Market shifts | 20% | -$50K (too early) | -$20K (adapted) |
| Competitor launches | 15% | +$100K (first) | -$30K (second) |
| Product ready | 30% | +$200K | +$200K |
| Product buggy | 35% | -$80K (reputation) | +$180K (polished) |
**January EV**: (0.20×-50K) + (0.15×100K) + (0.30×200K) + (0.35×-80K) = +$27K
**April EV**: (0.20×-20K) + (0.15×-30K) + (0.30×200K) + (0.35×180K) = +$114.5K
**Insight**: April launch has higher expected value despite missing first-mover scenario.
---
## Pre-Mortem Analysis
### Origin
Gary Klein developed the pre-mortem in 1989. Unlike post-mortems (analyzing what went wrong after failure), pre-mortems imagine failure *before* it happens.
### The Process
1. **Assume failure**: "It's [future date]. This decision completely failed."
2. **Generate causes**: Brainstorm every possible reason for failure
3. **Categorize**: Which causes are within/outside your control?
4. **Identify signals**: What warning signs would precede each cause?
5. **Create triggers**: What will you do if you see those signals?
### Application Example
*Decision: Hire a new senior engineer*
**Imagine**: It's 6 months later. This hire was a disaster.
**Possible causes**:
1. Culture mismatch — brilliant but toxic to team
2. Skill mismatch — impressive resume, wrong tech stack
3. Motivation mismatch — wanted different type of work
4. Timing — we couldn't provide promised projects
5. Onboarding failure — we didn't set them up for success
6. External — they got a better offer and left
**Within control**: 1, 2, 3, 5 (interview better, onboard better)
**Outside control**: 4, 6 (market conditions)
**Warning signals**:
- Team complaints in first 2 weeks (cause 1)
- Struggles with core tasks (cause 2)
- Asks about different projects repeatedly (cause 3)
**Triggers**:
- Weekly 1:1s for first month focusing on fit
- 30/60/90 day technical assessments
- Explicit "are you getting what you expected" conversations
---
## 10-10-10 Framework
### Origin
Suzy Welch developed this framework to overcome short-term emotional reactions in decision-making.
### The Three Windows
**10 Minutes**: How will I feel immediately after deciding?
- Captures emotional reaction
- Often dominated by fear, excitement, or relief
**10 Months**: How will I feel after living with this decision?
- Captures medium-term consequences
- Initial emotions usually faded
- Actual outcomes starting to materialize
**10 Years**: How will I feel looking back on this decision?
- Captures long-term significance
- Most decisions barely remembered
- Regret patterns become clear
### Application Example
*Decision: Accept job offer at 20% pay cut for better work-life balance*
| Window | Likely Feeling | What it tells us |
|--------|----------------|------------------|
| 10 min | Anxious about money | Normal loss aversion |
| 10 months | Grateful for evenings | Lifestyle has changed |
| 10 years | Barely remember the salary | Money was fungible; time wasn't |
**Insight**: The 10-year view reveals this is primarily a lifestyle decision, not a financial one.
### When to Use
- Emotional decisions (relationship changes, big purchases)
- When short-term pain might mask long-term gain
- When caught in analysis paralysis
---
## Regret Minimization
### Origin
Jeff Bezos used this framework to decide whether to leave his finance job to start Amazon.
### The Mental Exercise
1. Imagine yourself at 80 years old
2. Looking back at your life
3. Ask: "Will I regret doing this?" and "Will I regret NOT doing this?"
### The Asymmetry of Regret
Research shows people regret things they *didn't* do more than things they did:
- Actions: Initial regret fades as we rationalize, learn, or adapt
- Inactions: Regret compounds as we wonder "what if"
### Application Example
*Decision: Leave stable corporate job to start a company*
**At 80, will I regret starting the company?**
- If it fails: "I tried. I learned. I'll never wonder."
- If it succeeds: "Life-defining achievement."
**At 80, will I regret NOT starting?**
- "I always wondered what could have been."
- "I played it safe and got the safe outcome."
**Insight**: For this type of decision, the regret of inaction typically exceeds the regret of failed action.
### Limitations
- Doesn't apply to genuinely irreversible or catastrophic decisions
- Can romanticize risk-taking; consider actual stakes
- Should complement, not replace, rational analysis
---
## Weighted Decision Matrix
### Structure
| Criterion | Weight (1-10) | Option A | Option B | Option C |
|-----------|---------------|----------|----------|----------|
| Factor 1 | 8 | Score 1-10 | Score 1-10 | Score 1-10 |
| Factor 2 | 6 | | | |
| Factor 3 | 9 | | | |
| **Weighted Total** | | Σ(weight×score) | | |
### Process
1. **List criteria**: All factors that matter for this decision
2. **Weight criteria**: How important is each? (1=low, 10=critical)
3. **Score options**: How well does each option perform? (1=poor, 10=excellent)
4. **Calculate**: Multiply weights × scores, sum totals
5. **Sanity check**: Does the winner feel right? If not, examine why.
### Application Example
*Decision: Choose between three job offers*
| Criterion | Weight | Company A | Company B | Company C |
|-----------|--------|-----------|-----------|-----------|
| Compensation | 8 | 9 | 6 | 8 |
| Growth opportunity | 9 | 5 | 9 | 7 |
| Work-life balance | 7 | 4 | 7 | 8 |
| Team quality | 8 | 8 | 7 | 6 |
| Mission alignment | 6 | 3 | 8 | 5 |
| **Weighted Total** | | 225 | 281 | 262 |
**Winner**: Company B (despite lower compensation)
### Caveats
- Weights reveal your values — examine them
- Gut disagreement with result is data (what did you miss?)
- Don't over-engineer; 5-7 criteria usually sufficient
---
## Integration: When to Use What
| Framework | Best For | Key Question |
|-----------|----------|--------------|
| First Principles | Evaluating opportunities | Can I solve this myself? |
| Opportunity Cost | Resource allocation | What am I giving up? |
| Scenario Matrix | Risk assessment | What could happen? |
| Pre-Mortem | Risk mitigation | How could this fail? |
| 10-10-10 | Emotional decisions | How will I feel later? |
| Regret Minimization | Life decisions | What will 80-year-old me think? |
| Weighted Matrix | Comparing options | Which scores highest? |
### Combining Frameworks
For major decisions, use multiple frameworks:
1. **First Principles**: Is this worth considering at all?
2. **Opportunity Cost**: Can I afford it?
3. **Scenario Matrix**: What are the likely outcomes?
4. **Pre-Mortem**: How do I mitigate risks?
5. **10-10-10 / Regret**: Does it align with my values?
6. **Final check**: Does the conclusion feel right?
```