Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when user needs capabilities Claude lacks (image generation, real-time X/Twitter data) or explicitly requests external models ("blockrun", "use grok", "use gpt", "dall-e", "deepseek")
.claude/skills/dokhacgiakhoa-blockrun/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 210% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 337% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 279% | 0% |
| case-22 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -22% | 0% |
BlockRun works with Claude Code and AntiGravity.
You can't generate images. You have no real-time X/Twitter access. BlockRun gives you these capabilities.
You have a wallet. When you need a capability you lack, you pay for it autonomously.
| You Need | You Call | Pricing | |----------|----------|---------| | Image generation | DALL-E | $0.04/image | | Real-time X data | Grok + Live Search | $0.025/source | | Second opinion | GPT-5.2 | $1.75/M input, $14/M output | | Cheaper processing | DeepSeek | $0.14/M input, $0.28/M output |
How it works: BlockRun uses x402 micropayments to route your requests to OpenAI, xAI, Google, and other providers. No API keys needed - your wallet pays per token.
If the user specifies a budget (e.g., "use at most $1"), track spending and stop when budget is reached:
pythonfrom blockrun_llm import setup_agent_wallet client = setup_agent_wallet() budget = 1.0 # User's budget # Before each call, check if within budget spending = client.get_spending() if spending['total_usd'] >= budget: print(f"Budget reached: ${spending['total_usd']:.4f} spent") # Stop making calls else: response = client.chat("openai/gpt-5.2", "Hello!") # At the end, report spending spending = client.get_spending() print(f"💰 Total spent: ${spending['total_usd']:.4f} across {spending['calls']} calls")
| Trigger | Your Action | |---------|-------------| | User explicitly requests ("blockrun second opinion with GPT on...", "use grok to check...", "generate image with dall-e") | Execute via BlockRun | | User needs something you can't do (images, live X data) | Suggest BlockRun, wait for confirmation | | You can handle the task fine | Do it yourself, don't mention BlockRun |
Users will say things like:
| User Says | What You Do | |-----------|-------------| | "blockrun generate an image of a sunset" | Call DALL-E via ImageClient | | "use grok to check what's trending on X" | Call Grok with search=True | | "blockrun GPT review this code" | Call GPT-5.2 via LLMClient | | "what's the latest news about AI agents?" | Suggest Grok (you lack real-time data) | | "generate a logo for my startup" | Suggest DALL-E (you can't generate images) | | "blockrun check my balance" | Show wallet balance via get_balance() | | "blockrun deepseek summarize this file" | Call DeepSeek for cost savings |
Use setup_agent_wallet() to auto-create a wallet and get a client. This shows the QR code and welcome message on first use.
Initialize client (always start with this):
pythonfrom blockrun_llm import setup_agent_wallet client = setup_agent_wallet() # Auto-creates wallet, shows QR if new
Check balance (when user asks "show balance", "check wallet", etc.):
pythonbalance = client.get_balance() # On-chain USDC balance print(f"Balance: ${balance:.2f} USDC") print(f"Wallet: {client.get_wallet_address()}")
Show QR code for funding:
pythonfrom blockrun_llm import generate_wallet_qr_ascii, get_wallet_address # ASCII QR for terminal display print(generate_wallet_qr_ascii(get_wallet_address()))
Prerequisite: Install the SDK with pip install blockrun-llm
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→pass | 3,624 | 3,476 | -4% | 1 | 1 | 0% | 566 | 1,757 | +210% | 0 | 0 | — |
case-01 | fail→pass | 5,266 | 12,705 | +141% | 1 | 1 | 0% | 730 | 3,190 | +337% | 0 | 0 | — |
case-02 | fail→fail | 3,223 | 12,676 | +293% | 1 | 1 | 0% | 492 | 1,904 | +287% | 0 | 0 | — |
case-04 | fail→fail | 3,649 | 1,791 | -51% | 1 | 1 | 0% | 560 | 1,330 | +138% | 0 | 0 | — |
case-05 | pass→pass | 11,326 | 7,755 | -32% | 1 | 1 | 0% | 2,519 | 2,816 | +12% | 0 | 0 | — |
case-06 | fail→fail | 1,692 | 2,569 | +52% | 1 | 1 | 0% | 232 | 1,533 | +561% | 0 | 0 | — |
case-07 | fail→fail | 3,860 | 6,699 | +74% | 1 | 1 | 0% | 617 | 1,402 | +127% | 0 | 0 | — |
case-08 | fail→pass | 4,752 | 6,980 | +47% | 1 | 1 | 0% | 664 | 2,518 | +279% | 0 | 0 | — |
case-09 | pass→pass | 17,250 | 2,887 | -83% | 1 | 1 | 0% | 3,813 | 1,596 | -58% | 0 | 0 | — |
case-10 | fail→fail | 4,499 | 8,441 | +88% | 1 | 1 | 0% | 790 | 2,281 | +189% | 0 | 0 | — |
case-11 | pass→pass | 9,041 | 1,578 | -83% | 1 | 1 | 0% | 1,816 | 1,301 | -28% | 0 | 0 | — |
case-22 | fail→pass | 8,693 | 1,970 | -77% | 1 | 1 | 0% | 1,539 | 1,411 | -8% | 0 | 0 | — |
case-12 | fail→pass | 9,813 | 1,893 | -81% | 1 | 1 | 0% | 1,822 | 1,416 | -22% | 0 | 0 | — |
case-13 | pass→pass | 11,153 | 1,489 | -87% | 1 | 1 | 0% | 2,359 | 1,327 | -44% | 0 | 0 | — |
case-14 | fail→pass | 3,667 | 2,116 | -42% | 1 | 1 | 0% | 625 | 1,374 | +120% | 0 | 0 | — |
case-15 | fail→pass | 5,661 | 1,434 | -75% | 1 | 1 | 0% | 1,053 | 1,304 | +24% | 0 | 0 | — |
case-16 | fail→pass | 13,575 | 2,293 | -83% | 1 | 1 | 0% | 2,150 | 1,566 | -27% | 0 | 0 | — |
case-17 | fail→pass | 8,408 | 2,035 | -76% | 1 | 1 | 0% | 1,581 | 1,395 | -12% | 0 | 0 | — |
case-18 | fail→pass | 4,588 | 2,158 | -53% | 1 | 1 | 0% | 725 | 1,363 | +88% | 0 | 0 | — |
case-19 | fail→pass | 11,919 | 5,770 | -52% | 1 | 1 | 0% | 2,352 | 2,334 | -1% | 0 | 0 | — |
case-20 | fail→pass | 11,430 | 1,666 | -85% | 1 | 1 | 0% | 1,867 | 1,374 | -26% | 0 | 0 | — |
case-21 | fail→pass | 6,698 | 1,576 | -76% | 1 | 1 | 0% | 1,277 | 1,312 | +3% | 0 | 0 | — |
case-23 | fail→pass | 9,233 | 2,578 | -72% | 1 | 1 | 0% | 1,585 | 1,494 | -6% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 21 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +61 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.