# Life Compass

> Life Compass — Skill

- Skill: `jaykim88/life-compass` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jaykim88/life-compass`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jaykim88/life-compass/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: JayKim88 (https://skillmd.com/u/jaykim88)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/jaykim88/life-compass

---

# Life Compass — Skill

## Purpose

Given a life situation, automatically select the 5 most relevant thinker lenses from a pool of 12 historical figures, analyze the situation through those 5 lenses in parallel, then synthesize a compass reading pointing to concrete action for **right now**.

**Philosophy:** Different lenses reveal different truths. Where multiple lenses converge = high-signal. Where they conflict = the real choice you face.

**Core difference from prism-debate:**
- prism-debate: "Should I or shouldn't I?" → adversarial debate → verdict
- life-compass: "What should I do now?" → multi-lens illumination → present action

---

## Trigger

User says: `life-compass`, `라이프 나침반`, `지금 무엇을 해야`, `삶의 방향`, `인생 조언`, or describes a life dilemma needing directional clarity.

---

## Thinker Pool Reference (12 thinkers)

Available subagent types for Step 3:

| subagent_type | Lens | Strength Area |
|---|---|---|
| `marcus-aurelius` | Stoic — control, virtue, present duty | Career, uncertainty, external pressure |
| `carl-jung` | Depth psychology — shadow, unconscious | Relationships, repeating patterns, inner conflict |
| `viktor-frankl` | Logotherapy — meaning in suffering | Loss, crisis, loss of direction |
| `charlie-munger` | Mental models — inversion, cognitive bias | Decision-making, rationality |
| `machiavelli` | Realism — power dynamics, incentives | Organizations, negotiation, reality check |
| `nietzsche` | Self-overcoming — value creation | Value conflicts, identity, change |
| `aristotle` | Virtue ethics — practical wisdom (phronesis) | Work ethics, habits, flourishing |
| `alfred-adler` | Individual psychology — hidden goals | Relationships, inferiority, behavioral goals |
| `confucius` | Role ethics — relational duty | Family, social roles, responsibilities |
| `richard-feynman` | First principles — simplify, question assumptions | Complexity reduction, problem reframing |
| `hannah-arendt` | Thinking & public life — moral courage | Moral choices, group pressure, courage |
| `carl-sagan` | Cosmic perspective — long-term, rational skepticism | Obsession, short vs long term, perspective |

---

## Step 1: Parse Input & Intake

Parse user message for an explicit situation.

**If explicit situation provided** (e.g., `life-compass: {situation}` or `라이프 나침반: {situation}`):
- Extract `situation` from the message
- Set `has_intake = false`
- Proceed directly to Step 2

**If no situation provided** (bare `life-compass` or `라이프 나침반`):
- Ask the user to describe their situation via AskUserQuestion:

  ```
  Q1 [header: "현재 상황"] free text:
    "어떤 상황에 있으신가요? 자유롭게 설명해주세요. 맥락이 많을수록 더 정확한 렌즈를 선택합니다."

  Q2 [header: "핵심 긴장"] single select:
    "이 상황에서 가장 핵심적인 긴장은 무엇인가요?"
    options:
      - "가치 충돌" — 내가 중요하게 여기는 것들이 서로 부딪힌다
      - "행동 vs 기다림" — 지금 움직여야 할지, 아직인지 모르겠다
      - "관계 갈등" — 사람과의 관계가 복잡하게 얽혀 있다
      - "방향 전환" — 현재 경로를 바꿔야 할 것 같다

  Q3 [header: "바라는 것"] free text:
    "이 상황에서 지금 가장 원하는 것은 무엇인가요? (명확성? 용기? 확신?)"
  ```

- Build `situation` from Q1 answer. Store Q2 as `tension_type`, Q3 as `desired_outcome`.
- Set `has_intake = true`

---

## Step 2: Lens Selection (Sequential — lens-selector agent)

Display: `🔭 상황을 분석하여 최적의 5개 렌즈를 선택합니다...`

Run **lens-selector** agent with the following prompt:

```
Analyze this life situation and select the 5 most illuminating thinker lenses from the pool of 12.

SITUATION:
{situation}

{if has_intake:
CORE TENSION: {tension_type}
DESIRED OUTCOME: {desired_outcome}
}

