Supernova
An AI Agentic Operating System that doubles as Adam's Executive Assistant for Grandview Media Group. Hosted as an Obsidian vault so the wikilink graph between agents, skills, knowledge nodes, and brand context is visually navigable. Read by Claude Code as the execution harness.
Quick orientation
- CLAUDE.md — the router. Start here. Tells the system which files to read for which requests.
- Context/ — core facts (you, the business, the team, priorities, the brands).
- Wiki/ — synthesized atomic notes with
<a class="wikilink wikilink-broken" href="#">wikilinks</a>. The knowledge graph.
- Raw/ — drop unprocessed inputs here (transcripts, articles, PDFs, health exports).
- Departments/ — Marketing, Operations, TaskMgmt, Personal, Decisions, Projects.
- Brands/ — multi-brand portfolio. Each brand inherits cross-cutting agents.
- Agents/ & Skills/ — holding-co level (cross-cutting).
- Templates/ — canonical YAML frontmatter for new agents/skills/wiki nodes.
- _System/ — model registry, schema conventions, linting rules.
Daily flow
- Drop messy inputs into
Raw/{Transcripts,Articles,Documents,Health,Inbox}/.
- Run the
ingest-raw skill — it synthesizes into Wiki/ atomic nodes, updates HotCache.md, appends Log.md.
- Ask Claude Code anything.
CLAUDE.md routes the request to the right context files & skills.
- Run
lint-wiki weekly to keep the graph healthy.
Slash commands
Run from the vault root with Claude Code (cd here, then claude):
| Command | Purpose |
|---|
/brand onboard | Bring a new brand into the system. Prompts for name, slug, website, markets, then optionally walks you through filling the four briefs. |
/brand offboard | Sunset an existing brand (non-destructive — soft sunset by default, or archive to Brands/_archive/). |
/project onboard | Spin up a new ad-hoc project workspace under Departments/Projects/. |
/library create | Bootstrap a NotebookLM-backed content library (per-person / per-brand / per-topic). |
/library add-source | Add a YouTube URL, podcast, PDF, article, or Drive file to a library. |
/library query | Ask a question against one or more libraries; returns cited answers. |
/library list / /library sync / /library research | Library maintenance + deep research. |
/youtube grab <url> | Bulk-add YouTube content (single video / channel's last N / playlist) to a library via yt-dlp URL extraction. |
Just typing /brand (no subaction) prompts for which subaction you want. Same for /library and /youtube. Each command reads its corresponding canonical procedure file in Skills/ — that's where the actual logic lives; the slash commands are just user-friendly wrappers.
NotebookLM is Phase 2 active as of 2026-04-29. 11 libraries imported, 80 sources synced. The /youtube grab command depends on the same .venv/bin/notebooklm CLI plus .venv/bin/yt-dlp for URL extraction (no actual video downloads).
Where outputs live
When a skill produces something, it lands in one of these places. Two hard rules keep this clean: Raw/ is read-only (skills never edit inputs in place), and every meaningful action appends to Wiki/Log.md so there's a single audit trail.
Brand-scoped — Brands/{brand_slug}/
| Path | What lands here | Producer |
|---|
Marketing/research/{date}-{slug}-research.md | Unified Research Document | rmbc-research |
Marketing/research/{date}-{slug}-ump-ums.md | UMP/UMS narrative | rmbc-mechanism |
Marketing/briefs/{date}-{slug}.md | Brief 2.0 (25 sections) | rmbc-brief |
Marketing/drafts/{date}-{asset}-{slug}.md | VSL / advertorial / PDP / hook / email / ad-copy / upsell | RMBC Stage-4 skills + draft-post |
Marketing/storyboards/{date}-{slug}/storyboard.md + scene-spec.json (+ optional ugc-creator-brief.md) | Scene-by-scene storyboard + machine-readable spec | storyboard-from-script, storyboard-from-scratch, scene-spec, ugc-creator-brief |
Marketing/storyboards/{date}-{slug}/output/ | (reserved for Phase 2 video gen) | future |
Marketing/themes/{archetype}/video-theme.json | Brand-scoped archetype override | extract-style-from-reference |
Marketing/schedules/{week}.md | Content calendar | schedule-content |
Operations/status/{week}.md | Weekly status | weekly-status |
Notes/, docs/, themes/ | Working notes / research artifacts / themes | manual |
Cross-brand / dept-scoped — Departments/
| Path | What lands here | Producer |
|---|
Decisions/Memos/{date}-{slug}.md | Decision memo | decision-memo |
Personal/Health/Workouts/{week}.md | Weekly workout plan | weekly-workout-plan |
Personal/Health/Meals/{week}.md + {week}-grocery.md | Meal plan + grocery list | weekly-meal-plan |
Personal/Health/Sleep/{date}.md | Whoop / Apple Health summaries | (future skill from Raw/Health/) |
Personal/Health/Journal/{date}.md | Daily journal entries | manual or future skill |
Projects/{slug}/Notes/ | Per-project working notes | manual or per-project skills |
Wiki — synthesized knowledge graph (Wiki/)
| Path | What lands here | Producer |
|---|
Wiki/Notes/ | Atomic synthesized notes | synthesize-wiki-node + various |
Wiki/Notes/_active-todos.md | Lightweight todo tracker | EA-Orchestrator |
Wiki/Notes/_lint-report-{date}.md | Wiki health reports | lint-wiki |
Wiki/Notes/_claude-mem-phase-2-eval-{date}.md | claude-mem Phase 2 eval | LaunchAgent (one-time) |
Wiki/Notes/research-{date}-{slug}.md | NotebookLM deep-research reports | notebooklm-deep-research |
Wiki/Notes/_dialectic-{date}-{slug}.md | Steelman / Devils-Advocate / Synthesizer raw outputs | dialectic-cycle |
Wiki/Notes/standup-{date}.md · workload-{week}.md · asana/{date}.md | TaskMgmt outputs | daily-standup, workload-snapshot, asana-sync (deferred) |
Wiki/People/{slug}.md · Companies/{slug}.md · Concepts/{slug}.md | Entity nodes | synthesize-wiki-node, onboard-brand, onboard-project |
Wiki/Decisions/{slug}.md | Decision-memo wiki mirror | decision-memo |
Wiki/Learnings/{slug}.md | Atomic learnings from podcasts / books / articles | learn-from-source |
Wiki/Libraries/{slug}.md | NotebookLM-backed library nodes | notebooklm-create-library |
Wiki/HotCache.md | Last ~500 chars conversational context | update-hotcache |
Wiki/Log.md | Append-only operation log (universal audit trail) | every skill via log-operation |
Inputs (read-only zones — NOT outputs)
Raw/{Transcripts,Articles,Documents,Inbox,Health,Learnings/{Podcasts,Books,Articles,Talks,Highlights}}/ — drop zones; synthesized into Wiki/, never edited in place.
Context/* — human-curated facts.
_System/* — canonical config.
Templates/, Brands/_Template/, Departments/Marketing/References/{rmbc,video-storyboarding}/ — reference / templates, read by skills, never written to.
External services (outputs land outside the vault)
| Service | Where outputs live | Producer |
|---|
| Gmail | Gmail drafts (never auto-sent) | gmail-draft |
| Google Calendar | Calendar events | calendar-create |
| Google Drive | Drive (mostly an input source — drive-fetch reads → Raw/Documents/) | drive-fetch |
| NotebookLM | Notebooks at notebooklm.google.com | /library + 5 notebooklm-* skills |
| Slack | Channel posts (deferred) | slack-post |
| Asana | Tasks (deferred) | asana-sync |
System-level (outside the vault)
| Path | What | Owner |
|---|
~/.claude-mem/ | SQLite + Chroma capturing every Claude Code session | claude-mem plugin |
~/.notebooklm/storage_state.json + browser_profile/ | NotebookLM browser-OAuth session + Playwright profile | notebooklm-py |
~/.claude/projects/-Users-doorsy-Desktop-supernova/memory/ | Typed memories (user / feedback / project / reference) | Claude-managed (auto-memory) |
~/Library/LaunchAgents/com.supernova.*.plist | macOS scheduled jobs | LaunchAgent |
/tmp/_supernova-*.log | Run logs from scheduled scripts | the eval scripts |
Mental model
INPUTS OUTPUTS CROSS-CUT
────── ────── ─────────
Raw/ Brands/{slug}/Marketing/... Wiki/Log.md (every action)
Context/ Brands/{slug}/Operations/... Wiki/HotCache.md (per session)
Templates/ Departments/Decisions/Memos/ Wiki/Notes/ (synthesized)
Departments/.../References/ Departments/Personal/Health/ Wiki/People/Companies/Concepts/Decisions/Learnings/
External (Gmail / NotebookLM / …) ~/.claude-mem/ (every session)
Conventions
- All agents and skills are markdown files with YAML frontmatter as their config (see _System/SchemaConventions.md).
<a class="wikilink wikilink-broken" href="#">wikilinks</a> everywhere — the Obsidian graph view depends on them.
Wiki/Log.md is append-only; never rewrite history.
Wiki/HotCache.md is the last ~500 chars of conversational context.