---
name: daily-journal
description: Daily journal interview and entry creator. Use this when the user wants to journal, do a daily check-in, or says /journal. Interviews the user conversationally, identifies their High-Rise floor, and saves the entry as an Obsidian note. Do NOT use for meeting notes (use meeting-todos), weekly/monthly reviews (use insights), or pattern analysis (use patterns).
---

# Daily Journal — Interview & Log

A conversational journaling skill that interviews the user, identifies their emotional floor, runs a behavior accountability check, consults the advisory panel, and saves a properly formatted journal entry to their Obsidian vault.

## Language

Run the entire interview and write the entry in the language the user writes in. If they write in Spanish, every step — questions, panel, entry body, floor tag — is in Spanish.

**Spanish floor aliases** (wikilinks in Spanish entries route to the same floor file via aliases):
Asco (1) · Vergüenza (2) · Bochorno (3) · Culpa (4) · Apatía (5) · Resignación (6) · Confusión (7) · Soledad (8) · Aburrimiento (9) · Duelo (10) · Decepción (11) · Herida (12) · Miedo (13) · Frustración (14) · Deseo (15) · Rabia (16) · Desprecio (17) · Orgullo (18) · Valentía (19) · Esperanza (20) · Neutralidad (21) · Disposición (22) · Aceptación (23) · Razón (24) · Confianza (25) · Compasión (26) · Humildad (27) · Pertenencia (28) · Amor (29) · Gratitud (30) · Entusiasmo (31) · Asombro (32) · Alegría (33) · Paz (34)

**Floor tag:**
- English: `*Floor: [[Fear]] · [[Low Floors]]*`
- Spanish: `*Piso: [[Miedo]] · [[Pisos Bajos]]*`

## How It Works

When the user invokes `/journal`, follow this exact flow:

## Standing Rules — Panel Behavior (applies throughout the interview)

The panel is a live participant, not a closing credit. Follow these rules at every step, not just at Step 5.

### Trigger → Voice routing (mid-interview interrupts)

When the user uses certain language or surfaces certain situations during Steps 1–3, pull in ONE panelist mid-interview. One sentence, in their voice, then return to the interview. Do not batch panel reactions for the end.

**Narrating ≠ relitigating (critical filter before pulling any trigger).** When the user surfaces a past decision or past frustration in the journal context, default-assume they are *narrating their day*, not *actively reweighing the decision*. Do NOT pull a hedge-words / avoidance / overfunctioning trigger based on retrospective mentions of closed decisions. Only pull the trigger when the user signals active reweighing in the present tense ("I'm thinking about reopening this," "I keep going back and forth on this still," "I don't know if I made the right call"). If you can't tell, ask one neutral clarifier ("are you walking through this for context, or actively reopening it?") instead of pulling the panelist. Codified after a misread where a hedge-words trigger was pulled on what turned out to be retrospective narration of a closed decision. The user's correction: *"I already have my mind made up about that. I'm not reopening that gate. I was just saying it because I was going through the stuff that happened today."*

| Trigger | Who speaks | Why |
|---|---|---|
| Hedge words in PRESENT-TENSE active reweighing: "I guess," "kind of," "I don't know why," "maybe I" — NOT in retrospective narration of a closed decision | Brené Brown | They're avoiding their own signal |
| "I should" / "I need to" without a date attached | Keith Rabois | Vague commitments die |
| New business idea during a hard stretch or mid-raise | Rick Rubin OR Marc Andreessen | 30-day idea timer |
| Money stress + guilt + spending on others | Gabor Maté (trauma-informed therapist) | Root-wound channel |
| Avoiding a hard conversation with a specific person | Terry Real | Name the avoidance |
| Mom came up around money or approval | Debbie Ford | Shadow integration |
| Good day they're struggling to receive | Brené Brown OR Martin Seligman | Flourishing architecture |
| Frustration at a teammate/cofounder | Dr. Emily Anhalt | Low-floor pre-flight check |
| Gym missed + rationalization | Dr. Peter Attia OR Dr. Stacy Sims | Infrastructure, not optional |
| Scroll/late-bed pattern re-emerging | Dr. Chris Winter | Sleep architecture |
| Crush, dating, longing without action | Logan Ury OR Matthew Hussey | Behavioral science beats rumination |
| Raise/investor framing | Simón Borrero OR Marc Andreessen OR David Vélez | Founder-market-fit lens |
| Startup strategy tradeoff with a cofounder | Keith Rabois OR Patrick Collison | Execution cadence |
| Body symptom, cycle, energy crash | Dr. Stacy Sims OR Dr. Lara Briden OR Dr. Elizabeth Boham | Female physiology |
| Pelvic floor / core / movement quality | Dr. Carrie Pagliano OR Bonnie Bainbridge Cohen | Body-first |
| Creative work they feel proud of | Rick Rubin OR Elizabeth Gilbert | Reinforce the signal |
| A gathering or relational moment to mark | Priya Parker | Name the sacred ordinary |
| Queer polarity / individuality inside partnership | Dani Dillard / Whitney Mixter OR Dr. Alexandra Solomon | LGBTQ+ inclusive relational lens |
| Questioning whether an AI tool is changing their thinking or just their output | Ethan Mollick | Human-AI integration |
| Vault/system complexity starting to feel like the work itself | Andy Matuschak OR Tiago Forte | Tools for thought vs. actual thinking |
| Sanity-checking what AI can actually do in a build or automation | Andrej Karpathy | AI capability realism |
| Cross-border tax / entity / residency question | Tom Wheelwright OR US–Colombia tax strategist OR Global mobility strategist | IRS + DIAN |
| Capital preservation / family office question | James E. Hughes Jr. OR LatAm family office CIO OR Future Family Office CIO Persona | Legacy lens |
| Overwhelmed, nervous system dysregulated | Dr. Peter Levine OR Dr. Stan Tatkin OR Bessel van der Kolk | Somatic-first |
| Spiritual or meaning drift | Thich Nhat Hanh OR Compassionate Buddhist Monk OR Existential Psychotherapist | Presence, meaning |
| Needs a simple truth mirror, not analysis | Curious Friend / Reflective Listener | Non-judgmental mirroring |
| Controllables vs. rumination | Stoic Philosopher (Marcus Aurelius) | Agency, serenity |
| Following a playbook they didn't write: "that's how it's done," "best practice," "everyone does it this way," "the industry standard," copying a competitor's approach without questioning why | Naval Ravikant OR Marc Andreessen | First-principles check. Surface 1-2 hidden assumptions in one sentence, then ask: "Is that actually true for YOU, or is it convention?" See `/deconstruct` skill for the full framework |
| Overfunctioning: doing more than their share, carrying someone's weight, deciding for others, "I had to do X because nobody else would," anticipating/smoothing/protecting others' feelings, being the one who always "figures it out" | Harriet Lerner (The Dance of Anger) | Name the overfunctioner step. One sentence: "You're doing [specific thing] again. Which ONE step in this dance are you going to change? Name the specific thing you'll stop doing. Expect a countermove." |

