Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

chat-with-anyone

skill · noizai/skillsLicence not declaredAudited 21 Oct 2026 · source 1fb4e9606256

★ 530pushed 23 days ago
✓SAFEGrade B · 89/100 · 21 Oct 2026 · 1fb4e96
530repo stars · whole noizai/skills

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…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
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

Trust score89/100✓SAFE B
0 critical0 high0 medium3 low0 info

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

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS1
L1 Static sourceSecrets, path traversal, supply chain, hidden codePASS2
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass, no license.

Findings (3)

LOWInventory / provenanceinv.no_license
F-13 Inventory / provenanceCWE-1104Layer L0
Why
no LICENSE file and no repo licence
Fix
add a licence
LOWObfuscation / stealthobf.decode_call · scripts/voice_design.py:26
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
decoded = base64.b64decode(padded, validate=True)
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · scripts/voice_design.py:191
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
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/voic

Excerpt, 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

Download folder ↗
uv pip install yt-dlp

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

AgentStatusMore
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✓SAFE B 89 / 100

    first audit · source 1fb4e9606256

README badge

For maintainers · shows the latest audit

ModelsAtlas: SAFE BMODELSATLASSAFE · B
[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/noizai/chat-with-anyone/badge.svg)](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

Add this badge to your README

[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/noizai/chat-with-anyone/badge.svg)](https://modelsatlas.com/skills/noizai/chat-with-anyone/)

Questions about chat-with-anyone

What does the chat-with-anyone skill do?
Allow your 🦞 bot to Shout, Speak, with "human" vibe
Is chat-with-anyone safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can chat-with-anyone access on my machine?
The audit observed that it reaches the network. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does chat-with-anyone work with?
Its documentation mentions cursor and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (1fb4e9606256), read on 2026-10-21. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

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.