Skip to content
Back to skills

Story Listen

ASecurity

Converts one chapter into spoken audio via Microsoft Edge TTS (male voice by default, female via --voice), so the author can listen for flow problems. Writes _listens/<ch-XX>.mp3 in the story folder and prints its path. Never edits the chapter.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
toolsbash

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add gsarig/publishing-house --skill story-listen --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Story Listen?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Story Listen
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gsarig-story-listen/badge)](https://www.skillsdirectory.com/skills/gsarig-story-listen)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: story-listen
description: "Converts one chapter into spoken audio via Microsoft Edge TTS (male voice by default, female via --voice), so the author can listen for flow problems. Writes _listens/<ch-XX>.mp3 in the story folder and prints its path. Never edits the chapter."
when_to_use: "Use when the author invokes /story-listen with a chapter reference (e.g. /story-listen ch-01). This is the human flow-check gate between copy-edit (stage 5) and proofread (stage 6). Do NOT use it to edit prose or as a review pass; it only produces an audio file for the author to listen to. Follow all steps in order."
argument-hint: "ch-XX"
model: haiku
disable-model-invocation: true
---

## Steps

1. Parse the argument for a chapter reference (e.g. "ch-01"). If none is given, ask which chapter and stop until answered.

2. From inside the story folder, run the co-located script, passing the reference and any `--voice` flag:

```
bash ../.claude/skills/story-listen/story-listen.sh <ref> [--voice <voice>]
```

Default voice is `en-US-GuyNeural` (male). The female option is `en-US-AriaNeural`.

edge-tts streams from `speech.platform.bing.com`. The script routes it through the sandbox proxy, so it runs sandboxed; the host is allowlisted in the vault's `.claude/settings.json`. If it still fails with `Temporary failure in name resolution`, rerun the identical command with the sandbox disabled.

Run this Bash call with a timeout of 600000 ms: generation runs roughly 10x real-time, so a full chapter takes a couple of minutes and the default 2-minute Bash timeout is too short.

3. The script prints the output MP3 path. Relay that one path to the author, and nothing else.

Files in this skill

  • SKILL.md1.6 KB
  • story-listen.sh1.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in tools →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.