/image-prompting
Use when generating or editing images via `blockrun_image` — especially with GPT Image 2, Nano Banana, or Grok Imagine for posters, UI mockups, marketing assets, product shots, or anything with on-image text. Turns vague user requests ("make me a cool poster") into structured,
$ npx -y skills add BlockRunAI/blockrun-mcp --skill image-prompting --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/image-prompting
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when generating or editing images via `blockrun_image` — especially with GPT Image 2, Nano Banana, or Grok Imagine for posters, UI mockups, marketing assets, product shots, or anything with on-image text. Turns vague user requests ("make me a cool poster") into structured,
SKILL.md
image-prompting.SKILL.mdname: image-prompting
description: Use when generating or editing images via `blockrun_image` — especially with GPT Image 2, Nano Banana, or Grok Imagine for posters, UI mockups, marketing assets, product shots, or anything with on-image text. Turns vague user requests ("make me a cool poster") into structured, text-accurate prompts that actually render what you asked for.
triggers:
- "image prompt"
- "make a poster"
- "create poster"
- "ui mockup"
- "marketing asset"
- "product shot"
- "gpt image 2"
- "image with text"
- "typography poster"
- "social asset"
- "generate marketing image"
- "ai poster"Image Prompting
Most image failures are prompt failures. This skill gives the MCP agent a repeatable structure for turning any user request into a prompt that renders clean typography, preserves layout on edits, and avoids AI slop. Defaults are tuned for **GPT Image 2** (best legible text), with fallbacks for Nano Banana, Grok Imagine, and CogView.
Quick Decision Table
Costs are what you are actually CHARGED, verified live. **Size is the biggest lever:** any dimension above 1024 moves GPT Image 2 to the large tier and roughly doubles the price ($0.064 → $0.127). Ask for `1536x1024` only when you need it.
| User wants... | Model | Mode | Size | Cost | |---|---|---|---|---| | Poster / typography-heavy asset | `openai/gpt-image-2` | generate | `1536x1024` or `1024x1536` | $0.127 | | Clean product / UI mockup | `openai/gpt-image-2` | generate | `1024x1024` | $0.064 | | Photoreal / fashion / editorial | `openai/gpt-image-2` or `google/nano-banana-pro` | generate | `1024x1024` | $0.064–0.106 | | Pro-level photoreal at Flash speed | `google/nano-banana-2` | generate | `1024x1024` (only size) | $0.0955 | | Artistic / stylized / fast | `google/nano-banana` | generate | `1024x1024` | $0.0535 | | Cheapest usable draft | `zai/cogview-4` | generate | `1024x1024` | $0.01675 | | Widescreen / banner on a budget | `bytedance/seedream-5-pro` | generate | `2048x1024` or `1280x720` | $0.04825 ($0.0955 when both sides >1024) | | Edit an existing image (localized change) | `openai/gpt-image-2` | edit | match source | $0.064 at 1024x1024, $0.127 above | | Composite from multiple refs | `openai/gpt-image-2` | edit (multi-ref) | match target | $0.064 at 1024x1024, $0.127 above |
**Valid GPT Image 2 sizes:** `1024x1024` (square), `1536x1024` (landscape ~3:2), `1024x1536` (portrait ~2:3).
The 5-Section Prompt Framework
Write prompts as **five short blocks separated by blank lines.** This is the single biggest quality lever.
SCENE: where/when/background/environment, one or two lines.
SUBJECT: the main focus (who/what), described concretely.
DETAILS: materials, texture, lighting, camera angle, composition, mood,
lens feel, depth of field, surface condition. Stack concrete nouns.
USE CASE: editorial photo / product mockup / poster / UI screen / infographic / concept frame.
(This single line tells the model what kind of image to produce.)
CONSTRAINTS: what must not drift. "No extra text." "No duplicate elements."
"Preserve face." "Legible typography." Repeat these on every edit.
> The fifth slot is where most mediocre prompts fail silently. Describe the idea without bounding it and the model gets inventive in directions you will regret.
Text & Typography Rules (the #1 differentiator for GPT Image 2)
1. **Wrap literal text in quotes or ALL CAPS.** `Headline (EXACT TEXT): "Fresh and clean."` 2. **Specify** font style, weight, size, color, placement, letter-spacing. 3. **Treat text as layout, not decoration:** hero vs. sub vs. caption with hierarchy + spacing. 4. **State:** `No extra words. No duplicate text. No watermarks.` 5. **Spell difficult words letter-by-letter** if the model keeps breaking them. 6. **Mark each distinct piece of copy** with its role: `HERO:`, `SUB:`, `BOTTOM-LEFT TAG:`, `TOP BANNER:`.
Anti-Slop Rules (visual facts > excitement)
| Bad (vague / praise-loaded) | Good (concrete visual fact) | |---|---| | "stunning, epic, masterpiece" | "overcast daylight, brushed aluminum, 50mm feel" | | "minimalist brutalist luxury editorial" | "cream background, heavy black condensed sans-serif, asymmetric type block, one hero object, studio tabletop light" | | "it should contain a boarding pass feel" | "a boarding pass lies on the tray, barcode visible, creased corner" | | "beautiful lighting" | "incandescent work lamp spilling warm light onto wet concrete" |
**Rules:**
- **Visual facts over praise.** Replace adjectives like *gorgeous/stunning/incredible* with observable specifics.
- **Style tags need targets.** Don't just name a style — describe the artifacts that style produces.
- **Say the real thing.** If the image must contain a boarding pass, say "boarding pass."
- **Name the lens.** 35mm, 50mm, medium format. Depth of field: shallow vs. deep.
- **Name the light.** Source + quality + direction + color temperature.
Instructions
1. Initialize
import os
from pathlib import Path
chain_file = Path.home() / ".blockrun" / ".chain"
chain = chain_file.read_text().strip() if chain_file.exists() else "base"
if chain == "solana":
from blockrun_llm import setup_agent_solana_wallet, ImageClient
setup_agent_solana_wallet()
else:
from blockrun_llm import setup_agent_wallet, ImageClient
setup_agent_wallet()
image = ImageClient()2. Generate from Scratch
prompt = """
SCENE: A realistic roadside billboard at sunset, empty two-lane highway,
soft gradient sky from peach to lavender, a few utility poles.
SUBJECT: A product billboard for a bottled water brand. Bottle on the right
third of the frame, catching warm rim light.
DETAILS: 35mm photo feel, shallow depth of field, matte-painted billboard,
clean kerning, precise print finish.
USE CASE: Product mockup for a marketing deck, landscape 3:2.
CONSTRAINTS:
- Headline (EXACT TEXT): "Fresh and clean."
- Bold sans-serif, high contrast, centered verticall
Read more
name: image-prompting
description: Use when generating or editing images via `blockrun_image` — especially with GPT Image 2, Nano Banana, or Grok Imagine for posters, UI mockups, marketing assets, product shots, or anything with on-image text. Turns vague user requests ("make me a cool poster") into structured, text-accurate prompts that actually render what you asked for.
triggers:
- "image prompt"
- "make a poster"
- "create poster"
- "ui mockup"
- "marketing asset"
- "product shot"
- "gpt image 2"
- "image with text"
- "typography poster"
- "social asset"
- "generate marketing image"
- "ai poster"Image Prompting
Most image failures are prompt failures. This skill gives the MCP agent a repeatable structure for turning any user request into a prompt that renders clean typography, preserves layout on edits, and avoids AI slop. Defaults are tuned for **GPT Image 2** (best legible text), with fallbacks for Nano Banana, Grok Imagine, and CogView.
Quick Decision Table
Costs are what you are actually CHARGED, verified live. **Size is the biggest lever:** any dimension above 1024 moves GPT Image 2 to the large tier and roughly doubles the price ($0.064 → $0.127). Ask for `1536x1024` only when you need it.
| User wants... | Model | Mode | Size | Cost | |---|---|---|---|---| | Poster / typography-heavy asset | `openai/gpt-image-2` | generate | `1536x1024` or `1024x1536` | $0.127 | | Clean product / UI mockup | `openai/gpt-image-2` | generate | `1024x1024` | $0.064 | | Photoreal / fashion / editorial | `openai/gpt-image-2` or `google/nano-banana-pro` | generate | `1024x1024` | $0.064–0.106 | | Pro-level photoreal at Flash speed | `google/nano-banana-2` | generate | `1024x1024` (only size) | $0.0955 | | Artistic / stylized / fast | `google/nano-banana` | generate | `1024x1024` | $0.0535 | | Cheapest usable draft | `zai/cogview-4` | generate | `1024x1024` | $0.01675 | | Widescreen / banner on a budget | `bytedance/seedream-5-pro` | generate | `2048x1024` or `1280x720` | $0.04825 ($0.0955 when both sides >1024) | | Edit an existing image (localized change) | `openai/gpt-image-2` | edit | match source | $0.064 at 1024x1024, $0.127 above | | Composite from multiple refs | `openai/gpt-image-2` | edit (multi-ref) | match target | $0.064 at 1024x1024, $0.127 above |
**Valid GPT Image 2 sizes:** `1024x1024` (square), `1536x1024` (landscape ~3:2), `1024x1536` (portrait ~2:3).
The 5-Section Prompt Framework
Write prompts as **five short blocks separated by blank lines.** This is the single biggest quality lever.
SCENE: where/when/background/environment, one or two lines. SUBJECT: the main focus (who/what), described concretely. DETAILS: materials, texture, lighting, camera angle, composition, mood, lens feel, depth of field, surface condition. Stack concrete nouns. USE CASE: editorial photo / product mockup / poster / UI screen / infographic / concept frame. (This single line tells the model what kind of image to produce.) CONSTRAINTS: what must not drift. "No extra text." "No duplicate elements." "Preserve face." "Legible typography." Repeat these on every edit.
> The fifth slot is where most mediocre prompts fail silently. Describe the idea without bounding it and the model gets inventive in directions you will regret.
Text & Typography Rules (the #1 differentiator for GPT Image 2)
1. **Wrap literal text in quotes or ALL CAPS.** `Headline (EXACT TEXT): "Fresh and clean."` 2. **Specify** font style, weight, size, color, placement, letter-spacing. 3. **Treat text as layout, not decoration:** hero vs. sub vs. caption with hierarchy + spacing. 4. **State:** `No extra words. No duplicate text. No watermarks.` 5. **Spell difficult words letter-by-letter** if the model keeps breaking them. 6. **Mark each distinct piece of copy** with its role: `HERO:`, `SUB:`, `BOTTOM-LEFT TAG:`, `TOP BANNER:`.
Anti-Slop Rules (visual facts > excitement)
| Bad (vague / praise-loaded) | Good (concrete visual fact) | |---|---| | "stunning, epic, masterpiece" | "overcast daylight, brushed aluminum, 50mm feel" | | "minimalist brutalist luxury editorial" | "cream background, heavy black condensed sans-serif, asymmetric type block, one hero object, studio tabletop light" | | "it should contain a boarding pass feel" | "a boarding pass lies on the tray, barcode visible, creased corner" | | "beautiful lighting" | "incandescent work lamp spilling warm light onto wet concrete" |
**Rules:**
- **Visual facts over praise.** Replace adjectives like *gorgeous/stunning/incredible* with observable specifics.
- **Style tags need targets.** Don't just name a style — describe the artifacts that style produces.
- **Say the real thing.** If the image must contain a boarding pass, say "boarding pass."
- **Name the lens.** 35mm, 50mm, medium format. Depth of field: shallow vs. deep.
- **Name the light.** Source + quality + direction + color temperature.
Instructions
1. Initialize
import os
from pathlib import Path
chain_file = Path.home() / ".blockrun" / ".chain"
chain = chain_file.read_text().strip() if chain_file.exists() else "base"
if chain == "solana":
from blockrun_llm import setup_agent_solana_wallet, ImageClient
setup_agent_solana_wallet()
else:
from blockrun_llm import setup_agent_wallet, ImageClient
setup_agent_wallet()
image = ImageClient()2. Generate from Scratch
prompt = """ SCENE: A realistic roadside billboard at sunset, empty two-lane highway, soft gradient sky from peach to lavender, a few utility poles. SUBJECT: A product billboard for a bottled water brand. Bottle on the right third of the frame, catching warm rim light. DETAILS: 35mm photo feel, shallow depth of field, matte-painted billboard, clean kerning, precise print finish. USE CASE: Product mockup for a marketing deck, landscape 3:2. CONSTRAINTS: - Headline (EXACT TEXT): "Fresh and clean." - Bold sans-serif, high contrast, centered verticall
Live data for AI agents — search, research, markets, crypto, X/Twitter. Pay-per-call via x402 micropayments.
Repo: BlockRunAI/blockrun-mcp
Other skills on blockrun-mcp.
- /blockrun
Pay-per-call access to AI models, real-time data, media generation and multi-chain RPC over x402 micropayments (USDC on Base or Solana). No API keys, no accounts, no subscriptions. Start here when you have the BlockRun MCP installed and need to know WHICH tool answers a
Open skill - /crypto-data
Use for any crypto data question — token/coin prices, FX, commodities, stocks, OHLC history, DEX pairs and liquidity, DeFi TVL, yield/APY pools, on-chain SQL, wallet labels and net worth, social mindshare, news, or raw JSON-RPC against a chain. Routes across five tools that
Open skill - /exa-research
Use when researching products, finding academic papers, discovering competitors, reading webpage content, or getting cited answers grounded in real web sources. Use over generic search when semantic relevance matters.
Open skill - /gentech-blockrun
GenTech Labs' integration patterns for BlockRun MCP from Hermes Agent. Covers daily usage patterns, cost-optimized workflows, multi-tool pipelines, and reliable error handling for BlockRun's full toolset.
Open skill - /modal
Use when the user needs to run isolated code remotely — a disposable container, optional GPU access (T4 → H100), or a safer place for untrusted / heavy code. Prefer local execution for normal repo work; use Modal sandboxes for isolation, hardware access, or one-shot heavy
Open skill - /phone
Use when the user wants phone-number intelligence (lookup, carrier, line type, SIM-swap / call-forwarding fraud signals), US/CA number provisioning (rent a phone number), or outbound AI voice calls (Bland.ai under the hood — schedule, confirm, follow-up). Pay per call in USDC.
Open skill

