Generates 16:9 minimalist blog cover images using Gemini 3.1 Flash Image Preview, fetches brand logos from domains via Brandfetch, and incorporates Google Search grounding. Use for thumbnails, headers, or titles like 'Vercel v0'.
npx claudepluginhub varnan-tech/opendirectory --plugin opendirectory-gtm-skillsThis skill uses the workspace's default tool permissions.
This skill provides AI agents with the ability to generate stunning, minimalist, technical blog cover images using the `blog-cover-image-cli`. The CLI leverages Gemini 3.1 Flash Image Preview, automatically fetches brand logos from domains, uses local aesthetic reference images, and employs Google Search grounding to inject real-time context.
Generates and edits AI images for blog content (hero, inline illustrations, social/OG cards) via Gemini MCP using 6-component prompts and 6 domain modes (Editorial, Product, etc.).
Generates customizable article cover images from Markdown files using 5 dimensions: type, palette, rendering, text, mood. Supports cinematic, widescreen, square aspects with auto-selection.
Generates professional AI images using Google Gemini via Node CLI for web hero sections, landing pages, slide decks, presentations, and app illustrations. Optimizes prompts and selects aspect ratios.
Share bugs, ideas, or general feedback.
This skill provides AI agents with the ability to generate stunning, minimalist, technical blog cover images using the blog-cover-image-cli. The CLI leverages Gemini 3.1 Flash Image Preview, automatically fetches brand logos from domains, uses local aesthetic reference images, and employs Google Search grounding to inject real-time context.
Agent Pre-requisites:
Before using this tool, verify it is installed. If blog-cover-cli --help fails, install it globally:
npm install -g blog-cover-image-cli
If the user wants you to generate an image and you haven't set up the API key yet, you must first configure the CLI using a Gemini API Key. The CLI stores this securely via the conf package.
# 1. Set your Gemini API Key (Required for image generation)
npx -p blog-cover-image-cli blog-cover-cli config set-key <YOUR_GEMINI_API_KEY>
# 2. Set your Brandfetch Client ID (Required to fetch high-res logos)
npx -p blog-cover-image-cli blog-cover-cli config set-brandfetch-id <YOUR_BRANDFETCH_CLIENT_ID>
# Check your keys (masked)
npx -p blog-cover-image-cli blog-cover-cli config get-key
npx -p blog-cover-image-cli blog-cover-cli config get-brandfetch-id
When a user asks for a cover image (e.g., "Create a cover image for my blog about Vercel v0"), you should use the generate command.
npx -p blog-cover-image-cli blog-cover-cli generate -t "The Title of the Blog Post" -l "example.com"
-t, --title <text>: (Required) The title text to display on the cover image. Do not use excessively long titles (keep it under 3 lines of text visually).-l, --logo <domain>: (Optional but recommended) The domain to fetch the brand logo from (e.g., vercel.com, google.com, cursor.com). The CLI automatically converts WebP/SVG/AVIF to PNG for compatibility.-o, --output <path>: (Optional) The file path where the generated image will be saved. If omitted, the CLI automatically saves it to an output/ directory in the current working folder (e.g., ./output/vercel-cover.png).Example 1: Cursor
npx -p blog-cover-image-cli blog-cover-cli generate -t "Why Cursor is the Ultimate AI Code Editor" -l "cursor.com"
Example 2: Lovable
npx -p blog-cover-image-cli blog-cover-cli generate -t "Building Apps in Minutes with Lovable" -l "lovable.dev"
Example 3: Custom Output Path
npx -p blog-cover-image-cli blog-cover-cli generate -t "Mastering React in 2026" -l "reactjs.org" -o "./assets/react-cover.png"
As an agent, you should know what the CLI is doing so you can inform the user:
Brandfetch and processes them via sharp.examples/ directory to ensure the output is always a clean, minimalist white background with bold typography.googleSearch tools enabled, meaning if the title relates to a recent event, Gemini can look it up before generating the image.config set-key command.Warning: Could not fetch logo, it will still generate the image but without the logo. You do not need to crash or stop.