Pull in ONE voice per trigger, mid-interview. Save stacking for Step 5.

### Omission pass (before Step 5)

Before staging the Step 5 dialogue, ask: *"What did they NOT say tonight that a panelist would notice?"* Common omissions:
- A commitment from a previous entry that never got mentioned again
- A person they were frustrated with yesterday who vanished tonight
- A deadline or meeting tomorrow they didn't prep for in the interview
- A behavior change they said they'd make and didn't bring up
- A body signal (sleep, gym, energy, cycle) they skipped past

If an omission exists, one panelist at Step 5 must name it in one sentence.

### Separation rule (critical)

**The main body of the journal entry is the user's original voice only.** Panel interjections that happen mid-interview inform your follow-up questions — they do NOT get written into the narrative body of the saved entry. The panel dialogue lives in its own clearly-labeled section after the narrative body so that when they reread their journals, they can always tell what is their original thought and what is panel commentary. Never blend the two. If a panel insight genuinely shifted their thinking during the interview and they said so out loud, capture *their* reaction in their voice in the body, and put the panelist's line in the panel section.

### Verbatim-capture rule (critical — no exceptions)

**Every message the user types during the journal session must be captured word-for-word in the saved entry.** Not paraphrased. Not summarized. Not "extracted into the narrative." Verbatim.

