Configure TTS voices, speed, timeouts, queue depth, and bot settings. TRIGGERS - configure tts, change voice, tts speed
Scanned 5/27/2026
Install via CLI
openskills install terrylica/cc-skills---
name: settings-and-tuning
description: Configure TTS voices, speed, timeouts, queue depth, and bot settings. TRIGGERS - configure tts, change voice, tts speed
allowed-tools: Read, Write, Edit, Bash, Glob, AskUserQuestion
---
# Settings and Tuning
Configure all adjustable parameters for the TTS engine, Telegram bot, and supporting infrastructure. All settings are centralized in the mise.toml SSoT.
> **Platform**: macOS (Apple Silicon)
> **Self-Evolving Skill**: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
## When to Use This Skill
- Changing TTS voice (English, Chinese, or macOS `say` voices)
- Adjusting speech speed
- Tuning TTS timeouts or queue depth
- Configuring notification rate limiting or circuit breakers
- Adjusting prompt executor throttling
- Modifying session picker limits
- Changing audit log retention
---
## Requirements
| Component | Required | Installation |
| ----------- | ----------- | ------------------------------------------------- |
| mise | Yes | `brew install mise` (for env loading) |
| Bot running | Recommended | Changes to TTS/queue settings require bot restart |
---
## Workflow Phases
### Phase 0: Read Current Configuration
Read the current mise.toml to see all active settings:
```bash
cat ~/.claude/automation/claude-telegram-sync/mise.toml
```
All configurable values live in the `[env]` section. The file is the single source of truth for the entire stack.
### Phase 1: Identify What to Change
Present the config groups to the user via AskUserQuestion. Config groups:
| Group | Settings | Description |
| --------------- | ---------------------------------------------------------------------- | ----------------------------------------------- |
| TTS Voice | `TTS_VOICE_EN`, `TTS_VOICE_ZH`, `TTS_VOICE_SAY_EN`, `TTS_VOICE_SAY_ZH` | Voice selection per language |
| TTS Speed | `TTS_SPEED` | Speech rate multiplier |
| TTS Timeouts | `TTS_GENERATE_TIMEOUT_MS`, `TTS_SAY_TIMEOUT_MS` | Generation and playback timeouts |
| TTS Queue | `TTS_MAX_QUEUE_DEPTH`, `TTS_STALE_TTL_MS`, `TTS_MAX_TEXT_LEN` | Queue limits and staleness |
| TTS Signal | `TTS_SIGNAL_SOUND` | Signal sound path (empty to disable) |
| Rate Limiting | `NOTIFICATION_MIN_INTERVAL_MS`, `SUMMARIZER_*` | Notification and summarizer throttling |
| Prompt Executor | `PROMPT_*` | Prompt execution throttling and circuit breaker |
| Session Picker | `SESSION_*` | Session scanning and display limits |
| Audit | `AUDIT_RETENTION_DAYS` | Log retention period |
| Model | `HAIKU_MODEL` | Claude model for Agent SDK calls |
### Phase 2: Edit Configuration
Edit the appropriate line(s) in `~/.claude/automation/claude-telegram-sync/mise.toml`. Use the Edit tool to make precise changes to specific values.
### Phase 3: Validate and Apply
1. Verify the edited value is within the valid range (see [Config Reference](./references/config-reference.md))
2. If TTS, queue, or rate limiting settings changed, restart the bot:
```bash
# Option A: If using mise tasks
cd ~/.claude/automation/claude-telegram-sync && mise run bot:restart
# Option B: Manual restart
pkill -f "bun.*main.ts" && cd ~/.claude/automation/claude-telegram-sync && bun --watch run src/main.ts
```
1. Confirm new settings are active by checking bot logs or testing the affected feature
---
## TodoWrite Task Templates
### Template: Settings Adjustment
```
1. [Read] Read current mise.toml configuration
2. [Identify] Present config groups to user via AskUserQuestion
3. [Select] User selects setting category to modify
4. [Edit] Update mise.toml with new values
5. [Validate] Verify values are in valid range
6. [Apply] Restart bot to apply changes (if TTS or queue settings changed)
7. [Verify] Confirm new settings are active
```
---
## Post-Change Checklist
After modifying this skill:
1. [ ] Verify all config groups in SKILL.md match current mise.toml
2. [ ] Update config-reference.md if new env vars were added
3. [ ] Test that changed settings take effect after bot restart
4. [ ] Update `references/evolution-log.md` with change description
## Troubleshooting
| Issue | Cause | Solution |
| -------------------------- | -------------------------------- | ------------------------------------------------------ |
| Settings not taking effect | Bot not restarted | Restart bot after changing mise.toml |
| mise.toml parse error | Invalid TOML syntax | Check for missing quotes or unescaped chars |
| Voice not found | Invalid voice name | Check voice catalog (Kokoro voices are case-sensitive) |
| Speed too fast/slow | Value out of range | Use 0.5 to 2.0 range for TTS_SPEED |
| Circuit breaker stuck open | Too many failures | Wait for breaker timeout or restart bot |
| Timeout too short | TTS generation slow on first run | Model warmup takes longer; increase timeout |
---
## Reference Documentation
- [Config Reference](./references/config-reference.md) - Full reference table with all env vars, defaults, valid ranges, and component ownership
- [mise.toml Reference](./references/mise-toml-reference.md) - Hub/spoke mise architecture, secret loading, and task file structure
- [Evolution Log](./references/evolution-log.md) - Change history for this skill
## Post-Execution Reflection
After this skill completes, reflect before closing the task:
0. **Locate yourself.** — Find this SKILL.md's canonical path (Glob for this skill's name) before editing. All corrections target THIS file and its sibling references/ — never other documentation.
1. **What failed?** — Fix the instruction that caused it. If it could recur, add it as an anti-pattern.
2. **What worked better than expected?** — Promote it to recommended practice. Document why.
3. **What drifted?** — Any script, reference, or external dependency that no longer matches reality gets fixed now.
4. **Log it.** — Every change gets an evolution-log entry with trigger, fix, and evidence.
Do NOT defer. The next invocation inherits whatever you leave behind.
---
---
No comments yet. Be the first to comment!