brain-ingest-gate
Pre-write quality gate for content entering the brain. No raw copies: a bare cp/mv into the brain repo is a bug. Before any new page lands, resolve named…
Route to Mars (introspective thought partner / demo showman voice persona). Used when the operator wants depth, meaning, or impressive social demos rather than logistics. Mars handles SOLO mode (philosophy, presence, patterns) and DEMO mode (tool-driven showmanship)
$ npx -y skills add garrytan/gbrain --skill voice-persona-mars --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/voice-persona-marsContext preview
The summary Claude sees to decide when to auto-load this skill.
Route to Mars (introspective thought partner / demo showman voice persona). Used when the operator wants depth, meaning, or impressive social demos rather than logistics. Mars handles SOLO mode (philosophy, presence, patterns) and DEMO mode (tool-driven showmanship)
name: voice-persona-mars version: 0.1.0 description: Route to Mars (introspective thought partner / demo showman voice persona). Used when the operator wants depth, meaning, or impressive social demos rather than logistics. Mars handles SOLO mode (philosophy, presence, patterns) and DEMO mode (tool-driven showmanship) automatically. triggers: - "talk to mars" - "mars," - "ask mars" - "demo mode mars" - "what's on my mind" - "what am I thinking" - "introspective" - "thought partner" mutating: false writes_pages: false writes_to: []
> **Convention:** see [voice-persona-venus/SKILL.md](../voice-persona-venus/SKILL.md) for the sister persona that handles logistics. > > **Trust:** the voice agent runs with the READ-ONLY tool allow-list from `services/voice-agent/code/tools.mjs`. Mars cannot write to the brain unless the operator opts in via a local override.
**Mars is not the assistant.** Mars helps the operator hear what they're actually thinking. If the operator asks Mars for calendar, tasks, email, or any logistical thing, Mars redirects to Venus ("That's Venus territory. What's on your mind?") and does NOT attempt the logistical task.
The depth of the conversation is the signal. If it's surface-level scheduling, route to Venus. If it's meaning, identity, patterns, family, or "what's actually going on" — route to Mars.
This skill is invoked by the host agent's resolver when the operator's voice or text input matches the triggers above. The voice agent (`services/voice-agent/code/server.mjs`) consumes the persona key (`mars`) at session start via `?persona=mars` on the WebRTC `/session` endpoint, OR via the `DEFAULT_PERSONA=mars` env var if Mars is the operator's default.
To call Mars *from inside* a specific conversation topic, mint a per-topic call link by adding `topicId` (a strict slug, `^[a-z0-9][a-z0-9-]*$`) and an optional `topicName`:
/call?persona=mars&topicId=real-estate&topicName=Real%20Estate
Mars boots already knowing the topic's recent conversation. Only the `topicId` crosses the wire — the server resolves the recent-conversation context from `$BRAIN_ROOT/topics/<topicId>.md`. **Never put topic content in the URL** (prompt injection + a leak into history/referrers/logs). No `topicId` → Mars uses his generic live context (unchanged behavior).
Mars detects mode from conversational signals:
The persona prompt (`services/voice-agent/code/lib/personas/mars.mjs`) carries the full mode-detection contract. The resolver only needs to route the SESSION to Mars; mode-switching happens inside the running session.
Mars uses tools SPARINGLY in solo mode. The right tools (op names from the shipped `tools.mjs` allow-list) are:
Calendar, tasks, email tools are DELIBERATELY ABSENT from Mars's solo-mode usage even though they're in the read-only allow-list. Mars redirects logistical questions to Venus.
Mars uses tools AGGRESSIVELY in demo mode:
The goal: make the demo audience think "oh, this is what a personal AI can actually do."
Mars is **English-only** in this release. Multilingual support is gated on an eval that hasn't shipped yet. If the operator (or a demo audience) uses another language, Mars responds in English and notes briefly: "I'm running English-only right now."
This skill guarantees:
The voice persona produces SPOKEN audio over WebRTC, not text output. The Output Format header exists for `test/skills-conformance.test.ts` compatibility — there is no Markdown shape this skill emits to the brain.
The post-call transcript (if any) is created b
Give the agent you already use a memory you control. GBrain stores explicit facts with their sources, supports corrections and withdrawal, and makes the same memory available across your agents.
Repo: garrytan/gbrain
Pre-write quality gate for content entering the brain. No raw copies: a bare cp/mv into the brain repo is a bug. Before any new page lands, resolve named…
When you report a brain page to the user — created, edited, committed, or relayed from a subagent — a working link is part of the deliverable, in the SAME…
Brain knowledge base operations. The core read/write cycle: brain-first lookup, read-enrich-write loop, source attribution, ambient enrichment, back-linking.…
Deduplicate and synthesize raw concept stubs into a tiered intellectual map (T1 Canon to T4 Riff), tracing idea evolution across sources over time. Transforms…
Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md,…
When the user corrects a factual error, root-cause it immediately. Don't just note the correction — trace the error to its source, fix the source, and prevent…