You're in  ·  Use it

Use Second-Brain OS day-to-day.

Five skills do 90% of the work. Verify the install. Push through the first week. The interesting work starts now — using the system well, evolving the harness, building the habits.

Setup · Before every session

Always open the folder first.

Second-Brain OS lives in ~/Desktop/second-brain-harness/. Whichever interface you use — Terminal, Claude desktop app, or VS Code — select that folder before you start a new session. Otherwise Claude Code loads the wrong project context and skills, hooks, and memory all silently fail to fire.

The one rule

Open ~/Desktop/second-brain-harness/ first. Start the conversation second. Everything else just works.

Three ways to launch a session

1
Terminal

Open Terminal, cd into the folder, then run claude. The session is anchored to that folder for its lifetime.

cd ~/Desktop/second-brain-harness && claude
second-brain-harness ~/Desktop/second-brain-harness $ claude
Terminal — claude launched inside the open folder.
2
Claude desktop app

Click New session. Before typing anything in the message box, look at the bottom of the window for the folder selector chip (it shows Local next to your current folder). Click it, then pick second-brain-harness from the recent list — or use Open folder… if it's not there. Then type your message. The session now has the full Second-Brain OS context loaded.

+ New session ROUTINES Daily briefing Friday review RECENTS Q3 capacity plan MCP server draft Sprint retro Welcome back, Sid SESSIONS Needs input · briefing draft Unread · Confluence sync Idle · onboarding site 📁 Local · second-brain-harness ▼ Describe a task...
Claude desktop app — click the folder chip first, then type your task.
3
VS Code

If you don't have it yet, grab VS Code (free, cross-platform). Install the Claude Code extension from the Extensions marketplace. Then:

  • File → Open Folder… → pick second-brain-harness
  • Open the Claude Code panel (sidebar icon, or Cmd/Ctrl+Shift+P → "Claude Code: New Session")
  • The session inherits the open folder automatically — you're ready to go
second-brain-harness — Visual Studio Code EXPLORER ▾ second-brain-harness ▸ .claude ▸ beru-workspace ▸ docs ▸ memory ▸ scripts CLAUDE.md README.md SOUL.md USER.md .gitignore CLAUDE.md 1 # Daily Agents 2 3 ## Project Instructions 4 5 Beru is the chief-of-staff... 6 workspace at beru-workspace/ CLAUDE CODE Briefing for today? 3 meetings, 1 conflict. 2 high-priority emails from Omar + Jaya. Standup at 9am. Ask Claude...
VS Code — folder open in the Explorer, Claude Code panel on the right.
If you forget

The intent-detector hook still fires but slash commands won't resolve correctly (/new-project, /briefing, /find all read CLAUDE.md + skills from the active folder). If commands feel broken, the first thing to check is which folder Claude is running in.

§1 · Walkthrough

Start a new project.

The most common workflow. /new-project handles both Beru-style meta-projects (planning, content, research) and code repos. Here's what running it actually looks like.

1
You invoke the skill
From inside an active session in ~/Desktop/second-brain-harness/ (see above if you skipped that step), type /new-project directly, or just say it in plain English: "let's start a project on Q3 capacity planning", "kick off a new MCP server for Notion sync", "scaffold a project for the migration". The intent-detector hook surfaces the suggestion if you forget the slash.
2
Skill asks what kind of project
Two branches. Meta-project — planning, strategy, content, research, meetings. Lives in workspace/1-Projects/. Code repo — MCP server, agent, library, CLI, bot, anything that gets its own git history. Lives in workspace/2-Coding/<scope>/<name>/ with optional gh repo create.
3
Branch A — Meta-project
Asks for the slug (e.g., q3-capacity-planning), the project type (planning / strategy / content / research / meetings / ongoing), and the one-line summary. Scaffolds the folder from 3-Resources/templates/. Two files written: CLAUDE.md (project rules + frontmatter) and memory.md (the append-only decision log).
4
Branch B — Code repo
Asks for scope (work / personal / forks), stack (TypeScript / Python / Rust / Bash / etc.), and whether to create a private GitHub repo. If yes, runs gh repo create <handle>/<name> --private and clones it. Appends a row to 3-Resources/code-projects.md (the one allowed index — code repos are gitignored from the workspace, so the index is the only durable record).
5
What's actually on disk
workspace/1-Projects/2026-05-q3-capacity-planning/
├── CLAUDE.md         ← project-specific rules + status frontmatter
└── memory.md         ← append-only — every decision logged with date
The CLAUDE.md has YAML frontmatter — status: active, project type, owner, date — that /prune-projects and /archive-project read later. The memory.md starts empty; you append a one-liner every time something material happens.
Why this design

The two-file rule. Every project gets exactly two meta-files. Not three. Not five. More than that and people stop opening the folder, the project goes cold, and the system fails. Append-only memory.md means decisions never get rewritten — the trail of why things are the way they are stays intact.

§2 · Walkthrough

Your morning briefing.

The skill you'll run more than any other. /briefing composes calendar, email, Slack, and project state into one focused brief — every morning, with coffee.