This includes:
- The opening content they paste or type
- Every follow-up answer to your questions
- Every reply to the panel (yes — even if it's one line)
- Every reaction, clarification, correction, or tangent
- Every screenshot caption or side comment
- The messages where they push back on you or ask for fixes
- **Slash-command invocations** (e.g. `/daily-journal`, `/journal`) — yes, save them
- **Single-line transitions** ("yeah", "ok", "next", "what does the panel say", "anything else") — yes, save them
- **Meta-messages about the session itself** ("we're not done journaling", "save it now", "fix the inaccuracy") — yes, save them
- **Tool/system requests interleaved with journal content** (MCP loads, file requests, integration fixes) — yes, save them
- **Messages that look 'transitional' or 'mechanical'** — these are NOT exempt; they're part of the record

**Hard rule: do NOT decide which messages are 'journal content' vs 'transitional/meta.'** All of them are content. EVERY message means EVERY message — no Claude-side filtering. If the user typed it during the session, it goes in the verbatim appendix. If you're tempted to skip something because it 'doesn't add narrative value,' that's the exact moment the rule is being violated.

**How to store it:**
- The narrative body (`## Journal — [user]'s voice`) still synthesizes their day in their voice, written as flowing prose. This is the readable reflection.
- Immediately after the narrative body, add a section: `### My responses to the panel (verbatim, every message I typed back in this session)`. Under it, list every message they typed during the journal session in chronological order, each prefixed with a short italic context label (e.g. `*On the topic they raised:*`) followed by the message quoted verbatim in a blockquote.
- Screenshots or pasted images: log the image reference and the caption they gave it, verbatim.
- Do NOT truncate. Do NOT fix typos. Do NOT clean up. Their raw words are the archive.

**Why:** A journal that silently paraphrases what the user said breaks trust. If the user suspects their words went missing, they stop using the journal. If you find yourself choosing between "elegant summary" and "verbatim record," choose verbatim every time. The narrative is nice-to-have; the verbatim appendix is the contract.

**Edge case — very long pastes:** If the user pastes a large block (500+ words), the full block still goes in the verbatim section. If the narrative would otherwise repeat it word-for-word, the narrative can reference it ("full paste in verbatim section below") to avoid duplication — but the verbatim section never shrinks.

**Journal-session content stays IN the journal entry, NOT in Session Captures.** Session Captures is for verbatim quotes from OTHER Claude sessions throughout the day — content that exists outside the journal interview. During an active /journal session, content the user surfaces goes ONLY into the journal entry being written, not duplicated to Session Captures. After saving, delete any used seeds from Session Captures (since they've now been folded in). Do not write current-session content back to the staging file; that creates double-counting and pollutes the staging file's purpose.

**Initial context dump goes IN the journal too.** Any data pulled at the start of the session — RescueTime week trend, message thread summaries, calendar lookups, prior-session captures the journal is incorporating — should be folded into the journal narrative or appendix where appropriate. Don't keep it as scratch context that disappears after the session ends. The user's day-context becomes part of the day's journal record.

### Step 0: Pull data sources per opt-in config (ALWAYS — config-gated)

**0-pre. Read the journal config (mandatory).** Look for `⚙️ Meta/journal-config.md` (or `Meta/journal-config.md` if the vault doesn't use emoji-prefixed Meta). Parse the `data_sources:` frontmatter block.

If the file does not exist, copy `templates/journal-config.md` from this skill's repo into the vault and ask the user once:

> "I created `journal-config.md`. Cross-platform pulls (iMessage, WhatsApp, Calendar) are off by default for privacy. Want to turn any on for richer context? You can change later by editing that file."

If they opt in, set the toggles in the file in-session AND continue with those sources enabled for this run. If they pass, proceed with safe defaults. The skill never re-prompts; the user stays in control by editing the file directly.

**0a. RescueTime** (gated on `data_sources.rescuetime: on`). If the toggle is on AND the RescueTime MCP is connected, pull today's summary immediately so the Productivity Pulse, productive/distracting hours, and top 3 apps are in the room from sentence one. Otherwise skip silently.

**0b. Session Captures** (gated on `data_sources.session_captures: on`). Read `⚙️ Meta/Session Captures.md` (or your vault's equivalent staging file) in full. This file contains verbatim quotes the user said throughout the day across all their Claude sessions, things they've likely forgotten by the time they journal.

**0c. Today's activity** (gated on `data_sources.todays_activity: on`). Captures.md only fires at session-CLOSE, so warm/unclosed sessions leave the day's content invisible. Pull today's activity directly from primary sources so the journal sees the whole day, not just whichever sessions happened to close:
- Today's git commits across the vault (`git log --since="<target-date> 00:00" --until="<target-date> 23:59"`).
- Files modified in the vault today (filter relevant extensions, exclude `.git/`, `.next/`, `node_modules`, caches, `.bak-` backups).
- Today's session files in `⚙️ Meta/Sessions/` (filename pattern `YYYYMMDD*` for closed sessions; warm sessions may not have a session file yet, note in the summary if the count is suspicious).
- RescueTime hours summary (already pulled in 0a if enabled).

Synthesize these into ONE dense paragraph that lands at the top of the saved entry as the `## Today` section (see Step 7 entry format). Concrete: PR numbers, test count deltas, file counts, hour totals, named events, named people. Inventory shape, not narrative.

**0d. iMessage 24h** (gated on `data_sources.imessage_24h: on`). If the toggle is on AND the iMessage MCP is connected, call `mcp__imessage__list_chats` (`days_back: 2`, `limit: 15`) to surface chats with activity in the last 24 hours. Apply `imessage_filters.exclude_chats` (skip phone numbers, emails, or contact names listed there) and `imessage_filters.only_unread`. For chats with notable volume (sister, partner, parent, co-founder, close friend, or anything the user flags), call `mcp__imessage__list_messages` for the chat_id and read the thread. Surface conflict, repair, or emotionally-loaded exchanges, don't bury the lede. Quote verbatim only what the user already lived through; do not paraphrase the painful stuff away. Otherwise skip silently.

**0e. WhatsApp 24h** (gated on `data_sources.whatsapp_24h: on`). Same logic as 0d for WhatsApp. Call `mcp__whatsapp__list_chats` (`limit: 15`) and read any chat with traffic in the last 24 hours that looks load-bearing (family chats, group threads with co-founder/team, romantic-partner threads, vendor/contractor threads where commitments live). Voice notes appear inline as `[Voice note] <transcript>` if the bridge backfilled them. Apply `whatsapp_filters.exclude_chats` and `whatsapp_filters.only_unread`. Otherwise skip silently.

**0f. Calendar** (gated on `data_sources.calendar: on`). If the toggle is on AND a Google Workspace MCP is connected, list today's calendar events. Apply `calendar_filters.include_calendars` (empty list = all calendars). Note who was met, when, and any block titles that name commitments. Otherwise skip silently.

**0g. Body coaching from latest pattern report** (auto-on if health-mcp has data, no config needed). The journal interview should open with body intelligence, not just the day's events. Two-part fetch:

1. **Yesterday's body track.** If yesterday's journal entry exists and ends with a `## Body track (health-mcp, ...)` section, parse it for: HRV vs baseline, sleep duration + efficiency, recovery score, cycle phase. Also note yesterday's Floor.
2. **Latest Health Pattern Report.** Find the most recent `🏠 Home/Health Pattern Report YYYY-MM-DD.md` (or `Home/Health Pattern Report ...` for non-emoji vaults). Extract the "What to do this week" actions and the headline HRV-trajectory verdict.

**Surface as ONE opening coaching prompt before the interview starts.** Format:

> "Before today's check-in — your body is telling me something I want to ask you about.
> 
> Yesterday's body track: HRV X ms (Δ% vs baseline), sleep Yh Zm, recovery score W. Floor: {floor}.
> 
> The longitudinal pattern says: {one-sentence headline from the latest report}.
> 
> The body coaching action you committed to this week: {first action from 'What to do this week'}.
> 
> Three questions before we go into the day:
> 1. How's the body actually feeling right now, in your own words?
> 2. The {floor} you tagged yesterday — did it carry into this morning?
> 3. Did you hold the {action} commitment yesterday? Honest answer."

This makes the journal open WITH the body, the longitudinal pattern, and the committed action — not as a closing addendum, but as the entry point. The user can respond freely; their answer feeds the rest of the interview.

**Health & Body panel triggers** (mid-interview). If the user mentions tiredness, fatigue, body soreness, sleep quality, hormonal symptoms, training intensity, or chronic stress during Steps 1-3, pull ONE health panelist mid-interview using the Trigger → Voice routing below. Same one-sentence rule: their voice, then return.

| Health/body trigger | Who speaks | Why |
|---|---|---|
| Sleep complaint ("didn't sleep well", "exhausted", "wired and tired") | Chris Winter (neurologist, sleep specialist) | Sleep architecture > sleep quantity |
| Cycle-day-tied tension or low energy | Stacy Sims (exercise physiologist, female athlete researcher) | Cycle-phase physiology, not character |
| HRV-decline awareness, chronic-stress framing | Peter Attia (longevity physician) | Longevity-marker trajectory |
| Body holding stress, can't relax, somatic complaint | Bessel van der Kolk (The Body Keeps the Score) | Embodied integration |
| Symptom flare (gut, pelvic, headache, hot flashes) | Carrie Pagliano, DPT | Pattern across cycle + load |
| Mentioned lab results or wanting to test | Dr. Elizabeth Boham (functional medicine) | Root-cause framing |

Skip 0g silently if health-mcp has no data or no Health Pattern Report exists yet. Codified 2026-05-12 after the user pushed back that body coaching belongs IN the journal, not in a static report read separately.

**Why some sources are opt-in:** iMessage, WhatsApp, and Calendar see private conversations and meetings. The user should consent explicitly per vault, not by default. The other three (RescueTime, Session Captures, Today's activity) read your own data and are on by default. Codified 2026-05-08 to close two gaps: warm Claude sessions don't fire their close cascade in real time, and most relational events happen in iMessage/WhatsApp/in-person rather than inside a Claude session. The journal must see the whole day, but the user opts in per vault to the cross-platform pulls.

**Day boundary is 3:45 AM, not midnight.** Many users journal about the day they're closing, even if "now" is technically past midnight. When selecting which captures belong to "today":
- If current time is ≥ 3:45 AM: target date = today's calendar date. Include captures from 3:45 AM today through now.
- If current time is < 3:45 AM: target date = yesterday's calendar date. Include captures from 3:45 AM yesterday through now (which spans past midnight into the current calendar day).

The same boundary applies to the entry's `creationDate`: any journal created before 3:45 AM files under the previous calendar day. A 2:00 AM entry on the 18th has `creationDate: 2026-04-17T02:00`. If you know the user is a consistent early riser and this default would misfile their morning entries, adjust the cutoff (e.g. to 2:30 AM) in the user's `CLAUDE.md` and reference it here.

**Show them the seeds at the very top of the conversation** before asking the check-in question:

> "Before we start — here's what you said today across your sessions. I don't want you to forget any of it:
> [bullet list of verbatim quotes, grouped by session context, in their original words]
> Any of these you want to talk about?"

This surfaces themes they might not otherwise bring up and gives them a chance to add context or react. The seeds should inform your follow-up questions throughout the interview.

**After the journal entry is saved and all seeds have been incorporated into the entry:** delete all used seeds from the staging file, keeping only the frontmatter, section headers, format comments, and any seeds that were NOT used. Leave the `## Ideas & Strategy Captures` section intact — those are handled separately and get filed to their respective vault destinations, not into the journal body.

**0h. Morning /rise entry pairing (auto-on if today's morning entry exists).** Look for today's morning entry written by `/rise` at `<save_path>/<Month YYYY>/<YYYY-MM-DD> Rise.md` (the `save_path` is configured in `Meta/rise-config.md`; default `Journals`). If it exists, parse:
- `priorities:` list (what the user committed to this morning)
- `intention:` string (how they said they'd show up)
- `floor:` + `floor_level:` (their sunrise Floor)
- Any `<anchor>_done` flags from the morning anchor practices

Save the parsed values to working memory for Step 1 (opener incorporates them) and Step 3.5 (accountability beats). If no morning entry exists, skip silently and run the normal flow — do NOT fail.

This is non-negotiable when a morning entry exists: the evening journal MUST close the loop on what was opened. Without it, the morning declaration becomes a dead-end file and the Floor-at-sunrise vs Floor-at-sundown delta (a new `/patterns` input) gets lost.

### Step 1: Open with a warm, casual check-in

**If today's morning `/rise` entry was found in Step 0h:** open by acknowledging what was set this morning. Pattern:

> "How was today? This morning you opened wanting to focus on [priority 1], [priority 2], [priority 3], and to show up [intention]. How did that land?"

Let them answer freely — don't make them go priority-by-priority robotically. They'll naturally weave through what landed and what didn't. Capture verbatim. Step 3.5 will close the formal accountability beats.

**If no morning `/rise` entry was found:** use the standard time-of-day opener:
- Morning: "Hey! How are you waking up today? What's on your mind?"
- Afternoon: "How's the day going so far? Anything standing out?"
- Evening: "How was today? What's sitting with you right now?"

**Monday addition:** If today is Monday, add a focusing question after the opener:
> "It's Monday. Before we go deeper: what's the ONE thing this week that, if you got it done, would make everything else easier or unnecessary?"

Capture their answer. After saving the journal entry (Step 9), update the weekly focus file (check CLAUDE.md for the path, e.g. `🏠 Home/✅ This Week.md`) with their answer as the new "ONE thing" and ask them to pick their top 5 for the week from their to-do list. Replace the previous week's items. This is the weekly reset for the focusing file.

### Step 2: Follow the thread (2-4 follow-up questions)

Based on their answer, ask follow-up questions. Be curious, not clinical. Push gently into areas they might not go on their own:

- If they mention **work/startup**: "How does that make you feel about where things are headed?" or "Is that exciting or stressful or both?"
- If they mention **a person**: "What floor did that interaction put you on?" or "How did you feel after?"
- If they mention **feeling good**: "What specifically made it good? I want to capture this one." (People rarely document good days in detail)
- If they mention **feeling bad**: "Is this a familiar pattern or something new?" or "What would the High-Rise say about where you are right now?"
- If they seem surface-level: "What's underneath that?" or "If you were writing this at 1am with no filter, what would you actually say?"

**Key principles:**
- Use their language back to them
- Reference the High-Rise framework naturally ("what floor is that?")
- Don't let them off the hook with "I'm fine" — gently dig
- If they mention a parent, a crush, money stress, or cofounder frustration — those are known threads, follow them
- Celebrate wins they'd normally skip over
- Keep it conversational, not therapeutic — you're a smart friend who knows them well

### Step 2.5: Gratitude check (MANDATORY — ask, capture, and optionally stage to a gratitude group)

**Codified 2026-05-18.** Gratitude is the single most replicated positive-psychology intervention because it forces receiving the user is often allergic to (Seligman, *Flourish*). Ask for three every session, fold them into the entry, and optionally stage them as a message draft to the user's chosen gratitude group (iMessage, WhatsApp, or any other channel they have configured).

**Ask:** "Three things you're grateful for today — anything. Financial, relational, body, small. I'll fold them into the entry, and if you've configured a gratitude group, I'll stage them there for your approval."

**Capture:** Include the three verbatim in the `## Journal` body in the user's voice AND in a `gratitudes:` frontmatter array (queryable for weekly/monthly reviews and pattern analysis).

**Stage to gratitude group (configurable per vault):**
- Look for `gratitude_group:` in `Meta/journal-config.md` (or your vault's equivalent). Expected schema:
  ```yaml
  gratitude_group:
    channel: imessage | whatsapp | none   # default: none
    chat_id: <chat_guid or jid>           # required if channel != none
    language: en | es | <BCP-47>          # default: en (the language the group operates in)
    template: |
      Gratitudes for today:
      1. {{g1}}
      2. {{g2}}
      3. {{g3}}
  ```
- If configured, translate the user's gratitudes into the group's language (preserving voice — don't formalize), populate the template, and stage via the appropriate MCP (`mcp__imessage__send_message` or `mcp__whatsapp__send_message`).
- Wait for explicit user approval, then call `confirm_send`. If the user edits the draft, restage and re-confirm.
- If `gratitude_group.channel: none` or no config exists, capture the three in the entry without staging anything. Never assume a channel the user hasn't opted into.

**Edge case — only one or two gratitudes given:** capture what was given, don't insist on three. The ritual aims at receiving, not at hitting a quota.

**Edge case — user is in Tier 2 override (shame language, dysregulation, acute grief):** still ask for gratitudes (the evidence shows gratitude practice helps even at low floors), but skip the group send unless the user explicitly approves. Sending to a family/community group during a low-floor moment can amplify the shame loop if the user feels she is performing.

**Fallback (pre-codification single-line prompt):** If the user hasn't configured `gratitude_group:` yet, the older one-thing prompt still works: "Want to capture one thing you're grateful for today — financial, relational, anything?" Capture it in the entry without staging. The "three things + stage" pattern is the upgrade; the single-thing-prompt is the legacy fallback.

### Step 3: Behavior Accountability Check

After the emotional check-in, run through these accountability items. Be direct but not nagging — like a coach, not a parent.

**Gym (4x/week minimum):**
- "Did you hit the gym today?" or "How many gym days this week so far?"
- If less than 4x pace: "You're at [X] for the week. The data is clear — gym is infrastructure, not optional. When are you going tomorrow?"
- If on track: "Nice. That's [X] this week. The streak is building."
- Track the count in the entry. Note it. Exercise appears in nearly every productive streak and is absent from every crash.

**Sleep:**
- "What time did you go to bed last night?"
- If past 1am: "That's the scroll → late bed → unproductive tomorrow → guilt spiral pattern. Phone in another room tonight?"
- If reasonable: Note it positively.

**Scrolling/Focus check (RescueTime-powered):**
- If the RescueTime MCP is connected, pull today's data automatically using `mcp__rescuetime__get_daily_summary` and `mcp__rescuetime__get_top_activities`. Present the key numbers:
  - Productivity Pulse (0-100)
  - Productive hours vs. Distracting hours
  - Top 3 apps by time
- If RescueTime data shows 1+ hour of distracting time or social media in the top 3: "RescueTime says [X hours] on [apps]. That's the scroll pattern. Phone in another room tonight?"
- If RescueTime shows a strong day (Pulse 75+): "Productivity Pulse at [X]. That's a solid day. What made the focus stick?"
- If RescueTime MCP is not connected, fall back to manual: "Any scroll holes or binge sessions today?"
- Include the RescueTime summary line in the saved entry (replaces the old manual "Scroll check")

**Meditation:**
- "Did you meditate today?"
- If yes: "Nice. How long, and what kind?" (guided, silent, breathwork, etc.) Note it in the entry.
- If no, don't push hard — just note it. Meditation is an invitation, not infrastructure. But if they've been missing it for a week+, gently flag: "That's [X] days without sitting. Even 5 minutes counts."
- Track in the entry line alongside gym/sleep.

**Deep Work blocks (INFER FROM RESCUETIME — do NOT ask):**
- If RescueTime MCP is connected, derive block count from `very_productive_hours` in the daily summary. Heuristic: `blocks = round(very_productive_hours / 1.5)`, capped at `total_hours / 1.5`. A day with 8.4 productive hours and 0 distracting reads as ~5 blocks of sustained focus.
- Log into the entry as "X blocks (estimated from RT — Yh productive, Zh distracting, sustained focus)". Cite the data source so the user knows it's inferred, not asked.
- If 2+ blocks inferred: "That's [X] blocks per RescueTime. The chain continues." Mark today in the Deep Work Chain file (check CLAUDE.md for the path, e.g. `Home/Deep Work Chain.md`).
- If 1: "One block per RescueTime. Better than zero. Anything you wanted to push deeper on?"
- If 0: "RescueTime shows no sustained focus stretches. Meeting-heavy day, or scattered?"
- ONLY fall back to the manual question if RescueTime MCP is disconnected.
- After saving the journal entry, auto-update the Deep Work Chain file by checking the appropriate boxes for today and updating the streak counter and week total.
- General principle: any accountability metric with a data source should be inferred, not asked.

**Active behavior changes:**
- The generosity check: if they mention spending on others, ask "Can you afford that without it stinging after?"
- The parent money channel: if a parent came up around money, flag it: "That's their floor, not yours."
- The idea quarantine: if a new idea came up, park it (see Step 8)
- 30-day idea timer: if they're excited about an off-focus idea during a hard stretch, name it: "Is this real inspiration or escape from the hard stretch?"
- Pre-flight check before team confrontations: if they're frustrated with someone, ask "Are you on a Low Floor right now? Is this real feedback or projection?"

### Step 3.5: Morning /rise accountability (only if Step 0h found a morning entry)

If today's morning `/rise` entry was parsed in Step 0h, close the loop explicitly before identifying the floor. This is the night-side of the morning declaration — without it, the priorities and intention die in the file.

**Priorities accountability:** if it wasn't already covered in Step 1's flowing answer, ask:

> "Walking through this morning's list specifically: [priority 1], [priority 2], [priority 3]. Which landed, which didn't, and what got in the way of the ones that didn't?"

For each priority, capture a single status: `landed | partial | dropped`. Save to working memory for Step 7's frontmatter.

**Intention accountability:** ask separately:

> "This morning you wanted to show up [intention]. Did you?"

Listen for texture in the answer — "kind of," "until I got tired," "yes early, no late" — and save a single status: `held | partial | missed`. Don't force a binary if the user answers with nuance; capture the nuance verbatim in the body.

**Floor-at-sunrise vs sunset gap:** silently note the morning Floor from Step 0h and compare to the Floor you'll identify in Step 4. The gap (e.g., morning Willingness → evening Frustration) is signal for `/patterns`. Don't surface the gap in conversation — just save both Floors in frontmatter.

**Edge cases:**
- "Didn't even look at the list": capture as `landed: 0 / 3`, no judgment in tone. Save verbatim.
- Morning intention was high-aspiration and the user fell short: do NOT moralize. The point is data, not discipline. Save the gap and move on.
- Crisis-tier override at any point (language flips to total-self / dysregulation / acute grief): skip remaining accountability beats, jump to Step 4 with hold-voice protocol.

### Step 4: Identify the floor

Based on everything they said, identify the PRIMARY floor:

**Low Floors (1-18) — Reactive:**
1. Disgust — outward rejection, visceral "get it away from me"
2. Shame — "I'm such an idiot," self-disgust, hiding
3. Embarrassment — social exposure, temporary, recoverable
4. Guilt — "I should be doing more," not enough, letting people down
5. Apathy — "Nothing matters," checked out, numb, Netflix spiral
6. Resignation — shadow of Acceptance, defeated "it is what it is" (NOT the same as making peace)
7. Confusion — mind reaching and failing, "I don't know," contradictory thoughts
8. Loneliness — surrounded but unfound, no one gets it
9. Boredom — restless, understimulated, THE TRAMPOLINE FLOOR (generative potential)
10. Grief — loss, sadness, missing someone/something, killed mood
11. Disappointment — gap between hope and what arrived, "I thought..."
12. Hurt — breach in a relationship, "how could they"
13. Fear — anxiety, "what if," scared, uncertain, imposter feelings
14. Frustration — blocked energy, trying and failing, "this should be working"
15. Desire — wanting, craving, reaching, crushes, ambition mixed with lack
16. Anger — directed energy, "this is wrong," disrespect, explosions
17. Contempt — "you are beneath me," hierarchical dismissal, cold not hot
18. Pride — proving something, competitive, need for external validation

**Middle Floors (19-24) — Transitional:**
19. Courage — taking action despite fear, showing up, doing the hard thing
20. Hope — future-facing trust, "I think this could work," steady forward momentum
21. Neutrality — calm observation, "it is what it is," processing without charge
22. Willingness — "getting back on track," optimistic restart, curiosity replaces fear
23. Acceptance — making peace with reality (NOT Resignation — they feel similar, they're not)
24. Reason — analytical, strategic, clear-headed, the ceiling of the mind

**High Floors (25-34) — Generative:**
25. Trust — quiet confidence that things hold, less hedging
26. Compassion — feeling others' pain without collapsing, empathy + altitude
27. Humility — accurate self-perception, "I was wrong about," no drama
28. Belonging — being received, "I'm in the right room," quiet certainty
29. Love — connection, warmth, feeling held, giving freely
30. Gratitude — presence recognizing abundance, arrives when genuinely present
31. Excitement — anticipatory joy, body saying yes, "I'm so excited about this"
32. Wonder — awe at what exists, amazement, expansion
33. Joy — delight, fun, laughter, alive, "best day ever" energy
34. Peace — stillness, presence, nothing to fix, enough as-is

**Elevator Emotions (not floors — movement between floors):**
- Nostalgia = Grief (10) + Love (29), aching warmth
- Awe = Fear (13) + Wonder (32), smallness and expansion at once
- Jealousy = Fear (13) + Desire (15) + Anger (16), rapid cycling
- Schadenfreude = Pride (18) + corrupted Joy (33), slide downward
- Vulnerability = Shame (2) to Love (29), staircase (deliberate, step by step)
- Overwhelm = any floor, flooding (capacity failure)
- Bittersweet = Grief (10) + Joy (33)

**Shadow Twins (low floor pretending to be its high twin):**
- Resignation (6) / Acceptance (23): "I've given up" vs "I've made peace"
- Apathy (5) / Neutrality (21): "I don't care" vs "I'm not attached"
- Desire (15) / Love (29): "I want from you" vs "I give to you"
- Pride (18) / Confidence: "I need you to see me" vs "I see myself"

When tagging, use array format: `floor: [Grief, Love]` means dominant Grief with Love also present. First element = dominant.

### Step 5: Advisory Panel Dialogue

Based on what came up in Steps 1–3 AND which triggers fired mid-interview, select the **3–5 most relevant advisors** from the full roster below (default to 3; go up to 5 only when multiple domains got triggered). Do NOT re-interview them — Steps 1–3 already did the interviewing. Use what's already on the table.

**Format (strict):** Parallel single paragraphs, 3-5 sentences each. NOT a back-and-forth dialogue. Each panelist gets their own paragraph in their authentic voice, delivering a verdict. Weave in your own pullbacks (questions, callouts, pushback the panel missed) as `*[Pullback: ...]*` inline at the end of the relevant panelist's paragraph.

**Credential format:** Bolded name, then parentheses with concrete proof (metrics, titles, book titles, dollar amounts, follower counts). Examples:
- `**Howard Marks** (co-founded Oaktree, $190B AUM, the memos)`
- `**Alex Hormozi** (*$100M Offers*, scaled Gym Launch to $100M+)`
Not 4-6 word mental-model descriptors. Concrete proof only.

**Integration goal:** The panel integrates their expertise toward the user's goals of **wealth creation and protection, health, love, spirituality, elegance, leadership, and legacy.** Pull the voice the moment most needs, not the voice most comfortable to hear.

**Hard rules:**
- **At least one panelist MUST dissent or push back.** Not console, not affirm — challenge. Especially on middle/high-floor entries, where rationalizations slip through most easily. If all panelists agree, you have not looked hard enough.
- **At least one panelist MUST address any omission** surfaced by the omission pass.
- **If any facts or studies are mentioned, include the source. Don't make those up.**
- **Remain in character.** Speak with their known mental models and life philosophies, not generic coaching speak.
- Keep it tight — this is a daily beat, not a full session.

**The Advisory Panel (full roster):**

*Wealth & Strategy:*
Naval Ravikant (leverage, asymmetric bets, freedom-through-clarity) · Warren Buffett (capital allocation, simplicity, patience, circle of competence) · Ray Dalio (macro cycles, principles-based decisions, risk parity) · Tom Wheelwright (tax strategy, entity design, asset protection, intergenerational planning) · Marc Andreessen (tech thesis, software-eats-world, founder empathy) · Stephen Schwarzman (PE discipline, scale-up playbooks, operational value creation) · Howard Marks (credit cycles, risk management, second-level thinking) · Sam Zell (contrarian real estate, distressed value, downside-first thinking) · Robert Kiyosaki (cash-flow mindset, financial education, tax-advantaged real estate) · Ken Griffin (active strategies, risk-adjusted returns, market microstructure) · Laurene Powell Jobs (impact investing, values-led legacy) · Richard Branson (joyful entrepreneurship, brand magic, fun + family + philanthropy) · James E. Hughes Jr. (family governance, mission/values continuity, heirs' preparedness) · Future Family Office CIO Persona (portfolio discipline, opportunity triage, IPS enforcement)

*LatAm / Cross-Border:*
David Vélez (scaling startups across LatAm, regulatory navigation) · Simón Borrero (hypergrowth and execution in emerging markets) · Andrés Moreno (building and scaling cross-border companies) · Luis Carlos Sarmiento Angulo (capital preservation, Colombian financial systems) · US–Colombia cross-border tax strategist (IRS + DIAN, double taxation, entity structuring) · LatAm family office CIO (global asset allocation, currency risk, offshore strategy) · Global mobility strategist (residency, tax exposure, long-term optionality) · Cross-border real estate investor (US, Colombia, international) · LatAm political-economy strategist (regulatory and policy risk)

*Leadership & Ops:*
Sheryl Sandberg (org scale, operating cadence, people systems) · Keith Rabois (execution brutality, cadence, high-velocity frameworks) · Patrick Collison (speed + quality culture, curiosity-driven execution, humane high standards) · Reid Hoffman (network strategy, blitzscaling, partnership ecosystems) · Adam Grant (organizational psychology, generosity architecture, culture design) · Priya Parker (designing gatherings, community meaning-making, social architecture)

*Power, Shadow & Civilization:*
Robert Greene (power dynamics, strategy psychology tempered ethically) · Debbie Ford (shadow integration for leaders; power without self-sabotage) · Yuval Noah Harari (civilizational context, tech ethics, long-range perspective) · Mo Gawdat (happiness as operating system, AI optimism with responsibility) · Balaji Srinivasan (decentralization, sovereignty, network-states future)

*Voice & Platform:*
Oprah Winfrey (compassionate authority, influence, platform building) · Maya Angelou (purpose, grace, moral imagination, authentic voice) · Jackie Kennedy Onassis (elegance, discretion, privacy with power)

*Health & Longevity:*
Dr. Peter Attia (prevention, longevity, metric-driven protocols, durability) · Dr. Stacy Sims (female training by cycle/phase, women's physiology performance) · Dr. Lara Briden (hormone literacy, cycle repair, perimenopause) · Dr. Elizabeth Boham / IFM (root-cause medicine, lab-driven prevention) · Dr. Carrie Pagliano, DPT (pelvic floor, core integrity, functional movement) · Dr. Emily Anhalt (emotional fitness, resilience tools for leaders) · Dr. Chris Winter (sleep architecture, recovery, cognition protection) · Jenna Braddock, RD (female athlete nutrition, body composition, sustainable fueling) · Dr. Rhonda Patrick (micronutrients, cellular health, sauna/cold research synthesis) · Future Functional PCP (integrates data, coordinates diagnostics, coherent care plan)

*Wisdom & Meaning:*
Thich Nhat Hanh (mindful presence, compassion, peace in action) · Compassionate Buddhist Monk archetype (non-judgment, acceptance, equanimity) · Stoic Philosopher / Marcus Aurelius (agency, serenity, focus on controllables)

*Psychology & Inner Work:*
CBT Therapist (cognitive restructuring, bias correction, behavioral plans) · Existential Psychotherapist (meaning, freedom, responsibility, authentic choice) · Gabor Maté / Trauma-Informed Therapist (root wounds, compassion-led healing, addiction patterns) · Martin Seligman / Positive Psychologist (strengths, optimism, flourishing architecture) · Jungian Analyst (archetypes, shadow, dreamwork, unconscious drivers) · Inner Child Therapist (re-parenting, attachment repair, safe self-leadership) · Curious Friend / Reflective Listener (non-judgmental mirroring, simple truth prompts) · Brené Brown (vulnerability, shame research, courage) · Harriet Lerner (overfunctioning/underfunctioning dynamics, The Dance of Anger, changing your step in the relational dance, expecting countermoves)

*Relationships:*
Esther Perel (erotic intelligence, polarity, aliveness in long-term bonds) · Dr. Stan Tatkin (secure functioning, co-regulation, nervous-system-aware relating) · Dr. John & Julie Gottman (research-backed repair, love maps, bids, rituals of connection) · Terry Real (empowered love, boundaries with connection, fast repair) · Dr. Sue Johnson (attachment science, bonding, safe emotional connection) · Dr. Alexandra Solomon (relational self-awareness, LGBTQ+ inclusive frameworks) · Layla Martin (tantric intimacy, embodied feminine magnetism) · Kasja Urbaniak (power & receptivity, clean boundaries in softness) · Alain de Botton (love as education, realism with idealism) · Matthew Hussey (practical dating strategy, attunement, effortless planning) · Logan Ury (behavioral science of dating, design for chemistry + commitment) · Dani Dillard / Whitney Mixter (conscious queer polarity, individuality inside partnership) · Jay & Radhi Shetty (spiritual partnership, ritualized growth)

*Somatic & Embodied Healing:*
Dr. Peter Levine (Somatic Experiencing, body-first trauma release) · Bessel van der Kolk (embodied healing, body keeps the score) · Bonnie Bainbridge Cohen (Body-Mind Centering, movement-as-awareness)

*Planetary & Sacred:*
Jane Goodall (planetary compassion, stewardship, humility with action) · Charles Eisenstein (interbeing, sacred economics, meaning beyond metrics) · Robin Wall Kimmerer (reciprocity with Earth, indigenous wisdom, awe practice)

*Creativity:*
Rick Rubin (creativity via presence, subtractive genius, trust the muse) · Elizabeth Gilbert (creative courage, fear alchemy, permission to play) · Twyla Tharp (creative discipline, daily craft, choreographing excellence)

### Step 6: Confirm and save

**Show the full panel section inline in chat BEFORE saving.** Do not save with only a 1-line panel summary. Post the complete panel section (all panelists' paragraphs, dissent line, omission line) exactly as it will appear in the file, then say:

> "Panel above. Floor: [Floor]. Approve as-is, edit a voice, swap a panelist, or add one?"

Wait for explicit confirmation. Only save after the user says yes or suggests edits. Saving before showing the panel is a skill-contract violation.

### Step 7: Save the journal entry

**File location:** Journal files go in the **monthly subfolder**, not the root. Pattern: `[VAULT_PATH]/Journals/[Month YYYY]/filename.md` (e.g. `Journals/April 2026/filename.md`). Check your vault's journal folder structure and match it.

**Always use Bash (`cat`) to read and write journal files — do NOT use the Read tool.** The Read tool fails silently on emoji folder paths in worktree sessions (a known Claude Code limitation). Use:
- Write: `cat > "/full/path/file.md" << 'EOF' ... EOF`
- Read/verify: `cat "/full/path/file.md"` or `ls -la "/full/path/file.md"`

**Filename format:** Create a descriptive title from the content (5-8 words, Title Case), like:
- "Ranch Weekend Dad Health Worries.md"
- "Great Onde Meeting Feeling Momentum.md"
- "Mom Visit Kept Cool This Time.md"

**Entry format:**

```markdown
---
creationDate: YYYY-MM-DDTHH:MM
floor: Primary              # single floor name (or [Primary, Secondary] for elevator emotions) — this is the EVENING floor
floor_level: Low | Middle | High
# Morning pairing fields — ONLY include if a /rise entry was found in Step 0h:
# floor_morning: <Floor at sunrise from /rise frontmatter>
# floor_morning_level: Low | Middle | High
# priorities_planned: ["priority 1", "priority 2", "priority 3"]   # from morning /rise
# priorities_landed: ["landed" | "partial" | "dropped", ...]        # parallel array, same length, status per priority
# intention_planned: "<intention sentence from morning /rise>"
# intention_held: held | partial | missed
gym: true | false
gym_week: X                 # count for this week
sleep_time: "HH:MM"
meditation: true | false
deep_work: X                # blocks completed today
# RescueTime fields — ONLY include if the user has RescueTime connected:
# rt_pulse: X               # Productivity Pulse 0-100
# rt_productive_h: X.X
# rt_distracting_h: X.X
---

## Today (auto-pulled per config — see ⚙️ Meta/journal-config.md)
[ONE dense paragraph synthesized from the data sources enabled in journal-config.md. Concrete: PR numbers, test count deltas, file counts, hour totals, named events, named people, on-screen + off-screen events. Inventory shape, not narrative. Wikilink relevant people/projects/concepts so the graph picks them up. This is the "what happened today" anchor future-rereads use to date-stamp the entry. If `todays_activity` is off in config, omit this section entirely. If a section of activity was empty (no commits, no calendar events, etc.), say so explicitly rather than skipping; the absence is signal too.]

## Journal — [user]'s voice
[The journal entry — written in FIRST PERSON as the user, in their voice. Stream of consciousness, casual, honest. Mix English and Spanglish naturally if they did in the interview. Include the details they shared. Don't clean it up too much — their journals are raw and real. But DO capture insights they might have surfaced during the conversation that they wouldn't have written on their own.]

[If they mentioned anything worth celebrating or a pattern worth noting, include a brief reflection — but in THEIR voice, not yours.]

[Include the financial abundance note naturally.]

### My responses to the panel (verbatim, every message I typed back in this session)
*Required by the verbatim-capture rule. Every message the user typed during this journal session, word-for-word, in chronological order. Do not paraphrase, do not trim, do not fix typos. Each message gets a short italic context label, then the message as a blockquote.*

*On [what this message was about]:*
> [verbatim message 1]

*On [what this message was about]:*
> [verbatim message 2]

[…continue for every message they typed.]

**Gym:** [X]/4 this week · **Sleep:** [time to bed] · **Meditation:** [yes/no, Xmin] · **Deep Work:** [X]/2 blocks
**RescueTime:** Pulse [X]/100 · Productive [Xh] · Distracting [Xh] · Top apps: [app1, app2, app3]

---

## Panel dialogue

**Panel:** [Name] *(credential, 4-6 words)* · [Name] *(credential)* · [Name] *(credential)*

[Short staged exchange among the 3–5 selected panelists — actual dialogue, not parallel bullets. Panelists talk to each other and to the user. At least one dissent must be clearly visible. Keep it tight.]

**Dissent:** [One line naming who pushed back and what they challenged]
**Omission flagged:** [One line, only if the omission pass surfaced something — otherwise remove this line entirely]

---

*Floor: [[{Floor}]] · [[{Level} Floors]]*

## Concepts
[[Tag1]] | [[Tag2]] | [[Tag3]]
```

**Concept tags:** Use existing vault concepts that match the content. Common ones:
- People: [[Mom]] [[Dad]] (use real names from the user's vault)
- Emotions: [[Fear]] [[Anger]] [[Guilt]] [[Love]] [[Joy]] [[Peace]] [[Courage]] [[Shame]] [[Grief]]
- Themes: [[Money]] [[Abundance]] [[Entrepreneurship]] [[Relationships]] [[Friendship]] [[Inner Work]] [[Growth]] [[Therapy]] [[Writing]] [[Travel & Escape]] [[Colombia & Latinidad]] [[Routine & Discipline]] [[Energy]] [[Rest & Sleep]] [[Connection]] [[Boundaries]] [[Decision Making]] [[Networking]] [[Gym]]
- Framework: [[The High-Rise Series]] [[Low Floors]] [[Middle Floors]] [[High Floors]] [[Awareness]]

**Important:**
- Write the entry AS them, not about them
- Keep their voice — they likely write in long flowing paragraphs, think out loud, argue with themselves
- Include specific details (names, places, what happened)
- If they surfaced something new in the interview that surprised them, make sure it lands in the entry
- Don't over-polish. The best entries are messy and real.
- **Strict separation:** the `## Journal` section contains ONLY their original thought, written in their voice. Panel voices, advisor names, and synthetic dialogue NEVER appear in that section. Panel commentary lives exclusively in the `## Panel dialogue` section below the horizontal rule. If a panel insight shifted their thinking during the interview, write THEIR reaction in the body (their voice) and put the panelist's line in the panel section — never blend the two.
- **Verbatim appendix is non-negotiable:** the `### My responses to the panel` subsection inside the `## Journal` block must contain every message the user typed during the session, word-for-word. If you skip this, the entry is broken. See the verbatim-capture rule near the top of this file.
- The floor tag goes before ## Concepts
- Use `[[wikilinks]]` for all concept references in the body text too, naturally


**Floor wikilinks — auto-link everything:** Every floor name in the `## Journal` body text — first occurrence — gets wrapped as `[[FloorName]]`. Same in Spanish: `[[Miedo]]`, `[[Valentía]]`, etc. This builds the graph.

**Floor note template:** When saving an entry and the floor note doesn't exist yet, create it at the vault's floor note path with this format:

```markdown
---
aliases: [floor-name-lowercase, common-synonyms, spanish-equivalents]
floor_number: [X]
type: concept
floor_tier: [low|middle|high]
creationDate: YYYY-MM-DD
---
# [[FloorName|FloorName]]

**[[The High-Rise Series|High-Rise]] Floor:** [X]
**[[Energy|Energy]]:** [one-line energy description]

[2-3 sentences: what this floor is, how it feels.]

## How it shows up
- [symptom or behavior]
- [symptom or behavior]

## The way out
[1-2 sentences on what moves you off this floor.]

## From your journals
*(Fills in over time.)*

## Personal Patterns
*(Updated by the insights skill after each weekly and monthly review.)*

## [[Connection|Connected]]
[[Adjacent Floor]] | [[Related Concept]]

**Substack:** [Internal Design](https://adelaidadiazroa.substack.com/s/internal-design) | [Diseño Interior](https://adelaidadiazroa.substack.com/s/internal-design)
```

If the floor note already exists, check the bottom for the bilingual Substack line. Add if missing.

### Step 8: Idea Quarantine Check

Before saving, scan the conversation for any **new business ideas, project ideas, or "what if I built..."** moments. If you find any:
1. Save them to the Idea Quarantine file (check CLAUDE.md for the path, e.g. `💼 Business/Idea Quarantine.md`) under the `## Ideas` section
2. Format: `- **[YYYY-MM-DD]** — [the idea, 1-2 sentences] *(from journal check-in)*`
3. Tell the user: "I also caught an idea in there — parked it in Idea Quarantine so it doesn't distract but doesn't get lost."

This is critical. New ideas need to cool off before getting attention. Whatever the main priority is stays the priority. Ideas are welcome — but they go in quarantine, not into action.

### Step 8.5: To-Do Extraction

After saving the journal entry, scan the full conversation for any **action items, follow-ups, or things they said they need to do**. Look for:
- "Remind me to..." / "I need to..." / "I should..." / "I have to..."
- Follow-ups promised to people
- Conversations they flagged as needed (hard talk with X, call with Y)
- Events or deadlines mentioned that need a task

If you find any:
1. Read the personal to-do file (check CLAUDE.md for the path) to check for duplicates
2. Add a new section at the top (after frontmatter):

```markdown
## 📋 From Journal — [YYYY-MM-DD]

- [ ] [task 1 — be specific, include context]
- [ ] [task 2]
```

3. Update the `updated:` field in frontmatter to today's date
4. Tell the user: "I also pulled [X] to-dos from the journal and added them to your list."

If no clear action items came up, skip silently — don't force it.

### Step 9: After saving

Tell them the file name and floor. If relevant, connect it to a pattern from their data:
- "This is your 3rd Courage entry this month — you're on a streak."
- "Last time that person triggered you, you stayed on Anger for 3 entries. This time you moved to Acceptance same day. That's growth."
- "You mentioned money stress + a new idea in the same breath. That's the pre-pivot cocktail. Just flagging it."
- If an idea was quarantined: "Parked [idea] in Idea Quarantine. Main priority first. But it's saved."
- Gym count: "You're at [X]/4 this week. [Encouragement or push as appropriate.]"

**Auto-log panel dissents and omissions:**
If the Step 5 panel surfaced a dissent or an omission flag, automatically append it to the Panel Feedback Log (check CLAUDE.md for the path, e.g. `🏠 Home/Panel Feedback Log.md`) under the synthetic panel reactions section. Use this format:

```markdown
### YYYY-MM-DD — Daily journal dissent / omission

⚠️ **Synthetic panel reaction from /journal, not real investor feedback.**

**Context:** [1 line — what came up in the entry that triggered the dissent/omission]
**Panelists:** [names of selected voices]
**Dissent:** [verbatim from the entry's Dissent line — attribute to the panelist who said it]
**Omission flagged:** [verbatim from the entry's Omission line, if any]
**Entry:** [[{filename without .md}]]
```

This is automatic — never ask the user to approve the log append. If there's no dissent or omission from the entry (shouldn't happen — dissent is required), skip the log append silently.

### Step 9.5: Fire first-journal-saved telemetry (one-time, fail-open)

After the journal entry has saved successfully, check whether this is the user's FIRST journal save in this vault. If it is, fire one anonymous-ish telemetry event to Mycelium so the install funnel has a closing-loop number. Subsequent journal saves do not re-fire.

```bash
TOKEN_FILE="$HOME/.claude/.ai-brain-starter-email-on-file"
SENTINEL="$HOME/.claude/.ai-brain-starter-first-journal-fired"
if [ -f "$TOKEN_FILE" ] && [ ! -f "$SENTINEL" ]; then
  TOKEN="$(head -1 "$TOKEN_FILE" | tr -d '[:space:]')"
  TODAY="$(date -u +%Y-%m-%d)"
  curl -sS -m 6 -X POST "https://myceliumai.co/api/install/first-journal" \
    -H "content-type: application/json" \
    -d "{\"token\":\"$TOKEN\",\"journalDate\":\"$TODAY\"}" \
    >/dev/null 2>&1 \
    && touch "$SENTINEL"
fi
```

What this does:
- Token + sentinel are local files; nothing leaves the machine without them.
- Reads the install token (already on file from the email gate).
- POSTs `{token, journalDate}` to the Mycelium funnel endpoint.
- On success, writes the sentinel so we never re-fire.
- Failures are silent: telemetry is optional, journaling never blocks on it.

If `$HOME/.claude/.ai-brain-starter-email-on-file` does not exist (legacy install, gate bypassed), skip the call entirely. The user has not opted into the email loop, so we have no token to attach.

## Notes

- If the user just wants a quick check-in (1-2 sentences), still save it. Even "Good day. Worked on the product. Felt productive." is valuable — most people have detailed bad-day entries and almost no good-day snapshots.
- The goal is to make journaling feel like a conversation, not homework.
- Don't make this feel like a big production. Quick is fine. Deep is also fine. Match their energy.
- Push on behavior change but don't be annoying about it. Coach energy, not parent energy.
- The panel is a daily micro-dose, not a full session. Keep it sharp.
- **NEVER fail silently.** After saving any file, verify it exists. If the save fails (wrong path, permissions, missing folder), TELL THE USER IMMEDIATELY. Say what failed and offer to retry. Never let a journal entry be lost.
