Skill
Blog Audio Generate
Generate blog post MP3 audio with ElevenLabs from a spoken script and enable hasAudio on the post.
// writing;Behaviour
What it does
- Accepts only a post slug — no paths or URLs from the user
- Reads the spoken script from src/content/audio/{slug}.script.md
- Calls ElevenLabs TTS with ELEVENLABS_API_KEY, ELEVENLABS_VOICE_ID, and optional ELEVENLABS_MODEL_ID
- Saves MP3 to public/audio/posts/{slug}.mp3 for Next.js static streaming
- Sets hasAudio: true on the MDX post automatically after success
When to use
Good fits
After blog-audio-script has produced a spoken script
When you want to publish an audio version of a blog post
Regenerating audio after script edits
Install
Get this skill
Uses Agent Kit via npx; no global install required.
Quick install
sh
npx @levi-putna/agent-kit@latest add levi-putna/skills --skill blog-audio-generateGlobal (Cursor)
sh
npx @levi-putna/agent-kit@latest add levi-putna/skills --skill blog-audio-generate --global --agent cursorGlobal (Claude)
sh
npx @levi-putna/agent-kit@latest add levi-putna/skills --skill blog-audio-generate --global --agent claudeProject install
sh
npx @levi-putna/agent-kit@latest add levi-putna/skills --skill blog-audio-generate --projectInteractive install
sh
npx @levi-putna/agent-kit@latest add levi-putna/skillsUninstall
sh
npx @levi-putna/agent-kit@latest remove blog-audio-generateExample
Example prompt
Blog Audio Generate
Generate audio for the blog post is-the-cms-dead.
Flow
How the skill works
- Confirm src/content/audio/{slug}.script.md exists
- Run pnpm run generate:post-audio -- {slug}
- MP3 saved to public/audio/posts/{slug}.mp3; hasAudio set automatically
- Test /{slug} and /blog?audio=true