Agent Skills

characteristic-voice

videonoizai2.8K installs

Use this skill whenever the user wants speech to sound more human, companion-like, or emotionally expressive. Triggers include: any mention of 'say like', 'talk like', 'speak like', 'companion voice', 'comfort me', 'cheer me up', 'sound more human', 'good night voice', 'good morning voice', or requests to add fillers, emotion, or personality to generated speech. Also use when the user wants to mimic a specific character's voice, apply speaking style presets (goodnight, morning, comfort, celebrat

Install

npx skills add https://github.com/noizai/skills --skill characteristic-voice
SKILL.md

characteristic-voice

Make your AI agent sound like a real companion — one who sighs, laughs, hesitates, and speaks with genuine feeling.

Credentials

Variable Required Description
NOIZ_API_KEY Yes if using Noiz backend API key from developers.noiz.ai. Not needed if using the local Kokoro backend.

The script saves a normalised copy of the key to ~/.noiz_api_key (mode 600) for convenience. To set it:

bash skills/characteristic-voice/scripts/speak.sh config --set-api-key YOUR_KEY

Prerequisites

The included speak.sh script requires curl and python3 at runtime. Depending on which backend and features you use, you may also need:

Tool When needed Install hint
curl, python3 Always (core script) Usually pre-installed
kokoro-tts Kokoro (local/offline) backend uv tool install kokoro-tts
yt-dlp Downloading reference audio for voice cloning github.com/yt-dlp/yt-dlp
ffmpeg Trimming reference audio clips ffmpeg.org
rg (ripgrep) Searching subtitle files github.com/BurntSushi/ripgrep

None of these are installed by the skill itself — provision them manually in your environment.

Privacy & Data Transmission

  • Noiz backend: When using the Noiz backend, the text you speak and any reference audio you provide are sent to https://noiz.ai/v1. If you supply --ref-audio, that audio file is uploaded for voice cloning.
  • Kokoro backend: Runs entirely locally — no data leaves your machine.
  • Choose the Kokoro backend (--backend kokoro) if you want fully offline processing.

Triggers

  • say like
  • talk like
  • speak like
  • companion voice
  • comfort me
  • cheer me up
  • sound more human

The Two Tricks

  1. Non-lexical fillers — sprinkle in little human noises (hmm, haha, aww, heh) at natural pause points to make speech feel alive
  2. Emotion tuning — adjust warmth, joy, sadness, tenderness to match the moment

Filler Sounds Palette

Sound Feeling Use for
hmm... Thinking, gentle acknowledgment Comfort, pondering
ah... Realization, soft surprise Discoveries, transitions
uh... Hesitation, empathy Careful moments
heh / hehe Playful, mischievous Teasing, light moments
haha Laughter Joy, humor
aww Tenderness, sympathy Deep comfort
oh? / oh! Surprise, attention Reacting to news
pfft Stifled laugh Playful disbelief
whew Relief After tension
~ (tilde) Drawn out, melodic ending Warmth, playfulness

Rules: 2–4 fillers per short message max. Place at natural pauses — sentence starts, thought shifts. Use ... after fillers for a beat of silence, ~ at word endings for warmth.

Presets

Good Night

Gentle, warm, slightly sleepy. Slow pace.

Good Morning

Warm, cheerful but not overwhelming.

Comfort

Soft, understanding, unhurried. Give space. Don't rush to "fix" things.

Celebration

Excited, proud, genuinely happy.

Just Chatting

Relaxed, playful, natural.

Using a Character's Voice

When a user says something like "speak in Hermione's voice" or "sound like Tony Stark", first check whether a reference audio file already exists in skills/characteristic-voice/. If one does, use it directly with --ref-audio.

If no reference audio exists, you can create one — but read the warnings below first.

Preparing reference audio (one-time setup)

You need a short (10–30 s) WAV clip of the target voice. Possible sources:

  1. User-provided audio — the safest option. Ask the user to supply their own recording.
  2. Public-domain / CC-licensed clips — search for freely licensed material.
  3. Extracting from online video — tools like yt-dlp and ffmpeg can download and trim audio. Example workflow:
