claude-blog is a Claude Code skill suite for planning, writing, optimizing, auditing, localizing, and refreshing blog content. It is for content and SEO workflows that produce articles and related publishing artifacts while checking drafts against defined delivery criteria. The catalogue entries provide the skills, agents, plugins, and instruction used by this workflow.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/AgriciDaniel/claude-blognpx agentmods add skills/agricidaniel/claude-blog/blog-audioWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/agricidaniel/claude-blog/blog-audio)<a href="https://agentmods.dev/skills/agricidaniel/claude-blog/blog-audio"><img src="https://agentmods.dev/badge/skills/agricidaniel/claude-blog/blog-audio/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/agricidaniel/claude-blog/blog-audio"><img src="https://agentmods.dev/badge/skills/agricidaniel/claude-blog/blog-audio.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Privilege Escalation · line 241 Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.Fix: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00123 | $0.02270 |
| Opus 5 | $0.00062 | $0.01135 |
| Sonnet 5 | $0.00025 | $0.00454 |
| Haiku 4.5 | $0.00012 | $0.00227 |
Grade B, and why
blog-audio scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
| FFmpeg not found | Install: `sudo apt install ffmpeg`. Falls back to WAV output. | Copies of this mod
1 near-identical copy found in the catalogue:
- blog-audio — 95% identical, 22 lines differ
How it starts
The opening of the file, as written. The whole thing — 252 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Blog Audio: Gemini TTS Narration for Blog Posts
Generate professional audio narration of blog content using Google's Gemini TTS. Three modes: summary (200-300 word spoken overview), full article read-aloud, or two-speaker podcast dialogue. 30 voices, 80+ languages, HTML5 embed output.
Quick Reference
| Command | What it does |
|---|---|
/blog audio generate <file> |
Generate audio narration of a blog post |
/blog audio voices |
Show available voices with characteristics |
/blog audio setup |
Check/configure API key for Gemini TTS |
Prerequisites
- Python 3.11+ (venv managed automatically by
run.py) GOOGLE_AI_API_KEYenvironment variable (same key used by blog-image)- FFmpeg (for WAV-to-MP3 conversion; falls back to WAV if missing)
Always Use run.py Wrapper
# CORRECT:
python3 scripts/run.py generate_audio.py --text "..." --voice Charon --json
# WRONG:
python3 scripts/generate_audio.py --text "..." # Fails without venv
API Key Check (Gate Pattern)
Before generating audio, check for the API key:
test -n "${GOOGLE_AI_API_KEY:-}" && echo "GOOGLE_AI_API_KEY is set" || echo "GOOGLE_AI_API_KEY is not set"
- If set: proceed with generation
- If not set: guide the user:
"Audio generation requires a Google AI API key. Get one free at https://aistudio.google.com/apikey
Then set it:
export GOOGLE_AI_API_KEY=your-keyThis can be the same key used by/blog image, but it must be exported in the shell." - When called internally (from blog-write): return silently if key is missing. Never block the writing workflow.
Setup
For /blog audio setup:
- Check if
GOOGLE_AI_API_KEYis set in environment - If blog-image uses project
.mcp.json, confirm the referenced env var is exported - If not, guide user to https://aistudio.google.com/apikey
- Verify with a dry run:
python3 scripts/run.py generate_audio.py --text "Test" --dry-run --json
Voice Selection
For /blog audio voices:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 252 lines · 123 tokens per session scan B 482ed5b7367c
blog-audio is a skill published in the GitHub repository AgriciDaniel/claude-blog (2,116 stars, last pushed 7d ago), licensed MIT. It adds 123 tokens to every session and 2,270 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
banana
Direct, generate, edit, compare, and review visual assets with current Google Gemini image models. Use for image creation, image editing, reference-based consistency, product and character visuals, text-bearing graphics, grounded diagrams, video-derived images, and multi-model image portfolios.
shorts
Interactive longform-to-shortform video creator. Extracts viral-ready short clips from long videos using Claude as the orchestrator. Transcribes with faster-whisper (GPU), Claude scores and presents candidate segments interactively, user picks and adjusts, Remotion renders premium animated captions (Bold/Bounce/Clean…
repurpose-discord
Generates Discord community content from content atoms: announcement posts for channels, discussion thread prompts designed for reply-generation, and rich embed messages with structured fields. Enforces casual peer tone, reaction prompts, and conversation-first design. Sub-skill of the Content Repurposing Engine. Use…
repurpose-pinterest
Generates Pinterest content from content atoms: standard pin concepts (3-5 pins) with keyword-rich descriptions, idea pin scripts (5-10 slides), and board suggestions. Optimizes for saves, clicks, and SEO — Pinterest is a visual search engine, not social media. Sub-skill of the Content Repurposing Engine. Use when…
repurpose-quotes
Extracts the 5 most quotable moments from content atoms and generates /banana image prompts for each using the 6-Component Brief. Produces quote cards ready for social sharing with platform-specific aspect ratios, color palettes, and text overlays. Sub-skill of the Content Repurposing Engine. Use when user says "quote…
repurpose-snapchat
Generates Snapchat content from content atoms: story scripts (3-5 frames at 10s each), Spotlight scripts (up to 60s vertical video), and AR lens concepts. Optimizes for completion rate, shares, and screenshot saves. Sub-skill of the Content Repurposing Engine. Use when user says "snapchat", "snap story", "snapchat…