本文へ移動
cccskills
無料GitHub で公開

voice-persona-mars

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.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md6.0 KB
  • routing-eval.jsonl938 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Verify a research claim or academic citation by tracing it through publication → methodology → raw data → independent replication. Routes through perplexity-research for the actual web lookup, then formats results as a citation-checked brain page. Use when a book/article/conversation cites a study and you want to confirm the claim is real, replicated, and accurately characterized.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月13日 更新

Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump). Filters for high-value content (the user's own writing, ideas, relationships) and surfaces it interactively. REFUSES TO RUN without an explicit gbrain.yml `archive-crawler.scan_paths:` allow-list.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月13日 更新

Transform raw article text dumps in the brain into structured pages with executive summary, verbatim quotes, key insights, why-it-matters, and cross-references. Replaces walls-of-text with quotable, actionable brain pages.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月13日 更新

ask-user

無料

Reusable pattern for presenting the user with explicit choices and gating execution until they respond. Used by other skills when a decision point requires human input before proceeding. Platform-agnostic — works on Telegram (inline buttons), Discord, CLI, or any agent with a message tool.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月13日 更新

Feed and whole-publication ingestion: turn an entire blog, newsletter, or RSS/Atom archive into brain source pages. Covers feed discovery, pagination walking, normalization to a common article shape, canonical-URL dedup, idempotent re-runs, 429 pacing, and empty-husk repair. This is the PUBLICATION-scope skill — a single article URL routes to idea-ingest instead. Per-article enrichment hands off to the brain-ingest-gate skill; public posts only (gated content is skipped, never worked around).

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月13日 更新

Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's life, NOT a therapist assigning homework. The reader decides what to do about it. Layout is a top-aligned HTML table or stacked sections, never a bare markdown pipe table (pipe tables center-misalign uneven columns). Output is a single brain page at media/books/<slug>-personalized.md plus an optional PDF via brain-pdf.

日本語の概要は準備中です。原文の説明を表示しています。

garrytan/gbrain3.1万2026年10月13日 更新

garrytan のスキルをすべて見る

このスキルの問題を報告する