Agent skill · Audited from source
chat-with-anyone
skill · noizai/skillsLicence not declaredAudited 21 Oct 2026 · source 1fb4e9606256
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 1fb4e9606256 and observed network access and no hard-coded secrets. What it does: Chat with any real person or fictional character in their own voice by automatically finding their speech online, extracting a clean reference sample, and generating audio replies. Also supports generating a matching…
Cite
Cite this page
ModelsAtlas. “chat-with-anyone (noizai/skills)”. Retrieved 21 Oct 2026. https://modelsatlas.com/skills/noizai/chat-with-anyone
Trust audit
Audit 0.4.1 · source read 21 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkDeclared1 observation
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 1 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 2 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass, no license.
Findings (3)
LOWInventory / provenanceinv.no_license
- Why
- no LICENSE file and no repo licence
- Fix
- add a licence
LOWObfuscation / stealthobf.decode_call · scripts/voice_design.py:26
decoded = base64.b64decode(padded, validate=True)
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.decode_call · scripts/voice_design.py:191
audio_bytes = base64.b64decode(audio_b64)
- Why
- No further detail recorded for this rule.
- Fix
- —
Audit 0.4.1 · source sha 1fb4e9606256 · 21 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishernoizai GitHub organizationOwner of the repository this skill is read from
- Source foldernoizai/skills/skills/chat-with-anyoneThe exact folder we audited
- LicenceNot declaredAs the repository states it
- Commit pinned for this verdict1fb4e9606256A new audit runs when the source changes
- Repository statusNot archivedLast push 23 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Chat with any real person or fictional character in their own voice by automatically finding their speech online, extracting a clean reference sample, and generating audio replies. Also supports generating a matching…
---
name: chat-with-anyone
description: Chat with any real person or fictional character in their own voice by automatically finding their speech online, extracting a clean reference sample, and generating audio replies. Also supports generating a matching voice from an uploaded image. Use when the user says "我想跟xxx聊天", "你来扮演xxx跟我说话", "让xxx给我讲讲这篇文章", "我想跟图片中的人说话", or similar.
permissions:
- network
- filesystem
metadata: {"openclaw": {"primaryEnv": "NOIZ_API_KEY"}}
---
# Chat with Anyone
Clone a real person's voice from online video, or design a voice from a photo, then roleplay as that person with TTS.
## Important: Ethical Use & Copyright
This skill synthesizes speech that imitates real voices. Before proceeding, the agent **must**:
1. **Never impersonate** someone to deceive, defraud, or harass.
2. **Only use publicly available media** (public speeches, interviews, press conferences) as reference audio.
3. **Inform the user** that generated audio is synthetic and should not be presented as genuine recordings.
4. **Decline requests** that target private individuals who have not consented, or that are clearly intended for deception, harassment, or defamation.
If the user's intent appears harmful, refuse politely and explain why.
## Prerequisites
| Dependency | Type | How to verify |
|-----------|------|---------------|
| `ffmpeg` | System binary | `ffmpeg -version` |
| `yt-dlp` | System binary | `yt-dlp --version` |
| `tts` skill | Cursor skill | `ls skills/tts/scripts/tts.py` |
| `NOIZ_API_KEY` | Env var or file | `python3 skills/tts/scripts/tts.py config --show` |
**Before the first run**, verify all dependencies are present:
```bash
ffmpeg -version && yt-dlp --version && ls skills/tts/scripts/tts.py
```
If `yt-dlp` is missing, install it:
```bash
uv pip install yt-dlp
```
If the Noiz API key is not configured:
```bash
python3 skills/tts/scripts/tts.py config --set-api-key YOUR_KEY
```
## Mode Selection
- **User names a person** (real or fictional) --> Workflow A
- **User provides an image**, person is unrecognizable --> Workflow B
- **User provides an image**, person is a recognizable public figure --> Workflow A (real voice is more authentic)
- **Multiple people in image** --> Ask which person first
---
## Workflow A: Name-based (voice from online video)
Track progress with this checklist:
```
- [ ] A1. Disambiguate character
- [ ] A2. Find reference video
- [ ] A3. Download audio + subtitles
- [ ] A4. Extract best reference segment
- [ ] A5. Generate speech
```
### A1. Disambiguate Character
If ambiguous (e.g. "US President", "Spider-Man actor"), ask the user to specify the exact person before proceeding.
### A2. Find a Reference Video
Use web search to find a YouTube (or Bilibili) video of the person speaking clearly. Best candidates: interviews, speeches, press conferences. Avoid videos with heavy background music.
Search queries to try:
- `{CHARACTER_NAME} interview` / `{CHARACTER_NAME} 采访`
- `{CHARACTER_NAME} speech` / `{CHARACTER_NAME} 演讲`
- `{CHARACTER_NAME} press conference`
### A3. Download Audio and Subtitles
```bash
mkdir -p "tmp/chat_with_anyone/{CHARACTER_NAME}"
yt-dlp -x --audio-format mp3 \
--write-subs --write-auto-subs --sub-langs "en,zh-Hans" \
--convert-subs srt \
-o "tmp/chat_with_anyone/{CHARACTER_NAME}/%(title)s.%(ext)s" \
"{VIDEO_URL}"
```
After download, list the output directory to identify the audio file and SRT subtitle file:
```bash
ls tmp/chat_with_anyone/{CHARACTER_NAME}/
```
Expected output: a `.mp3` audio file and one or more `.srt` subtitle files.
**If no subtitle files appear**: try a different video that has auto-generated captions, or adjust `--sub-langs` for the target language.
### A4. Extract Best Reference Segment
Use the automated extraction script — it parses the SRT, finds the densest 3-12 second speech window, and extracts it as a WAV:
```bash
python3 skills/chat-with-anyone/scripts/extract_ref_segment.py \
--srt "tmp/chat_with_anyone/{CHARACTER_NAME}/{SRT_FILE}" \
--audio "tmp/chat_with_anyone/{CHARACTER_NAME}/{AUDIO_FILE}" \
-o "tmp/chat_with_anyone/{CHARACTER_NAME}/ref.wav"
```
The script prints the selected time range and saves the reference WAV. Verify the output exists and is non-empty before proceeding.
**If the script reports no suitable segment**: try `--min-duration 2` for shorter clips, or download a different video.
### A5. Generate Speech and Roleplay
Write a response in character, then synthesize it:
```bash
python3 skills/tts/scripts/tts.py \
-t "{RESPONSE_TEXT}" \
--ref-audio "tmp/chat_with_anyone/{CHARACTER_NAME}/ref.wav" \
-o "tmp/chat_with_anyone/{CHARACTER_NAME}/reply.wav"
```
Present the generated audio file to the user along with the text. For subsequent messages, reuse the same `--ref-audio` path.
---
## Workflow B: Image-based (voice from photo)
Track progress with this checklist:
```
- [ ] B1. Analyze image
- [ ] B2. Design voice
- [ ] B3. Preview (optional)
- [ ] B4. Generate speech
```
### B1. Analyze the Image
Use your vision capability to examine the image:
1. **If the person is a recognizable public figure** --> switch to Workflow A for authentic voice.
2. **If unrecognizable**, produce a voice description covering:
- Gender (male / female)
- Approximate age (e.g. "around 30 years old")
- Apparent demeanor (e.g. cheerful, authoritative, gentle)
- Contextual cues (e.g. suit --> professional tone; athletic outfit --> energetic)
### B2. Design the Voice
Pass both the image and the description to the voice-design script:
```bash
python3 skills/chat-with-anyone/scripts/voice_design.py \
--picture "{IMAGE_PATH}" \
--voice-description "{VOICE_DESCRIPTION}" \
-o "tmp/chat_with_anyone/voice_design"
```
The script outputs:
- Detected voice features (printed to stdout)
- Preview audio files in the output directory
- `voice_id.txt` containing the best voice ID
Read the voice ID:
```bash
cat tmp/chat_with_anyone/voice_design/voicExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 1fb4e96
uv pip install yt-dlp
git clone https://github.com/noizai/skills git -C skills checkout 1fb4e9606256
Commands as the repository documents them: shown, never run by us. Our verdict covers commit 1fb4e9606256 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
| OpenClaw | Mentioned in its text, not tested | Skills for OpenClaw · About OpenClaw |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
1fb4e9606256
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/noizai/chat-with-anyone/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
obra/superpowers
Use when creating new skills, editing existing skills, or verifying skills work before deployment
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
Add this badge to your README
[](https://modelsatlas.com/skills/noizai/chat-with-anyone/)
<a href="https://modelsatlas.com/skills/noizai/chat-with-anyone/"><img src="https://modelsatlas.com/skills/noizai/chat-with-anyone/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about chat-with-anyone
What does the chat-with-anyone skill do?
Is chat-with-anyone safe to install?
What can chat-with-anyone access on my machine?
Which assistants does chat-with-anyone work with?
How current is this page?
Sources
- github.com/noizai/skills/tree/main/skills/chat-with-anyone — the audited source at commit 1fb4e9606256 and every finding aboveObserved · 21 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the chat-with-anyone skill do?
- Is chat-with-anyone safe to install?
- What can chat-with-anyone access on my machine?