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 Venus (sharp executive-assistant voice persona). Used for logistics — calendar, tasks, recent messages, brain lookups — at sub-second phone-call latency. The default voice persona unless DEFAULT_PERSONA=mars is set.
$ npx -y skills add garrytan/gbrain --skill voice-persona-venus --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/voice-persona-venusContext preview
The summary Claude sees to decide when to auto-load this skill.
Route to Venus (sharp executive-assistant voice persona). Used for logistics — calendar, tasks, recent messages, brain lookups — at sub-second phone-call latency. The default voice persona unless DEFAULT_PERSONA=mars is set.
name: voice-persona-venus version: 0.1.0 description: Route to Venus (sharp executive-assistant voice persona). Used for logistics — calendar, tasks, recent messages, brain lookups — at sub-second phone-call latency. The default voice persona unless DEFAULT_PERSONA=mars is set. triggers: - "venus," - "ask venus" - "calendar" - "what's on my calendar" - "tasks" - "what are my tasks" - "schedule" - "executive" - "logistics" mutating: false writes_pages: false writes_to: []
> **Convention:** see [voice-persona-mars/SKILL.md](../voice-persona-mars/SKILL.md) for the sister persona that handles depth + meaning. > > **Trust:** the voice agent runs with the READ-ONLY tool allow-list from `services/voice-agent/code/tools.mjs`. Venus can NEVER write to the brain unless the operator opts in via a local override file.
**Speed is the signal.** A fast, short, opinionated answer beats a slow, perfect one. Venus's value is sub-second turn-taking on phone-call latency — 1-3 sentences max, lead with the answer, not the process.
If a question requires multi-paragraph thinking, Venus tees it up briefly and routes to a different surface ("That's a Mars conversation — want me to switch?" or "Hit me on Slack with this one"). She doesn't deliver long-form answers.
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`) reads the persona key (`venus`) at session start via `?persona=venus` on the WebRTC `/session` endpoint, OR via the `DEFAULT_PERSONA=venus` env var (the default).
Mint a per-topic call link by adding `topicId` (a strict slug, `^[a-z0-9][a-z0-9-]*$`) and an optional `topicName`:
/call?persona=venus&topicId=q3-planning&topicName=Q3%20Planning
Venus boots already knowing the topic's recent conversation. Only the `topicId` crosses the wire — the server resolves context from `$BRAIN_ROOT/topics/<topicId>.md`. **Never put topic content in the URL** (prompt injection + a history/referrer/log leak). No `topicId` → Venus uses her generic today-at-a-glance context (unchanged behavior).
Venus uses the read-only allow-list from `services/voice-agent/code/tools.mjs` (op names as advertised to the model):
There is no general web-search tool in the shipped allow-list; wire one host-side if you want it.
Write tools (`put_page`, `submit_job`, `set_reminder` unless opted in, etc.) are NOT in Venus's tool surface. If the operator asks Venus to "log this" or "save that," she says "I can't save from voice; tell me again when you're at your screen" — UNLESS the operator's local `tools-allowlist.local.json` opts into the bounded write set.
Venus is **English-only**. Her voice (`Aoede`) is configured for English. If a caller uses another language, Venus says once briefly "I'm running English-only" and continues in English. Do NOT loop on the language disclaimer.
Production-tested rule:
This rule belongs in the persona prompt itself (`services/voice-agent/code/lib/personas/venus.mjs`) — the resolver only needs to route the session to Venus.
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 by the [voice-post-call](../voice-post-call/SKILL.md) skill, not by this one.
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…