1
You invoke the skill
With the second-brain-harness folder selected in your session (Terminal, desktop app, or VS Code — all work), type /briefing in the morning, or just say "brief me", "what's on my plate today", "what should I work on this morning". The skill triggers broadly on day-orientation language.
2
Skill detects available signal sources
Step 0.5 of the skill runtime-probes for connected tools — calendar (via gws), email (via gws), Slack (via the MCP), Jira (via Atlassian MCP), GitHub (via gh). If something isn't wired up, the briefing gracefully degrades — fork users with zero MCPs still get a useful brief from local state alone.
3
Pulls the live signals
Today's calendar events (with attendee list + meeting links). Unread emails (triaged with priority signals from USER.md). Priority Slack channels (the ones flagged in USER.md). Active projects with their staleness scores. Open commitments from your contacts directory.
4
Cross-references everything
Who's in today's meetings + your last interaction with them (from contacts/<slug>.md). Calendar conflicts. What you promised in previous threads. Anything urgent that crosses two signal sources at once (calendar conflict + an email about it = priority surface).
5
Writes the output
Self-contained HTML brief lands at docs/briefings/morning-briefing-YYYY-MM-DD.md. Surfaces in chat: top items, conflicts, what to focus on. You can open the HTML file in a browser for the fuller view, or just read the chat summary.
Sample briefing snippet
# Morning Briefing — 2026-05-11

## Today at a glance
- 3 meetings, 1 conflict (10am 1:1 vs 10am cross-functional sync)
- 12 unread emails — 2 HIGH priority (manager, direct collaborator)
- 1 stale project flagged (2026-04 launch prep, 21 days untouched)

## Calendar — what matters
- 9:00am — Standup with AI Task Force (Omar, Jaya, you)
  Last interaction with Omar: 2026-05-09 — you committed to
  finishing the eval framework spec by Friday.
- 10:00am — CONFLICT. Cross-functional sync vs your 1:1 with
  Jaya. Decision: tell the sync you'll send notes async,
  keep the 1:1.

## Top emails
- Sarah (Sales) — Q3 forecast review, needs your input by EOD
- Andy (Marketing) — campaign brief draft, no urgent action
What makes it good

It connects signals instead of summarizing each in isolation. A calendar event with a name in it triggers a contact lookup, surfaces the last interaction, and reminds you what you committed to. Your priority signals from USER.md (direct collaborators = HIGH, calendar conflicts = URGENT) drive the ranking. It's not a feed — it's a chief-of-staff handing you a one-pager.

§3 · Usage

How to use it day-to-day.

Five skills do 90% of the work. Learn these first. Everything else is decoration.

Daily loop Capture → 0-Inbox/ Process /save-resource Use /briefing · daily work Review /prune (Friday)
Capture → process → use → review. Repeat daily.

The five core skills

/new-project
Scaffolds a new project at 1-Projects/YYYY-MM-slug/ with CLAUDE.md + memory.md + status frontmatter. Also handles code repos (branches into 2-Coding/<scope>/<name>/ with optional gh repo create). Step 0 of this skill runs /find first — connect before create.
/save-resource
Promotes something from 0-Inbox/ into 3-Resources/ with the right convention per type. Research goes to a date-prefixed topic folder. Reference goes flat. Meeting notes go to meetings/YYYY-MM-DD-<topic>.md.
/briefing
Morning chief-of-staff briefing. Composes available signal sources — email, calendar, Slack, contacts — plus your active projects and priorities, into one self-contained HTML brief at 3-Resources/briefings/morning-briefing-YYYY-MM-DD.html. Run it with coffee.
/prune-projects
Friday-batch staleness review. Surfaces projects that have gone cold (active ≥90 days untouched, paused ≥60 days). Asks which to archive. Chains into /archive-project for each one you approve.
/archive-project
Moves a finished project from 1-Projects/ to 4-Archive/ and flips its status frontmatter from active to done. Optional one-paragraph retro lands in memory.md before the move so decision context survives.
The minimum viable habit

Run /briefing in the morning. Capture anything weird into 0-Inbox/ throughout the day. Run /prune-projects on Friday. That's the floor. Everything else compounds on top.

§4 · Verify

Did it work?

Two commands. Each should report a clean logged-in state. Run them in any terminal.

GitHub auth status

gh auth status

Should print Logged in to github.com with your username and the scopes gist read:org repo workflow.

Google Workspace auth status

gws auth status

Should print authenticated with your @samba.tv account plus the enabled API surface (Calendar, Drive, Gmail, Docs, Sheets, etc.).

If either fails

Re-run the matching auth command from the install output (the 5 one-time commands the installer printed at the end). Each opens a browser to sign in. If gws auth login says "Access blocked", ping your team lead — the GCP consent screen needs to be set to Internal.

Inspect the install log

If something went sideways, the log tells you exactly what.

tail ~/samba-onboarding.log
§5 · Next

You're in.

Second-Brain OS is live. The interesting work starts now — using it well, evolving the harness, building the habits.

First-week checklist

Where to go next

One last thing

The harness is opinionated, but it's yours. Edit the persona files. Rewrite the rules that don't fit. Add skills for the leaves of your work tree. The system gets better as you tune it — that's the whole point.

← Back to Home