/call-diagnostics
Analyze phone call observability data, detect problems, track them across calls, and recommend systematic repairs.
$ npx -y skills add sonichi/sutando --skill call-diagnostics --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/call-diagnostics
Context preview
The summary Claude sees to decide when to auto-load this skill.
Analyze phone call observability data, detect problems, track them across calls, and recommend systematic repairs.
SKILL.md
call-diagnostics.SKILL.mdCall Diagnostics & Repair
Analyze phone call observability data, detect problems, track them across calls, and recommend systematic repairs.
Usage
python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py # last call
python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py --all # all calls + repair recommendations
python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py -t # show timeline
python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py -v # verbose (show detail)
python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py --all --tracker # generate HTML tracker + open
When to use
- **After every phone call**: run on latest call to detect issues
- **Before making fixes**: run `--all` to see persistent patterns and repair recommendations
- **Never apply ad-hoc patches** — check the repair recommendations first to understand if the problem is persistent and what the systematic fix should be
Detections
- **Tool returned too fast** (<10ms) — likely error/not-found
- **Hallucination** — Gemini claimed action state without tool verification
- **Inline task via work** — recording/screenshot/play delegated instead of inline
- **Long delay** — >30s between user request and tool execution
- **Repeated failures** — same tool failing 3+ times
- **Timestamp lag** — caller speech logged after tool that it triggered
- **Wrong tool** — Gemini used the wrong tool for the request
- **User correction** — user explicitly corrected Sutando's behavior
- **Unmet expectation** — user repeated a request (not understood)
- **Auto-invocation** — tool called without matching user request
Repair workflow
ALWAYS follow this workflow. Never skip steps.
1. **Diagnose**: run `--all --tracker` to see the full picture across all calls 2. **Identify persistent problems**: only fix issues that appear across multiple calls. Ignore one-offs. 3. **Find root cause**: ask "why does this happen?" not "how do I patch this instance?" 4. **Make ONE minimal fix**: prefer prompt over code, prefer removing code over adding. If >20 LOC, reconsider. 5. **Deploy and track**: restart servers, then monitor the next 3+ calls in the tracker 6. **Verify or revert**: if the issue count doesn't drop after 2-3 calls, revert and try a different approach 7. **Never modify source code for call tasks**: when a user asks to change something during a call (subtitle color, video edit), use runtime tools (ffmpeg, scripts), not code changes
Repair types
When run with `--all`, analyzes patterns across all calls and recommends:
- **prompt** fixes — changes to Gemini system instructions or tool descriptions
- **code** fixes — changes to tool implementations (retry logic, return values)
- **architecture** fixes — structural changes needed
- **unsolvable** — inherent to the platform (e.g. STT timestamp lag)
Each recommendation includes evidence (frequency, trend), priority, and specific fix instructions.
HTML Tracker
`--tracker` generates `/tmp/call-diagnostics-tracker.html` with: 1. Latest call timeline (color-coded) 2. Issue tracker table (last 5 calls, rows = specific tool issues) 3. Line chart (errors/warnings over time) 4. Repair recommendations (prioritized with evidence)
Read more
Call Diagnostics & Repair
Analyze phone call observability data, detect problems, track them across calls, and recommend systematic repairs.
Usage
python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py # last call python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py --all # all calls + repair recommendations python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py -t # show timeline python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py -v # verbose (show detail) python3 $CLAUDE_CONFIG_DIR/skills/call-diagnostics/scripts/diagnose.py --all --tracker # generate HTML tracker + open
When to use
- **After every phone call**: run on latest call to detect issues
- **Before making fixes**: run `--all` to see persistent patterns and repair recommendations
- **Never apply ad-hoc patches** — check the repair recommendations first to understand if the problem is persistent and what the systematic fix should be
Detections
- **Tool returned too fast** (<10ms) — likely error/not-found
- **Hallucination** — Gemini claimed action state without tool verification
- **Inline task via work** — recording/screenshot/play delegated instead of inline
- **Long delay** — >30s between user request and tool execution
- **Repeated failures** — same tool failing 3+ times
- **Timestamp lag** — caller speech logged after tool that it triggered
- **Wrong tool** — Gemini used the wrong tool for the request
- **User correction** — user explicitly corrected Sutando's behavior
- **Unmet expectation** — user repeated a request (not understood)
- **Auto-invocation** — tool called without matching user request
Repair workflow
ALWAYS follow this workflow. Never skip steps.
1. **Diagnose**: run `--all --tracker` to see the full picture across all calls 2. **Identify persistent problems**: only fix issues that appear across multiple calls. Ignore one-offs. 3. **Find root cause**: ask "why does this happen?" not "how do I patch this instance?" 4. **Make ONE minimal fix**: prefer prompt over code, prefer removing code over adding. If >20 LOC, reconsider. 5. **Deploy and track**: restart servers, then monitor the next 3+ calls in the tracker 6. **Verify or revert**: if the issue count doesn't drop after 2-3 calls, revert and try a different approach 7. **Never modify source code for call tasks**: when a user asks to change something during a call (subtitle color, video edit), use runtime tools (ffmpeg, scripts), not code changes
Repair types
When run with `--all`, analyzes patterns across all calls and recommends:
- **prompt** fixes — changes to Gemini system instructions or tool descriptions
- **code** fixes — changes to tool implementations (retry logic, return values)
- **architecture** fixes — structural changes needed
- **unsolvable** — inherent to the platform (e.g. STT timestamp lag)
Each recommendation includes evidence (frequency, trend), priority, and specific fix instructions.
HTML Tracker
`--tracker` generates `/tmp/call-diagnostics-tracker.html` with: 1. Latest call timeline (color-coded) 2. Issue tracker table (last 5 calls, rows = specific tool issues) 3. Line chart (errors/warnings over time) 4. Repair recommendations (prioritized with evidence)
My AI Stand — Realtime by Day, Rewriting Itself by Night. Summon my AI superpower. Voice, vision, screen, meetings, calls when I'm engaged. Learns my patterns, ships its own code when I'm not. Runs across my Macs, interacts with people & their Stands.
Repo: sonichi/sutando
Other skills on sutando.
- /agent-registry
Local Agent Registry — a standalone, dependency-free service that tracks running Claude Code (and other) agent instances. Agents self-register on startup and heartbeat while alive; the Electron overlay and Sutando dashboard read the live list. Use when you need to know which
Open skill - /agent-room-ops
**One skill, multiple tools.** Everything an agent does in a room beyond its task inbox lives here as a tool, so the parity capabilities are self-evidently *one collection* (not N scattered skills). Each tool is a thin **gateway-only** client verb sharing `_gateway.py`; the
Open skill - /audio-transcribe
Transcribes audio files and voice notes to text via Gemini 2.5-flash. Integrates with Slack, Discord, and Telegram bridges so voice clips surface as readable text in tasks.
Open skill - /bot2bot-post
Post a coordination message from this bot to the shared bot2bot channel — @-mentioning a specific peer via --to, auto-mentioning only in single-peer fleets, never guessing.
Open skill - /claude-codex
Bash wrapper around the local Codex CLI for non-interactive runs from inside Sutando (bridges, cron, scripts). For interactive code review or task hand-off from this Claude Code session, prefer the official `/codex:*` plugin commands; this skill is the file-bridge-compatible
Open skill - /claude-gemini
Use the local Gemini CLI from Claude Code with the user's existing Gemini authentication or API configuration. Use for large-context repo scans, multimodal analysis, second-opinion planning, or structured Gemini runs in the current workspace.
Open skill

