chat-with-anyone — Claude Code skill: speak in anyone's voice
The skill finds a person's speech in public video, pulls a clean reference clip and voices replies in that voice. A second mode builds a voice from a photo.
npx skills add NoizAI/skills --skill chat-with-anyone -a claude-codeWhat chat-with-anyone does
Two workflows. Name a person and the agent searches for a video of them talking, downloads the audio and subtitles, then extract_ref_segment.py picks the densest 3-12 second window and saves it as ref.wav. The reply is written in character and synthesized through skills/tts/scripts/tts.py with that same file as the reference. Hand it an image instead and the agent describes a voice from appearance, runs voice_design.py, and reads the chosen ID from voice_id.txt.
Check the dependencies before the first run: ffmpeg, yt-dlp, the tts skill and NOIZ_API_KEY. Set the key with python3 skills/tts/scripts/tts.py config --set-api-key YOUR_KEY. Missing yt-dlp? Install it with uv pip install yt-dlp. No key means no audio, and a video without captions gives the extractor nothing to work with — pick another clip or drop --min-duration to 2.
The skill carries its own ethical rules: reference audio comes from public speeches, interviews and press conferences, and the agent has to tell you the output is synthetic. Requests aimed at private people without consent, or at deception, get refused. Worth knowing if you plan to share the result.
What it helps with
- voice an agent's reply in a specific person's voice
- build a reference sample from an interview or speech
- cut a clean segment out of a captioned video
- design a voice from a photo when the person is unrecognizable
- keep a roleplay dialogue in one consistent voice
Example prompts for the agent
- I want to talk to this person — find a speech of theirs and answer in their voice
- Describe the voice from this photo and voice the reply
- Have them read this article to me out loud
How to install chat-with-anyone
1Skills CLI (Vercel)
npx skills add NoizAI/skills --skill chat-with-anyone -a claude-code2Manually: put the files in place
~/.claude/skills/chat-with-anyone/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/chat-with-anyone/
1Skills CLI (Vercel)
npx skills add NoizAI/skills --skill chat-with-anyone -a codex2Manually: put the files in place
.agents/skills/chat-with-anyone/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add NoizAI/skills --skill chat-with-anyone -a cursor2Manually: put the files in place
.cursor/skills/chat-with-anyone/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install NoizAI/skills chat-with-anyone2Manually: put the files in place
.github/skills/chat-with-anyone/SKILL.md1Skills CLI (Vercel)
npx skills add NoizAI/skills --skill chat-with-anyone -a gemini-cli2Platform CLI
gemini skills install https://github.com/NoizAI/skills --path skills/chat-with-anyoneManually: put the files in place
.devin/skills/chat-with-anyone/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add NoizAI/skills --skill chat-with-anyone -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about chat-with-anyone
How do I install chat-with-anyone in Claude?
Run npx skills add NoizAI/skills --skill chat-with-anyone -a claude-code. The skill lands at ~/.claude/skills/chat-with-anyone/SKILL.md.
What does chat-with-anyone do?
It finds a person's speech in public video, extracts a clean reference clip and voices replies in that voice. The other mode builds a voice from an uploaded image.
What do I need for it to work?
ffmpeg, yt-dlp, the tts skill and NOIZ_API_KEY. Set the key with python3 skills/tts/scripts/tts.py config --set-api-key YOUR_KEY.