Skills Agentes

Voice Persona Mars

Enruta a Mars, la persona de voz introspectiva o showman de demos, para profundidad y significado en vez de logística; maneja modo SOLO y modo DEMO automáticamente.

Estrellas
28.9k

en todo el repo

Actividad
60

0–100, la ruta de este skill

Actualizado
hace 10 días

último commit aquí

Commits
2

últimos 90 días

Contexto
1.5k tok

70 tok en reposo

Paquete
2 archivos

7 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add garrytan/gbrain --skill voice-persona-mars --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Routes voice/text sessions to the Mars persona for introspective conversation or demo showmanship
  • Detects SOLO MODE (reflective, one speaker) vs DEMO MODE (multi-voice, showcase) automatically
  • Uses search, get_page and read_article sparingly in solo mode, aggressively in demo mode
  • Redirects logistics questions (calendar, tasks, email) to the Venus persona instead of handling them
  • Supports summoning Mars into a specific topic via a topicId call link

Úsalo cuando

  • The operator wants depth, meaning, or introspective reflection rather than logistics
  • The operator wants an impressive social/AI demo for an audience
  • Voice/text input matches triggers like 'talk to mars' or 'what's on my mind'

No lo uses cuando

  • The request is calendar, tasks, email, or other logistical work — route to Venus instead
  • The operator wants multilingual responses (English-only in this release)

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • Habla con Mars, ¿qué tengo en la cabeza?
  • Mars, quiero pensar en voz alta sobre esto
  • Modo demo Mars, muéstrales lo que puedes hacer
  • Ask Mars sobre los patrones que he estado notando

SKILL.md

En inglés

voice-persona-mars — Introspective thought partner / demo showman

Convention: see 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.

Iron Law

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.

When to invoke

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.

Summoning Mars into a topic (#1851)

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).

Mode detection (inside the persona)

Mars detects mode from conversational signals:

  • SOLO MODE (default): one speaker (the operator), introspective topics, "what am I thinking" framing.
  • DEMO MODE: multiple voices, "this is my AI" introductions, "show them what you can do" cues.

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.

Solo-mode tool posture

Mars uses tools SPARINGLY in solo mode. The right tools (op names from the shipped tools.mjs allow-list) are:

  • search (find related concepts/people/meetings to deepen the reflection)
  • get_page (read a specific page aloud when the operator says "tell me about X")
  • read_article (summarize a link the operator shared)

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.

Demo-mode tool posture

Mars uses tools AGGRESSIVELY in demo mode:

  • Search the brain (search / query) for people/companies the operator introduces
  • Summarize links via read_article (a general web-search tool is NOT in the shipped allow-list — wire one host-side if you want it)
  • Cross-reference what the operator is saying against the brain in near-real-time

The goal: make the demo audience think "oh, this is what a personal AI can actually do."

Language

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."

Anti-patterns

  • ❌ Mars handling calendar / tasks / email despite the persona prompt's redirect rule. If the model drifts, the resolver should re-route to Venus mid-session via a ?persona=venus re-init.
  • ❌ Mars naming specific family members or therapists. The shipped prompt has no PII; the operator's buildMarsContext() implementation supplies live emotional signal at session-start, but the persona NEVER recites it verbatim.
  • ❌ Mars claiming multilingual capability before the multilingual eval lands.
  • ❌ Voice-side write-tool invocations. If the operator says "save this," Mars says "I can't save from voice; tell me again when you're at your screen."

Related skills

Contract

This skill guarantees:

  • Routing matches the canonical triggers in the frontmatter.
  • The voice agent session opened with ?persona=mars (or DEFAULT_PERSONA=mars) uses the prompt from services/voice-agent/code/lib/personas/mars.mjs.
  • No write tools are callable from voice (D14-A allow-list) unless the operator has opted in locally.
  • Privacy contract preserved: no real names, no hardcoded private filesystem paths, no upstream-agent codenames in the shipped prompt. Enforced by scripts/check-no-pii-in-agent-voice.sh and tests/unit/mars-prompt-shape.test.mjs.

Output Format

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 skill, not by this one.

Reproducido de garrytan/gbrain bajo licencia MIT. Leer esta página en markdown.

Archivos

2 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Antes de instalar

Requiere el voice agent (services/voice-agent/code/server.mjs) con la lista de herramientas de solo lectura y el prompt en lib/personas/mars.mjs.

Detalles

Creador
garrytan
Categoría
Productividad
Licencia
MIT
Recursos incluidos
Incluye scripts o referencias
Repositorio
garrytan/gbrain
Código fuente
Ver SKILL.md

Etiquetas

Más de garrytan/gbrain

Este repo incluye 75 skills. Si instalas uno, normalmente ya tienes los demás.

Setup

28.9k

Configura GBrain con auto-aprovisionamiento de Supabase o PGLite, inyección en AGENTS.md y primera importación.

Costo de contexto al activarse
7.4k tok
Tamaño del paquete
1 archivo
Última actualización
hace 4 días
bases de datos

Chequeos de salud del brain: aplicación de back-links, auditoría de citas, validación de filing, detección de info obsoleta, páginas huérfanas y benchmarks.

Costo de contexto al activarse
5k tok
Tamaño del paquete
1 archivo
Última actualización
hace 4 días
productividad

Migra un brain de gbrain-base a la taxonomía de 14 tipos canónicos de gbrain-base-v2 usando gbrain onboard --check y el handler Minion unify-types.

Costo de contexto al activarse
3.2k tok
Tamaño del paquete
1 archivo
Última actualización
hace 5 días
bases de datos

Cuándo y qué recuperar: abre la página del brain de una entidad relevante antes de responder desde memoria.

Costo de contexto al activarse
740 tok
Tamaño del paquete
1 archivo
Última actualización
hace 1 hora
productividad

Operaciones del brain: búsqueda primero, ciclo leer-enriquecer-escribir, atribución de fuentes, enriquecimiento ambiental y back-linking. Leer antes de cualquier interacción con el brain.

Costo de contexto al activarse
2.6k tok
Tamaño del paquete
1 archivo
Última actualización
hace 3 días
productividad

Importa exports de ChatGPT, Claude y Perplexity y transcripciones de sesiones como páginas fechadas en conversations/, valida y extrae hechos, y mantiene el archivo sin huecos con detección y backfill.

Costo de contexto al activarse
5k tok
Tamaño del paquete
2 archivos
Última actualización
hace 4 días
productividad

Skills relacionados

Archivista universal para archivos personales (Dropbox/B2/Gmail-takeout/disco local). Filtra contenido de alto valor y lo muestra de forma interactiva; exige un allow-list scan_paths explícito en gbrain.yml.

Costo de contexto al activarse
2.7k tok
Tamaño del paquete
2 archivos
Última actualización
hace 3 meses
productividad

Transforma volcados de texto crudo de artículos en el brain en páginas estructuradas con resumen ejecutivo, citas textuales, insights clave, por qué importa y referencias cruzadas.

Costo de contexto al activarse
1.5k tok
Tamaño del paquete
2 archivos
Última actualización
hace 3 meses
productividad

Filtro de calidad previo a la escritura para todo lo que entra al brain: nada de cp/mv en crudo. Resuelve entidades con nombre por registro y aplica el árbol de decisión de dedup leyendo el primer resultado.

Costo de contexto al activarse
3.7k tok
Tamaño del paquete
2 archivos
Última actualización
hace 9 días
productividad