{"id":"37f3e82d-9110-475a-819b-8ee7f29f6211","shortId":"bhWFV5","kind":"skill","title":"pipecat-friday-agent","tagline":"Build a low-latency, Iron Man-inspired tactical voice assistant (F.R.I.D.A.Y.) using Pipecat, Gemini, and OpenAI.","description":"# Pipecat Friday Agent\n\n## Overview\n\nThis skill provides a blueprint for building **F.R.I.D.A.Y.** (Replacement Integrated Digital Assistant Youth), a local voice assistant inspired by the tactical AI from the Iron Man films. It uses the **Pipecat** framework to orchestrate a low-latency pipeline:\n- **STT**: OpenAI Whisper (`whisper-1`) or `gpt-4o-transcribe`\n- **LLM**: Google Gemini 2.5 Flash (via a compatibility shim)\n- **TTS**: OpenAI TTS (`nova` voice)\n- **Transport**: Local Audio (Hardware Mic/Speakers)\n\n## When to Use This Skill\n\n- Use when you want to build a real-time, conversational voice agent.\n- Use when working with the Pipecat framework for pipeline-based AI.\n- Use when you need to integrate multiple providers (Google and OpenAI) into a single voice loop.\n- Use when building Iron Man-themed or tactical-themed voice applications.\n\n## How It Works\n\n### Step 1: Install Dependencies\n\nYou will need the Pipecat framework and its service providers installed:\n```bash\npip install pipecat-ai[openai,google,silero] python-dotenv\n```\n\n### Step 2: Configure Environment\n\nCreate a `.env` file with your API keys:\n```env\nOPENAI_API_KEY=your_openai_key\nGOOGLE_API_KEY=your_google_key\n```\n\n### Step 3: Run the Agent\n\nExecute the provided Python script to start the interface:\n```bash\npython scripts/friday_agent.py\n```\n\n## Core Concepts\n\n### Pipeline Architecture\nThe agent follows a linear pipeline: `Mic -> VAD -> STT -> LLM -> TTS -> Speaker`. This allows for granular control over each stage, unlike end-to-end speech-to-speech models.\n\n### Google Compatibility Shim\nSince Google's Gemini API has a different message format than OpenAI's standard (which Pipecat aggregators expect), the script includes a `GoogleSafeContext` and `GoogleSafeMessage` class to bridge the gap.\n\n## Best Practices\n\n- ✅ **Use Silero VAD**: It is robust for local hardware and prevents background noise from triggering the LLM.\n- ✅ **Concise Prompts**: Tactical agents should give short, data-dense responses to minimize latency.\n- ✅ **Sample Rate Match**: OpenAI TTS outputs at 24kHz; ensure your `audio_out_sample_rate` matches to avoid high-pitched or slowed audio.\n- ❌ **No Polite Fillers**: Avoid \"Hello, how can I help you today?\" Instead, use \"Systems nominal. Ready for commands.\"\n\n## Troubleshooting\n\n- **Problem:** Audio is choppy or delayed.\n  - **Solution:** Check your `OUTPUT_DEVICE` index. Run a script like `test_audio_output.py` to find the correct hardware index for your OS.\n- **Problem:** \"Validation error\" for message format.\n  - **Solution:** Ensure the `GoogleSafeContext` shim is correctly translating OpenAI-style dicts to Gemini-style schema.\n\n## Related Skills\n\n- `@voice-agents` - General principles of voice AI.\n- `@agent-tool-builder` - Add tools (Search, Lights, etc.) to your Friday agent.\n- `@llm-architect` - Optimizing the LLM layer.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["pipecat","friday","agent","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-pipecat-friday-agent","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/pipecat-friday-agent","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34616 github stars · SKILL.md body (3,180 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T00:51:23.547Z","embedding":null,"createdAt":"2026-04-18T21:42:23.548Z","updatedAt":"2026-04-23T00:51:23.547Z","lastSeenAt":"2026-04-23T00:51:23.547Z","tsv":"'-1':70 '1':158 '2':185 '2.5':79 '24khz':333 '3':210 '4o':74 'add':431 'agent':4,25,112,213,231,315,421,428,439 'agent-tool-build':427 'aggreg':279 'ai':48,124,177,426 'allow':243 'api':194,198,204,267 'applic':153 'architect':442 'architectur':229 'ask':480 'assist':16,38,43 'audio':92,336,348,369 'avoid':342,352 'background':306 'base':123 'bash':172,223 'best':293 'blueprint':31 'boundari':488 'bridg':290 'build':5,33,105,143 'builder':430 'check':375 'choppi':371 'clarif':482 'class':288 'clear':455 'command':366 'compat':83,261 'concept':227 'concis':312 'configur':186 'control':246 'convers':110 'core':226 'correct':388,406 'creat':188 'criteria':491 'data':320 'data-dens':319 'delay':373 'dens':321 'depend':160 'describ':459 'devic':378 'dict':411 'differ':270 'digit':37 'dotenv':183 'end':252,254 'end-to-end':251 'ensur':334,401 'env':190,196 'environ':187,471 'environment-specif':470 'error':396 'etc':435 'execut':214 'expect':280 'expert':476 'f.r.i.d.a.y':17,34 'file':191 'filler':351 'film':53 'find':386 'flash':80 'follow':232 'format':272,399 'framework':58,119,166 'friday':3,24,438 'gap':292 'gemini':20,78,266,414 'gemini-styl':413 'general':422 'give':317 'googl':77,133,179,203,207,260,264 'googlesafecontext':285,403 'googlesafemessag':287 'gpt':73 'gpt-4o-transcribe':72 'granular':245 'hardwar':93,303,389 'hello':353 'help':357 'high':344 'high-pitch':343 'includ':283 'index':379,390 'input':485 'inspir':13,44 'instal':159,171,174 'instead':360 'integr':36,130 'interfac':222 'iron':10,51,144 'key':195,199,202,205,208 'latenc':9,64,325 'layer':446 'light':434 'like':383 'limit':447 'linear':234 'llm':76,239,311,441,445 'llm-architect':440 'local':41,91,302 'loop':140 'low':8,63 'low-lat':7,62 'man':12,52,146 'man-inspir':11 'man-them':145 'match':328,340,456 'messag':271,398 'mic':236 'mic/speakers':94 'minim':324 'miss':493 'model':259 'multipl':131 'need':128,163 'nois':307 'nomin':363 'nova':88 'openai':22,67,86,135,178,197,201,274,329,409 'openai-styl':408 'optim':443 'orchestr':60 'os':393 'output':331,377,465 'overview':26 'permiss':486 'pip':173 'pipecat':2,19,23,57,118,165,176,278 'pipecat-ai':175 'pipecat-friday-ag':1 'pipelin':65,122,228,235 'pipeline-bas':121 'pitch':345 'polit':350 'practic':294 'prevent':305 'principl':423 'problem':368,394 'prompt':313 'provid':29,132,170,216 'python':182,217,224 'python-dotenv':181 'rate':327,339 'readi':364 'real':108 'real-tim':107 'relat':417 'replac':35 'requir':484 'respons':322 'review':477 'robust':300 'run':211,380 'safeti':487 'sampl':326,338 'schema':416 'scope':458 'script':218,282,382 'scripts/friday_agent.py':225 'search':433 'servic':169 'shim':84,262,404 'short':318 'silero':180,296 'sinc':263 'singl':138 'skill':28,99,418,450 'skill-pipecat-friday-agent' 'slow':347 'solut':374,400 'source-sickn33' 'speaker':241 'specif':472 'speech':256,258 'speech-to-speech':255 'stage':249 'standard':276 'start':220 'step':157,184,209 'stop':478 'stt':66,238 'style':410,415 'substitut':468 'success':490 'system':362 'tactic':14,47,150,314 'tactical-them':149 'task':454 'test':474 'test_audio_output.py':384 'theme':147,151 'time':109 'today':359 'tool':429,432 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'transcrib':75 'translat':407 'transport':90 'treat':463 'trigger':309 'troubleshoot':367 'tts':85,87,240,330 'unlik':250 'use':18,55,97,100,113,125,141,295,361,448 'vad':237,297 'valid':395,473 'via':81 'voic':15,42,89,111,139,152,420,425 'voice-ag':419 'want':103 'whisper':68,69 'work':115,156 'youth':39","prices":[{"id":"88c414c7-6423-40f0-81f2-691f257e7eef","listingId":"37f3e82d-9110-475a-819b-8ee7f29f6211","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:42:23.548Z"}],"sources":[{"listingId":"37f3e82d-9110-475a-819b-8ee7f29f6211","source":"github","sourceId":"sickn33/antigravity-awesome-skills/pipecat-friday-agent","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/pipecat-friday-agent","isPrimary":false,"firstSeenAt":"2026-04-18T21:42:23.548Z","lastSeenAt":"2026-04-23T00:51:23.547Z"}],"details":{"listingId":"37f3e82d-9110-475a-819b-8ee7f29f6211","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"pipecat-friday-agent","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34616,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"32783b3c3076699edff0b3163d6ac93e51840b5a","skill_md_path":"skills/pipecat-friday-agent/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/pipecat-friday-agent"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"pipecat-friday-agent","description":"Build a low-latency, Iron Man-inspired tactical voice assistant (F.R.I.D.A.Y.) using Pipecat, Gemini, and OpenAI."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/pipecat-friday-agent"},"updatedAt":"2026-04-23T00:51:23.547Z"}}