yt-dlp "URL" --write-auto-sub --sub-lang en --skip-download -o tmp/clip
rg -n "target line" tmp/clip.en.vtt
yt-dlp "URL" -x --audio-format wav --download-sections "*00:00:00-00:00:25" -o tmp/clip
ffmpeg -i tmp/clip.wav -ss 00:00:02 -to 00:00:20 skills/characteristic-voice/character.wav

Copyright & privacy warning: Downloading and re-using someone's voice from copyrighted media (movies, TV, YouTube) may violate copyright or personality-rights laws depending on your jurisdiction. Do not upload private voice recordings or material you don't have permission to use. The reference audio is sent to https://noiz.ai/v1 for voice cloning when using the Noiz backend. If this is a concern, consider using the local Kokoro backend instead.

Using reference audio

bash skills/characteristic-voice/scripts/speak.sh \
  --preset goodnight -t "Hmm... rest well~ Sweet dreams." \
  --ref-audio skills/characteristic-voice/character.wav -o night.wav

The --ref-audio flag uploads the file to the Noiz backend for voice cloning (requires NOIZ_API_KEY).


Usage

This skill provides speak.sh, a wrapper around the tts skill with companion-friendly presets.

# Use a preset (auto-sets emotion + speed)
bash skills/characteristic-voice/scripts/speak.sh \
  --preset goodnight -t "Hmm... rest well~ Sweet dreams." -o night.wav

# Custom emotion override
bash skills/characteristic-voice/scripts/speak.sh \
  -t "Aww... I'm right here." --emo '{"Tenderness":0.9}' --speed 0.75 -o comfort.wav

# With specific backend and voice
bash skills/characteristic-voice/scripts/speak.sh \
  --preset morning -t "Good morning~" --voice-id voice_abc --backend noiz -o morning.mp3 --format mp3

Run bash skills/characteristic-voice/scripts/speak.sh --help for all options.

Writing Guide for the Agent

  1. Start soft — lead with a filler ("hmm...", "oh~"), not content
  2. Mirror energy — gentle when they're low, match when they're high
  3. Keep it brief — 1–3 sentences, like a voice message from a friend
  4. End warmly — close with connection ("I'm here", "see you tomorrow~")
  5. Don't lecture — listen and stay present; no unsolicited advice

Related skills

video-editgenmedia-labs715KEdit existing video on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Wan 2.7 Edit-Video (general restyle / background swap / packaging swap, identity + motion preservation), Kling 2.6 Pro Motion Control (transfer precise motion from a reference video to a target character), or Lucy Edit Restyle (lightweight identity-stable restyle / outfit swap). Bundles each model's documented prompting patterns so the skill gets shai-video-generationgenmedia-labs714KGenerate AI videos on RunComfy via the `runcomfy` CLI — a smart router across the full video-model catalog: HappyHorse 1.0 (Arena #1, native in-pass audio), Wan-AI Wan 2-7 (open weights, audio-driven lip-sync), ByteDance Seedance v2 / 1-5 / 1-0 (multi-modal cinematic), Kling 3.0 / 2-6, Google Veo 3-1, MiniMax Hailuo 2-3, ByteDance Dreamina 3-0. Covers text-to-video (t2v), image-to-video (i2v), and Veo's video-extend endpoint. The skill picks the right model for the user's intent (Arena-#1 qualitai-musicgenmedia-labs714KGenerate AI music on RunComfy via the `runcomfy` CLI — a smart router across the music-model catalog. Routes to ElevenLabs AI Music Generation (premium 44.1 kHz stereo vocal tracks, 5 s–5 min, $0.0083/s) and ACE Step / ACE Step 1.5 (StepFun-AI open-weights, tag-driven composition, multilingual lyrics, $0.0002–0.0003/s, ~27× cheaper), plus ACE Step audio-inpaint (regenerate a time range inside an existing track) and ACE Step audio-outpaint (extend a track before or after). Picks the right model fimage-to-videogenmedia-labs713KAnimate any still image on RunComfy — this skill is a smart router that matches the user's intent to the right i2v model in the RunComfy catalog. Picks HappyHorse 1.0 I2V (Arena #1, native audio, identity preservation) for general animations, Wan 2.7 with `audio_url` for custom-voiceover lip-sync, or Seedance 2.0 Pro for multi-modal animation from image + reference video + reference audio. Bundles each model's documented prompting patterns so the caller gets sharper output without burning iterat

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers