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
situationfrom 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
situationfrom Q1 answer. Store Q2 astension_type, Q3 asdesired_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.