一键导入
vapi
Voice AI integration with Vapi. Enables inbound/outbound phone calls with AI voice agents that can check calendars and book appointments.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Voice AI integration with Vapi. Enables inbound/outbound phone calls with AI voice agents that can check calendars and book appointments.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
A Zo Computer skill for adding Humation avatars to agent products. It covers installing Humation npm packages into target projects, React integration, Core SVG rendering, static SVG generation, browser ESM usage in zo.space page routes, and legacy Humation SVG API compatibility.
Bootstraps the Clarion Intelligence System on Zo Computer. Run this once after installing — clones the source repo, installs the ai_buffett_zo Python library, creates the workspace data tree under /home/workspace/clarion/ (auto-detected on Zo), auto-installs all nine sibling clarion-* skills (regime-check, sec-research, single-stock-eval, expected-return-calc, value-screener, thesis-write, thesis-monitor, watchlist-update, living-letter-update) under /home/workspace/Skills/, and registers the sec-indexer background service. Idempotent (safe to re-run). The only manual step is one batched human checkpoint near the end (SEC EDGAR name + email, and creating the ZO_API_KEY secret). Persona routing for Clarion is opt-in via a separate prompt after install ("install Clarion personas and routing rules"). Use when the user asks to "set up Clarion" or "install Clarion".
Monitor the health of every active thesis in ~/clarion/theses/. For each one — refresh price, recompute Risk Environment from the current regime, check kill conditions (read from the file's status column), aggregate to an Overall score, recommend an action (EXIT / REDUCE / HOLD / ADD), and write the updated scores + history back to the thesis file. Produces a dashboard surfacing what needs attention. Use when the user asks "monitor my theses", "thesis health check", "any kill conditions triggered?", "what's the action on <TICKER>", or as part of a daily / weekly review. Requires clarion-setup to have been run.
Scaffold a new thesis document for a ticker in the canonical Clarion thesis format. Pre-fills the YAML metadata block, opens the History with an OPENED entry, and (when filings are indexed) seeds the "Why I Believe It" evidence section with draft citations from the Buffett-lens search. The user fills in the actual prose. Outputs a markdown file at ~/clarion/theses/{TICKER}.md. Use when the user says "write a thesis on <TICKER>", "scaffold a thesis for <TICKER>", "draft a thesis for <TICKER>", or after clarion-single-stock-eval returns an Add verdict and the user wants to formalize the position. Requires clarion-setup to have been run.
Compute the equity-vs-T-bill allocation for the Value bucket (50% of portfolio). Implements the Expected-Return Framework — looks up the historical 10-year forward return from the S&P 500 Shiller CAPE, computes the regime-adjusted hurdle (rf + regime premium), and produces a 5-tier verdict (STRONG EQUITY / LEAN EQUITY / NEUTRAL / LEAN T-BILLS / MAXIMUM T-BILLS) with recommended Value-bucket equity/T-bill split. Use when the user asks "should I be in stocks or bonds right now?", "what's the equity hurdle?", "is the market overvalued?", "what's the right Value bucket allocation?", or before adding any new equity to the Value bucket. Requires clarion-setup to have been run.
Update the annual investor letter at ~/clarion/letters/{YEAR}-letter.md with a new quarterly section, or finalize it at year-end. Auto-fills the system-deterministic parts (regime snapshot, thesis health table, portfolio bucket positions from active theses); marks the narrative-heavy parts (What We Did, What We Learned, Year in Context, Mistakes & Lessons, Looking Ahead) as [TODO] for the user to write with chat assistance. Append-only — refuses to overwrite an already-populated quarter without --force. Use when the user asks "update the letter", "quarterly letter update", "finalize the letter", or "write the {Q1/Q2/Q3/Q4} entry". Requires clarion-setup to have been run.
| name | vapi |
| description | Voice AI integration with Vapi. Enables inbound/outbound phone calls with AI voice agents that can check calendars and book appointments. |
| compatibility | Created for Zo Computer |
| metadata | {"author":"anonymous"} |
AI-powered voice assistant that handles phone calls, checks calendar availability, and books appointments.
Add these secrets in Settings → Developers:
Required:
VAPI_PRIVATE_KEY=your-private-key
Recommended:
VAPI_OWNER_PHONE=+15551234567 # Your phone number (auto-authenticated)
VAPI_OWNER_NAME=Your Name # Used in prompts
VAPI_CALENDAR_ID=you@gmail.com # Google Calendar for bookings
Optional:
VAPI_WORK_CALENDAR_ID=work@company.com # Secondary calendar to check
VAPI_ASSISTANT_NAME=Matt # Default: "Assistant"
VAPI_OWNER_CONTEXT=CEO of Acme Corp # Extra context about you
VAPI_TIMEZONE=America/Los_Angeles # Default timezone
VAPI_SECURITY_PIN=1234 # DTMF PIN for non-owner callers
VAPI_VOICE_ID=7EzWGsX10sAS4c9m9cPf # ElevenLabs voice ID
VAPI_VOICE_MODEL=eleven_flash_v2_5 # ElevenLabs model
VAPI_LLM_MODEL=claude-sonnet-4-20250514 # LLM for responses
VAPI_WEBHOOK_PORT=4242 # Webhook server port
VAPI_DB_PATH=/path/to/calls.duckdb # Call history database
GOOGLE_TOKEN_PATH=/path/to/token.json # Google OAuth token
For calendar features, you need Google OAuth credentials. Use the google-direct-oauth skill or connect via Settings → Integrations.
# Register the webhook as a Zo service
zo register-service --label vapi-webhook --protocol http --local-port 4242 \
--workdir /home/workspace/Skills/zo-vapi/scripts \
--entrypoint "bun webhook.ts"
In your Vapi dashboard:
assistant-request, tool-calls, end-of-call-report# List your phone numbers and assistants
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts phone list
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts assistant list
# Attach (creates dynamic assistant via webhook)
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts phone attach <phone-id> <assistant-id>
# Basic call
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567
# With purpose (generates contextual voicemail)
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567 --purpose "Following up on the meeting"
# With custom voicemail
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567 --voicemail "Hey, just wanted to confirm tomorrow."
# With context for the assistant
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567 --context "Discuss Q4 planning"
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts assistant list
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts assistant create
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts calls
# Or query directly
duckdb /home/workspace/Datasets/vapi-calls/data.duckdb -c "SELECT * FROM calls ORDER BY started_at DESC LIMIT 10"
assistant-request to webhookend-of-call-report saves transcript and emails recapcheckAvailability: Queries Google Calendar freeBusy APIcreateCalendarEvent: Books meetings with proper timezone handlingBrowse voices at ElevenLabs and set:
VAPI_VOICE_ID=your-chosen-voice-id
Vapi supports multiple providers. Set:
VAPI_LLM_MODEL=claude-sonnet-4-20250514 # or gpt-4o, etc.
vapi.tsThe scripts/vapi.ts CLI has several hardcoded values that should be updated to match your identity and preferences. While environment variables handle API keys and some config, the following are embedded directly in the script:
Assistant Identity (createAssistant function):
name: "Matt" — Change to your assistant's namefirstMessage: "Hey, this is Matt..." — The greeting callers hear firstendCallMessage: "Alright, talk to you later!" — Said when hanging upSystem Prompt (createAssistant → model.messages):
"You are Matt, a helpful assistant for Nick" — Update both names"CEO and Co-Founder of PeakMetrics" — Replace with your own role/company"PeakMetrics is a narrative intelligence platform..." — Replace with your company descriptionVoice (createAssistant → voice):
voiceId: "pwMBn0SsmN1220Aorv15" — Hardcoded ElevenLabs voice ID (overrides VAPI_VOICE_ID env var for assistant create)Voicemail Messages (appear in multiple places):
createAssistant: "Hey, this is Matt calling for Nick..."updateAssistant: Same hardcoded voicemail messagegenerateVoicemailMessage: Default and purpose-based voicemail templates both reference "Matt" and "Nick"Tip: Search for
MattandNickin the file to find all instances that need updating. There are currently 6+ references to "Matt" and 4+ references to "Nick" scattered across the assistant config, voicemail templates, and system prompt.
Add new tools by modifying webhook.ts:
assistant-request responsetool-calls section