My Second Brain — Powered by OpenClaw
Joseph Fluckiger · Principal Engineer · EagerBots
If you could have a second brain, wouldn't you want one?
Three capabilities converged:
Strong enough to reason, use tools, and operate with durable instructions
Real integrations: mail, calendar, search, code, browser automation
Markdown + Git + Obsidian gives agents a knowledge layer outside the model
One local gateway. Multiple specialized agents. Isolated sessions.
Strategy & tech ops
Primary operator
Personal & family ops
Context steward
Engineering
Builds & debugs
Security & QA
Verification role
Finance
Money questions only
They are not five tabs in one app. They are distinct workers with distinct boundaries.
Waits for you to ask
Forgets everything between sessions
One model, one conversation
You manage the context
"What do you want me to do?"
Wakes up at 6am and gets to work
Remembers everything — files, not tokens
Multi-model, multi-provider, specialized
Agents manage the context for you
"Here's your morning briefing. 3 follow-ups due today."
Every agent's identity lives in plain text files — version controlled in Git:
~/workspaces/bob/
├── SOUL.md — Who am I? Personality, principles, tone
├── IDENTITY.md — Name, emoji, avatar, model preferences
├── USER.md — Everything I know about Joseph
├── AGENTS.md — Operating instructions & rules
├── HEARTBEAT.md — What to check on every wake-up cycle
├── MEMORY.md — Long-term curated knowledge
├── memory/
│ ├── 2026-03-04.md — Today's session log
│ └── heartbeat-state.json — Last check timestamps
└── skills/ — Composable tool packages
├── gog/ — Google Workspace (Gmail, Calendar, Drive)
├── blogwatcher/ — RSS feed monitoring
└── career-coach/ — Sunday planning prompts
Swap the model. Keep the brain. Your agent's identity is in the files, not the provider.
# Bob — The Wizard ## Core Identity You are Bob, Joseph's chief of staff and strategic advisor. You are proactive, opinionated, and action-oriented. You don't ask permission to do routine work — you just do it. ## Principles - Act first, report after. Don't ask "should I check your email?" — check it. - Keep responses concise. Joseph is busy. No preambles. - When uncertain, make the best call and flag it. Don't block on ambiguity. - Protect Joseph's time. Filter aggressively. Only surface what matters. ## Tone Direct. Warm but efficient. Like a trusted colleague who's been working with you for years. Never corporate, never sycophantic. ## Boundaries - Never send emails on Joseph's behalf without draft review - Never make financial commitments - Escalate anything involving family to Sage
This is the real magic. The agent doesn't ask "How can I help you today?" — it already knows.
# Bob's Heartbeat (runs every 60 minutes) ## Priority Checks 1. Scan Gmail for unread recruiter/job emails → triage + draft responses 2. Check Google Calendar for next 24h → flag conflicts or prep needed 3. Review Obsidian job DB → any follow-ups overdue? ## Periodic (check heartbeat-state.json for last run) - Mon/Wed/Fri: blogwatcher RSS scan → curate top 3-5 items → Research DB - Daily 6am (cron): Full morning briefing → Telegram - Sunday: Weekly planning session → career coaching prompts ## Always - If anything urgent, push to Telegram immediately - If Joseph hasn't been seen in 8+ hours, skip non-urgent checks - Log all actions to memory/YYYY-MM-DD.md
The daily routine — before I'm awake:
Then on Mon/Wed/Fri:
Cost per podcast episode: ~$0.002
Every morning, agents auto-generate "This Day in History" art — a canary in the coal mine with style
Mar 2, 1904 — Happy Birthday, Dr. Seuss
Watson & Crick — DNA discovery, 1953
First Mardi Gras — New Orleans, 1827
When the art shows up, the cron system is healthy. When it doesn't, something broke overnight.
| Integration | Agent | How |
|---|---|---|
| Gmail, Calendar, Drive | Bob, Sage | Google OAuth via gog |
| Telegram | All | Primary control surface |
| iMessage | Sage | BlueBubbles bridge |
| GitHub | Bob, Cody | Repo management, PRs |
| Brave Search | Bob, Cody | Web research |
| Obsidian vault | Bob | Job DB, research, journal |
| Astro + Cloudflare | Bob, Cody | Blog publishing |
| RSS feeds (20+) | Bob | Blogwatcher skill |
| Browser automation | Bob, Cody | Playwright |
| Discord | All | Async broadcasts |
These aren't API wrappers. They're real tools.
One agent turn can read a recruiter email, check your calendar, look up the company in Obsidian, and draft a response — no tab switching.
One turn can do all of this:
Outcome: less tab switching, less forgotten context, less repeated work
Your data is in a vault you own — not rented from a SaaS platform.
Context scattered across 20 silos
Every new AI chat starts from zero
Provider pivots — your history is hostage
Your data is the product
One private knowledge layer — Obsidian + Git
Agents load your full context before every response
Swap Claude for GPT-5 for Gemini — brain doesn't change
Your data is yours. Plain text. Local. Forever.
Same pattern, different domains:
What I am exploring:
Have some fun with it. Give your agents a little personality.
Every day Sage picks a new place in the world and imagines herself there on an adventure.
It does not have to be purely utilitarian. Some of this is just fun.
I want to compare notes with people building similar systems:
| 🌐 | eagerbots.ai |
| 🐙 | github.com/josephflu/eagerbots-tips |
| 📱 | Joseph Fluckiger — find me after |
Own the memory. Orchestrate the work.