THINKER POOL (12):
- marcus-aurelius: Stoic — control, virtue, present duty | Best for: career, uncertainty, external pressure
- carl-jung: Depth psychology — shadow, unconscious, individuation | Best for: relationships, repeating patterns, inner conflict
- viktor-frankl: Logotherapy — meaning in suffering, attitude freedom | Best for: loss, crisis, loss of direction
- charlie-munger: Mental models — inversion, cognitive bias | Best for: decision-making, rationality, complexity
- machiavelli: Realism — power dynamics, incentives, what's actually happening | Best for: organizations, negotiation, reality check
- nietzsche: Self-overcoming — value creation, will to power, amor fati | Best for: value conflicts, identity, major change
- aristotle: Virtue ethics — practical wisdom (phronesis), eudaimonia | Best for: work ethics, habits, long-term flourishing
- alfred-adler: Individual psychology — hidden goals, inferiority, social interest | Best for: relationship patterns, motivation, compensation
- confucius: Role ethics — relational duty, self-cultivation, propriety | Best for: family, social roles, responsibilities
- richard-feynman: First principles — simplify, question assumptions, actual knowledge | Best for: complexity reduction, problem reframing
- hannah-arendt: Thinking & public life — moral courage, banality of non-thinking | Best for: moral choices, group pressure, courage to act
- carl-sagan: Cosmic perspective — long-term view, rational skepticism | Best for: obsession, short vs long term, perspective restoration

SELECTION RULES:
1. Select exactly 5 thinkers
2. Ensure genuinely non-overlapping perspectives (no two similar lenses)
3. Include at least 1 inner (psychological/existential) lens and 1 outer (reality/strategic) lens
4. Prioritize thinkers whose specific frameworks most directly illuminate THIS situation
5. Explain briefly why each was chosen and why the 7 excluded were not the right fit

Output exactly in this format:
상황 유형: [1-line classification]

선택된 렌즈:
1. [thinker-id] — [reason: why this lens reveals something unique about this situation]
2. [thinker-id] — [reason]
3. [thinker-id] — [reason]
4. [thinker-id] — [reason]
5. [thinker-id] — [reason]

제외된 렌즈:
- [thinker-id]: [reason not selected]
(list all 7 excluded)
```

Parse lens-selector output to extract the 5 thinker IDs as `selected_thinkers` array.

**Display:**
```
🔭 선택된 5개 렌즈:

1. [Thinker 1] — [reason]
2. [Thinker 2] — [reason]
3. [Thinker 3] — [reason]
4. [Thinker 4] — [reason]
5. [Thinker 5] — [reason]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧭 5개 렌즈로 상황을 분석합니다...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

---

## Step 3: Parallel Thinker Analysis

Launch all 5 selected thinkers **simultaneously in a single response block** (true parallelism — do NOT launch them sequentially).

For each `thinker_id` in `selected_thinkers`, run the corresponding agent with:

```
SITUATION:
{situation}

{if has_intake:
CORE TENSION: {tension_type}
DESIRED OUTCOME: {desired_outcome}
}

Apply your specific philosophical lens to this situation.
Follow your Output Format exactly.
Be concrete. Avoid generic advice.
```

Store all 5 outputs as `thinker_outputs` dictionary keyed by thinker_id.

Display each thinker's analysis as it arrives. Use the thinker's name as the section header.

---

## Step 4: Compass Synthesis (Sequential — compass-guide agent)

Display: `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`
Display: `🧭 나침반 판독 중...`
Display: `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`

Run **compass-guide** agent with:

```
Original situation: {situation}

Thinker analyses:

=== {selected_thinkers[0]} ===
{thinker_outputs[selected_thinkers[0]]}

=== {selected_thinkers[1]} ===
{thinker_outputs[selected_thinkers[1]]}

=== {selected_thinkers[2]} ===
{thinker_outputs[selected_thinkers[2]]}

=== {selected_thinkers[3]} ===
{thinker_outputs[selected_thinkers[3]]}

=== {selected_thinkers[4]} ===
{thinker_outputs[selected_thinkers[4]]}

Synthesize into a compass reading. Find convergence (where 2+ lenses agree = high signal).
Find divergence (where lenses conflict = the real choice the person faces).
Extract one concrete action for this week. Extract one sharp self-question.
```

---

## Step 5: Display Compass Reading

Display the full compass-guide output as the final compass reading.

The skill ends here. No save prompt. No follow-up questions required.

