journal

star 15

Aggregate daily working journey across all repos and sessions into structured content material for the '100 days building AI Brain OS' series. Triggers on: journal, daily journey, what did I do today, extract journey, content material

sonthanh By sonthanh schedule Updated 4/22/2026

name: journal description: "Aggregate daily working journey across all repos and sessions into structured content material for the '100 days building AI Brain OS' series. Triggers on: journal, daily journey, what did I do today, extract journey, content material"

Vault Location

Vault path: Read from ${CLAUDE_PLUGIN_ROOT}/brain-os.config.md

/journal — Daily Journey Extraction

Aggregates everything from today (or a specified date) into structured content material ready for the ai-leaders-vietnam writing pipeline.

Data Sources

Scan ALL of these (skip any that don't exist):

  1. Git logs across all repos:

    for repo in ~/work/brain ~/work/brain-ops ~/work/brain-os-plugin ~/work/brain-os-marketplace; do
      echo "=== $(basename $repo) ==="
      git -C "$repo" log --oneline --since="YYYY-MM-DDT00:00" --until="YYYY-MM-DDT23:59" 2>/dev/null
    done
    
  2. Aha moments: {vault}/daily/sessions/YYYY-MM-DD-aha.md

  3. Grill sessions: {vault}/daily/grill-sessions/YYYY-MM-DD-*.md

  4. Handovers: {vault}/daily/handovers/YYYY-MM-DD-*.md

  5. Email intelligence: {vault}/business/intelligence/emails/YYYY-MM-DD-daily-summary.md

  6. Session summaries: {vault}/daily/sessions/YYYY-MM-DD-*.md (from Stop hook)

Output

Write to: {vault}/daily/journal/YYYY-MM-DD-journey.md

Format:

---
title: "Day N — [headline]"
created: YYYY-MM-DD
tags: [journal, 100-days, content-material]
zone: daily
---

# Day N — [Compelling headline that captures the day's theme]

## The Story (narrative arc)
[2-3 paragraphs telling what happened today as a story. Start with the problem/goal,
describe what was tried, what broke, what worked. Include turning points.
This is the HOOK for the Facebook post.]

## Key Decisions
| Decision | What I chose | Why | What I rejected |
|----------|-------------|-----|-----------------|
[From grill sessions, handovers, and aha moments]

## Aha Moments
[Direct from daily aha file — the best 3-5 moments with context]

## Real Examples
[Code diffs, before/after, exact commands — the Substack-worthy detail.
These are the implementation shortcuts people pay for.]

## Numbers
[Concrete metrics: files changed, tests passing, time saved, costs, etc.]

## What Broke
[Failures, wrong turns, bugs. This is the vulnerability content.]

## What I'd Do Differently
[Hindsight insights — the "lesson learned" angle]

## Content Angles
[3 potential post angles for the writer pipeline, each with:]
- **Hook:** [opening line]
- **Platform:** [Facebook short-form / Substack long-form / both]
- **Hormozi principle:** [which principle this leverages]

Default Mode: Backfill

When /journal is invoked without arguments (or with just "backfill"):

  1. Scan {vault}/daily/journal/ for existing YYYY-MM-DD-journey.md files
  2. Determine Day 1 from the earliest journal file's date
  3. Check every date from Day 1 through yesterday for missing journals
  4. List status of all days:
    OK       Day 1 — 2026-04-04 — Day 1 — I Taught an AI to Read a Book Better Than I Can
    MISSING  Day 4 — 2026-04-07
    OK       Day 5 — 2026-04-08 — Day 5 — ...
    
  5. For each missing day, create the journal using the full process above (data sources → output format)
  6. Skip days with no data — if a date has zero commits across all repos AND no session files, write a minimal journal noting it was a rest day

This means running /journal always catches up all missing days automatically.

Explicit date mode

When invoked with a specific date or day number (e.g., /journal day 3 or /journal 2026-04-06):

  • Create only that specific day's journal
  • Still determine the correct day number from the journal directory

Vault Knowledge Extraction (after writing journal)

After the journal is written, scan all daily sources for knowledge that should live in the vault:

  1. Scan today's grill sessions, aha moments, handovers, session logs for:

    • Decisions made — what was chosen and why
    • Facts learned — new information about business, users, market
    • Preferences stated — how user wants things done
    • Context updated — strategy changes, goal shifts, process changes
  2. For each item, find the right file by topic:

    • Personal info/preferences → personal/ (about-me.md, preferences.md, goals.md, etc.)
    • Business project decisions → business/projects/{project}/ (business.md, strategy.md, icp.md)
    • New topic → create file in the natural location (personal/ or business/)
  3. Append to the target file (don't overwrite existing content)

  4. Content ideas: If extraction finds a potential content idea (insight, problem solved, surprising result), append to ~/work/ai-leaders-vietnam/content-ideas.md under "Next Up" with a one-line description + link to source.

  5. Principles (P1-P4): If extraction finds a principle-related decision, update thinking/principles/tracker.md usage count. If a NEW principle is proposed, do NOT auto-add — flag it for user review.

  6. Report at the end of journal: "Extracted N items to vault: [list of context files updated]"

Rules

  • Narrative over list — tell a story, don't just list commits
  • Real examples are gold — include actual code, actual prompts, actual error messages
  • Failures are content — "I tried X and it broke" is more valuable than "I did X"
  • Hormozi lens: best stuff goes in the free Facebook post (the decision, the insight, the result). Implementation detail goes in paid Substack (the exact prompts, the code, the config).
  • Don't fabricate — every claim must trace to a git commit, aha moment, or grill session
  • Day numbering — check {vault}/daily/journal/ for the earliest file to determine Day 1, then count sequentially
  • Automated-only day = pass — if no human-session sources exist for the date (no session, aha, grill, or handover files) but journal was written from git logs + automated reports, log result=pass. Log partial only when available sources were skipped.

Integration with ai-leaders-vietnam

The journey doc is INPUT for the writing pipeline:

/journal → journey doc → (copy to ai-leaders-vietnam) → context-collector or journey-extractor → writer → ai-checking → evaluator → deliver

The user copies the journey doc to ai-leaders-vietnam and runs the content pipeline there.

Outcome log

Follow skill-spec.md § 11. Append to {vault}/daily/skill-outcomes/journal.log:

{date} | journal | {action} | ~/work/brain-os-plugin | daily/journal/{date}-journey.md | commit:{hash} | {result}
  • action: journal (single day) or backfill (catch-up)
  • result: pass if journal written covering all available sources faithfully (absent source files for that date are not penalized; absence of session/aha/grill/handover sources on automated-only days is not penalized; automated-only day with journal from git logs + automated reports = pass); partial if available sources were skipped, or output quality was poor despite human-session sources being present; fail if no data found
  • Optional: args="{date-or-day}", score={days_written}/{days_attempted} (for backfill)
Install via CLI
npx skills add https://github.com/sonthanh/brain-os-plugin --skill journal
Repository Details
star Stars 15
call_split Forks 9
navigation Branch main
article Path SKILL.md
More from Creator