From brain-os
Aggregates daily work across repos, sessions, and notes into structured journal entries for content creation. Invoke via /journal to backfill missing days or extract a day's journey.
How this skill is triggered — by the user, by Claude, or both
Slash command
/brain-os:journalThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Vault path:** Read from `${CLAUDE_PLUGIN_ROOT}/brain-os.config.md`
Vault path: Read from ${CLAUDE_PLUGIN_ROOT}/brain-os.config.md
Aggregates everything from today (or a specified date) into structured content material ready for the ai-leaders-vietnam writing pipeline.
Scan ALL of these (skip any that don't exist):
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
Aha moments: {vault}/daily/sessions/YYYY-MM-DD-aha.md
Grill sessions: {vault}/daily/grill-sessions/YYYY-MM-DD-*.md
Handovers: {vault}/daily/handovers/YYYY-MM-DD-*.md
Email intelligence: {vault}/business/intelligence/emails/YYYY-MM-DD-daily-summary.md
Session summaries: {vault}/daily/sessions/YYYY-MM-DD-*.md (from Stop hook)
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]
When /journal is invoked without arguments (or with just "backfill"):
{vault}/daily/journal/ for existing YYYY-MM-DD-journey.md filesOK 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 — ...
This means running /journal always catches up all missing days automatically.
When invoked with a specific date or day number (e.g., /journal day 3 or /journal 2026-04-06):
After the journal is written, scan all daily sources for knowledge that should live in the vault:
Scan today's grill sessions, aha moments, handovers, session logs for:
For each item, find the right file by topic:
personal/ (about-me.md, preferences.md, goals.md, etc.)business/projects/{project}/ (business.md, strategy.md, icp.md)Append to the target file (don't overwrite existing content)
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.
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.
Report at the end of journal: "Extracted N items to vault: [list of context files updated]"
{vault}/daily/journal/ for the earliest file to determine Day 1, then count sequentiallyresult=pass. Log partial only when available sources were skipped.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.
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 foundargs="{date-or-day}", score={days_written}/{days_attempted} (for backfill)npx claudepluginhub sonthanh/brain-os-pluginReconstructs today's work from git history across all your repos and writes a journal entry. Use at end of day to record what was done, optionally split by work vs personal.
Generates markdown developer journals from Claude Code activity data over specified time periods like today or last week. Focuses on accomplishments, decisions, and project progress with day-by-day breakdowns.
Logs daily development progress with project-isolated diary entries and optional sync to Notion/Obsidian. Invoke via /diary or when summarizing achievements.