blockrun-debug
Use when the BlockRun MCP server (@blockrun/mcp) is installed but misbehaving — 'Failed to connect', spawn npx ENOENT, blockrun missing from claude mcp list,…
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.
/image-promptingContext 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,
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"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.
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).
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.
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:`.
| 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:**
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()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
Use when the BlockRun MCP server (@blockrun/mcp) is installed but misbehaving — 'Failed to connect', spawn npx ENOENT, blockrun missing from claude mcp list,…
Use when asked to install, add, configure, or set up the BlockRun MCP server (@blockrun/mcp) in Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Grok…
Use when the BlockRun MCP server prints 'Update available', when asked to upgrade, update, or pin @blockrun/mcp, when a fix 'should be in the new version' but…
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…
Use for any crypto data question — token/coin prices, FX, commodities, stocks, OHLC history, DEX pairs and liquidity, DeFi TVL, yield/APY pools, or raw…
Use when researching products, finding academic papers, discovering competitors, reading webpage content, or getting cited answers grounded in real web…