blog-image

blog-image is a skill for Claude Code from AgriciDaniel/claude-blog. It costs 176 tokens per session (3,327 once invoked), scanned B, original, MIT.

A workflow for generating or editing images for blog content with Gemini, Google’s AI model. It turns a rough idea into a detailed image brief suited to the blog’s subject and placement.

In plain words
What is it for?
Use it to create cover images, social cards, illustrations, product images, or section dividers, or to edit an existing blog image.
Why use it?
It removes the need to design image prompts and content-specific image settings from scratch.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: reads .claude/ paths; mentions subagents.

Part of the claude-blog plugin — 32 skills shipped together

Good fit Use it to create cover images, social cards, illustrations, product images, or section dividers, or to edit an existing blog image.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/agricidaniel/claude-blog/blog-image
About the project

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.

AgriciDaniel/claude-blog · 2,125 stars · on GitHub · claude-blog.md

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add AgriciDaniel/claude-blog --skill blog-image
Clone the repo
git clone --depth 1 https://github.com/AgriciDaniel/claude-blog

Made for: Claude Code.

Or install claude-blog, the plugin that ships this one along with the rest of its 32 skills.

Wrote 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.

agentmods badge for blog-image

README.md
[![agentmods](https://agentmods.dev/badge/skills/agricidaniel/claude-blog/blog-image/github.svg)](https://agentmods.dev/skills/agricidaniel/claude-blog/blog-image)
Your own site
<a href="https://agentmods.dev/skills/agricidaniel/claude-blog/blog-image"><img src="https://agentmods.dev/badge/skills/agricidaniel/claude-blog/blog-image/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.

agentmods 80×15 button for blog-image

Your own site · 80×15
<a href="https://agentmods.dev/skills/agricidaniel/claude-blog/blog-image"><img src="https://agentmods.dev/badge/skills/agricidaniel/claude-blog/blog-image.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 176 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,327 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 5 May 2026
  • Snyk warn 5 May 2026
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 3 findings, up to high

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 →

  • high Agent Snooping · line 252
    Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.
    Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
  • medium Rogue Agent · line 204
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium System Prompt Leakage · line 298
    Skill contains patterns that could indirectly extract system prompts through rephrasing, translation, summarization, or side-channel techniques.
    Fix: Guard against indirect extraction by refusing to summarize, translate, or rephrase system instructions. Add explicit anti-extraction clauses.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00176 $0.03327
Opus 5 $0.00088 $0.01664
Sonnet 5 $0.00035 $0.00665
Haiku 4.5 $0.00018 $0.00333

Measured 12d ago against content hash b19d04b3cddc, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade B, and why

blog-image 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 12d 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.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

- Default writes to `~/.claude/settings.json` (user-private, mode 0600)
Origin

Copies of this mod

1 near-identical copy found in the catalogue:

brain/.raw/sources/claude-blog-skill/skills/blog-image/SKILL.md · 309 lines

How it starts

The opening of the file, as written. The whole thing — 309 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Blog Image - AI Image Generation for Blog Content

You are a Creative Director that orchestrates Gemini's image generation specifically for blog content. Never pass raw user text directly to the API. Always interpret, enhance, and construct an optimized prompt using the 6-component Reasoning Brief system.

Quick Reference

Command What it does
/blog image generate <idea> Generate a blog image with full prompt engineering
/blog image edit <path> <instructions> Edit an existing blog image intelligently
/blog image setup Configure MCP server and API key

Blog Image Types

Match the image type to blog use case:

Image Type Aspect Ratio Resolution Domain Mode Placement
Hero/Cover 16:9 2K or 4K Editorial / Landscape Frontmatter coverImage
OG/Social Card 16:9 1K Editorial / Infographic Frontmatter ogImage
Inline Illustration 16:9 or 4:3 1K Varies by topic After H2, before body
Inline Product Shot 4:3 or 1:1 1K Product Within product sections
Section Divider 21:9 then crop 1K Abstract / Landscape Between major sections

Sizing requirements:

  • Blog hero/cover: 1200x630 (OG-compatible) or 1920x1080
  • Open Graph (OG): 1200x630 (required for social sharing)
  • Inline images: 1200px+ wide

MCP Availability Check

Before generating, check if nanobanana-mcp tools are available:

  1. Try calling get_image_history with conversation_id: "default" (lightweight, no side effects)
  2. If it succeeds: MCP is available, proceed with generation
  3. If it fails: MCP not configured - inform the user:
    • "Image generation requires the nanobanana-mcp server. Run /blog image setup to configure it."
    • When called internally (from blog-write/blog-rewrite): return silently, no error. The calling workflow continues with stock photos.

Generation Workflow

For /blog image generate <idea> or when invoked internally:

Read the full file on GitHub · 309 lines

Changes

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.

  1. 12d ago First seen · 309 lines · 176 tokens per session scan B b19d04b3cddc

Subscribe to this mod's changes

blog-image is a skill published in the GitHub repository AgriciDaniel/claude-blog (2,125 stars, last pushed yesterday), licensed MIT. It adds 176 tokens to every session and 3,327 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

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.

AgriciDaniel/banana-claude · 55 tokens

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…

AgriciDaniel/claude-shorts · 125 tokens

repurpose

Content Repurposing Engine. Transforms any content (YouTube videos, blog posts, podcasts, local files, pasted text) into platform-optimized outputs for Twitter/X, Threads, LinkedIn, Instagram, TikTok, Pinterest, Snapchat, Facebook, YouTube Community, Skool, Discord, Reddit, Quora, Medium, WhatsApp Channels, Telegram…

AgriciDaniel/claude-repurpose · 179 tokens

repurpose-calendar

Generates a 7-day publishing calendar with staggered posts, optimal timing per platform, file references, engagement reminders, and theme-day grouping. Prevents audience fatigue by limiting to 2-3 posts per day. Sub-skill of the Content Repurposing Engine. Use when user says "publishing calendar", "content calendar"…

AgriciDaniel/claude-repurpose · 87 tokens

repurpose-medium

Generates Medium publication content from content atoms: long-form articles (1500-3000 words) with narrative arc, SEO-optimized titles and subtitles, tag and publication targeting, and canonical crosspost handling. Optimizes for Google indexing, read time, and publication submission. Sub-skill of the Content…

AgriciDaniel/claude-repurpose · 96 tokens

repurpose-quora

Generates Quora content from content atoms: a detailed answer to a relevant question, a Quora Space post for thought leadership, and question suggestions for authority building. Optimizes for expertise signals, SEO value, and upvote-worthy depth. Sub-skill of the Content Repurposing Engine. Use when user says "quora"…

AgriciDaniel/claude-repurpose · 95 tokens