Agent skill

Wiremock Test

by OpenZeppelin in OpenZeppelin/openzeppelin-relayer

Manage WireMock proxy for RPC testing. An agent skill from OpenZeppelin/openzeppelin-relayer.

AGPL-3.0Auto-check: notesBackend & APIs

Install Wiremock Test

skills CLI
$ npx skills add OpenZeppelin/openzeppelin-relayer --skill wiremock-test -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenZeppelin/openzeppelin-relayer wiremock-test --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenZeppelin/openzeppelin-relayer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/wiremock-test .claude/skills/wiremock-test && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
wiremock-test
GitHub stars
153
Token cost
~1.6k tokens
SKILL.md length
643 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Manage WireMock proxy for RPC testing. An agent skill from OpenZeppelin/openzeppelin-relayer.

  • Works in 5 steps: Determine target RPC → Start WireMock → Wait for health: poll curl -sf… → …
  • Verify relayer behavior under failure conditions
  • SKILL.md covers Project paths, Available scenarios, How to handle user arguments… and Important reminders, plus 1 more section
  • Calls curl and docker; reaches soroban-testnet.stellar.org

What it does

Wiremock Test is an agent skill from OpenZeppelin/openzeppelin-relayer. Manage WireMock proxy for RPC testing. Starts the proxy, arms scenarios to simulate transient errors (timeouts, 500s, connection resets, and network-specific errors like Stellar TRYAGAINLATER), and checks metrics. Use to verify relayer behavior under failure conditions.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Smart contracts. It works with OpenZeppelin, Rust, Solana and Docker. The licence is AGPL-3.0.

When your agent uses it

  • Verify relayer behavior under failure conditions
  • Tasks that involve Smart contracts

Example prompts

  • “/wiremock-test”

Requirements

  • Docker
  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob, Agent

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Determine target RPC
  2. Start WireMock
  3. Wait for health: poll curl -sf http://localhost:9090/__admin/health (retry up to 10 times with 2s sleep)
  4. Verify scenarios loaded: curl -s http://localhost:9090/__admin/scenarios
  5. Remind the user

What it can do on your machine

Read from SKILL.md and the folder at commit fe0bea6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Grep
    • Glob
    • Agent

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • soroban-testnet.stellar.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Wiremock Test loads about 1.6k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 643 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Grep, Glob, Agent

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from OpenZeppelin/openzeppelin-relayer at commit fe0bea6, republished under its AGPL-3.0 licence (© OpenZeppelin). 643 words, ~1,588 tokens.

Download SKILL.mdSave it as .claude/skills/wiremock-test/SKILL.md (or your agent's skills folder).
name
wiremock-test
description
Manage WireMock proxy for RPC testing. Starts the proxy, arms scenarios to simulate transient errors (timeouts, 500s, connection resets, and network-specific errors like Stellar TRY_AGAIN_LATER), and checks metrics. Use to verify relayer behavior under failure conditions.
allowed-tools
Bash, Read, Grep, Glob, Agent
argument-hint
<scenario> | setup <network> [rpc-url] | teardown | status | check-metrics

WireMock RPC Test Proxy

You manage a WireMock proxy that sits between the relayer and an RPC endpoint. It forwards traffic normally, but can inject mock error responses on demand.

Project paths

  • Docker compose: testing/wiremock/docker-compose.yaml
  • Generic mappings: testing/wiremock/mappings/generic/ (work with any JSON-RPC network)
  • Stellar mappings: testing/wiremock/mappings/stellar/
  • Future EVM mappings: testing/wiremock/mappings/evm/ (not yet created)
  • Helper scripts: testing/wiremock/scripts/

Available scenarios

Generic (any network)
Scenario nameShorthandWhat it does
rpc-timeouttimeout30s delay on next RPC call (any method)
rpc-500500HTTP 500 on next RPC call
rpc-connection-resetresetTCP connection reset on next RPC call
Stellar-specific
Scenario nameShorthandWhat it does
stellar-try-again-latertal, try-again-laterReturns TRY_AGAIN_LATER on next sendTransaction
stellar-insufficient-feefee, insufficient-feeReturns ERROR with TxInsufficientFee on next sendTransaction
stellar-get-transaction-not-foundnot-found, get-tx-not-foundReturns NOT_FOUND for next getTransaction

All scenarios fire exactly once then revert to proxying real traffic.

How to handle user arguments ($ARGUMENTS)

Based on the argument, execute the matching flow:

setup — requires a network argument

Syntax: setup <network> [rpc-url]

A bare setup with no network is not allowed — ask the user which network they want (stellar or evm).

  1. Determine target RPC:
    • setup stellar → default: https://soroban-testnet.stellar.org
    • setup evm or setup anvil → default: http://host.docker.internal:8545
    • setup stellar <url> or setup evm <url> → use the provided URL as WIREMOCK_PROXY_TARGET
  2. Start WireMock:
    bash
    WIREMOCK_PROXY_TARGET=<target> docker compose -f testing/wiremock/docker-compose.yaml up -d
    For stellar with default target, just: docker compose -f testing/wiremock/docker-compose.yaml up -d
  3. Wait for health: poll curl -sf http://localhost:9090/__admin/health (retry up to 10 times with 2s sleep)
  4. Verify scenarios loaded: curl -s http://localhost:9090/__admin/scenarios
  5. Remind the user:
    • WireMock proxy is running on http://localhost:9090 proxying to <target>
    • To use it, update the relevant network config rpc_urls to ["http://localhost:9090"]
    • If the relayer runs in Docker, use http://host.docker.internal:9090 instead
    • Show only the relevant scenarios: generic + the chosen network's specific scenarios
    • For Stellar: mention updating config/networks/stellar.json testnet entry
    • For EVM: mention updating the relevant EVM network config
teardown or stop
  1. Run: docker compose -f testing/wiremock/docker-compose.yaml down
  2. Confirm stopped
status
  1. Check if WireMock is running: docker compose -f testing/wiremock/docker-compose.yaml ps
  2. If running, show scenario states: curl -s http://localhost:9090/__admin/scenarios
  3. Show recent requests: curl -s 'http://localhost:9090/__admin/requests?limit=10'
  4. Parse and display in a readable format
check-metrics or metrics
  1. Fetch relayer metrics: curl -s http://localhost:8081/debug/metrics/scrape
  2. Filter and display lines matching: insufficient_fee|try_again_later|transactions_success|transactions_failed|stellar_submission_failures|stellar_try_again_later|rpc_call_latency|api_rpc_failures
  3. Summarize what the metrics show
Show full SKILL.md (277 more words)Show less
A scenario name or shorthand
  1. First ensure WireMock is running (check health endpoint, start if needed)
  2. Resolve the scenario name — the user may use shorthand:
    • Generic: timeout → rpc-timeout, 500 → rpc-500, reset → rpc-connection-reset
    • Stellar: try-again-later or tal → stellar-try-again-later, insufficient-fee or fee → stellar-insufficient-fee, not-found or get-tx-not-found → stellar-get-transaction-not-found
  3. Arm the scenario:
    bash
    curl -s -X PUT "http://localhost:9090/__admin/scenarios/{scenario-name}/state" \
      -H 'Content-Type: application/json' -d '{"state": "armed"}'
  4. Verify it's armed by checking the scenario state
  5. Tell the user what will happen on the next matching RPC call
chaos or all-chaos
  1. Ensure WireMock is running
  2. Arm ALL scenarios simultaneously
  3. Explain what will happen: scenarios are priority-based, so the most specific one fires first
reset
  1. Reset all scenarios: curl -s -X POST http://localhost:9090/__admin/scenarios/reset
  2. Clear request log: curl -s -X DELETE http://localhost:9090/__admin/requests
  3. Confirm all scenarios are back to initial (inactive) state

Important reminders

Always remind the user about these when relevant:

  • The relayer's network rpc_urls must point to http://localhost:9090 (or http://host.docker.internal:9090 from Docker) for WireMock to intercept traffic
  • After testing, they should revert rpc_urls back to the real RPC endpoint
  • Scenarios are one-shot: they fire once and revert. Re-arm to test again.
  • The relayer's metrics endpoint is at http://localhost:8081/debug/metrics/scrape (configurable via METRICS_PORT)
  • Generic scenarios (timeout, 500, connection-reset) work with any network — no need to change them when switching between Stellar and EVM testing

Adding new network support

When adding EVM or other network-specific scenarios:

  1. Create testing/wiremock/mappings/<network>/ directory
  2. Add scenario JSON files following the existing pattern (use "requiredScenarioState": "armed")
  3. Mount the directory in docker-compose.yaml (uncomment or add the volume line)
  4. Update this skill's scenario tables above
  5. Restart WireMock to load new mappings

© OpenZeppelin, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/wiremock-test of OpenZeppelin/openzeppelin-relayer.

Open the folder on GitHubat commit fe0bea6

Compare with similar skills

Wiremock Test next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Wiremock Test compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wiremock Test this skillOpenZeppelin/openzeppelin-relayer153—~1.6kAutomated safety check: NotesAGPL-3.0
RadarAuditware/radar154—~2.1kAutomated safety check: PassGPL-3.0
Safe Solana BuilderFrankcastleauditor/safe-solana-builder145—~3.6kAutomated safety check: PassNone
deBridge Solana SDK Guideinternet-court/internet-court-skill6.4k2 repos~4.9kAutomated safety check: PassApache-2.0
Switchboard Oracle SDKinternet-court/internet-court-skill6.4k3 repos~2.9kAutomated safety check: PassApache-2.0
Pyth Network Price Feedsinternet-court/internet-court-skill6.4k2 repos~3.9kAutomated safety check: PassApache-2.0

Similar skills

  • Radar

    Auditware/radar

    Use radar for smart contract security analysis, AST generation, and detection template development.

    154 GitHub stars~2.1k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Safe Solana Builder

    Frankcastleauditor/safe-solana-builder

    A skill your agent uses whenever the user wants to write, scaffold, or build a Solana smart contract or program from scratch.

    145 GitHub stars~3.6k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • deBridge Solana SDK Guide

    internet-court/internet-court-skill

    Guides building Solana programs with the deBridge SDK for cross-chain token transfers, message passing and external calls to EVM chains.

    6.4k GitHub starsUsed in 2 repos~4.9k tokens
    Backend & APIsAuto-check passed
  • Switchboard Oracle SDK

    internet-court/internet-court-skill

    Covers integrating Switchboard oracles on Solana: pull feeds, oracle quotes, VRF randomness and Surge WebSocket streaming, from both the TypeScript SDK and Rust.

    6.4k GitHub starsUsed in 3 repos~2.9k tokens
    Backend & APIsAuto-check passed
  • Pyth Network Price Feeds

    internet-court/internet-court-skill

    Shows how to read Pyth oracle prices in Solana apps, off-chain through the Hermes client or on-chain from an Anchor program, including confidence and EMA values.

    6.4k GitHub starsUsed in 2 repos~3.9k tokens
    Backend & APIsAuto-check passed
  • Solana Development Playbook

    internet-court/internet-court-skill

    End-to-end Solana development guide covering wallet connection, Anchor and Pinocchio programs, Codama clients, local testing, security checks and RPC lookups with curl.

    6.4k GitHub stars~3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed

Categories

Questions about Wiremock Test

What does Wiremock Test do?

Manage WireMock proxy for RPC testing. An agent skill from OpenZeppelin/openzeppelin-relayer. Wiremock Test is an agent skill from OpenZeppelin/openzeppelin-relayer. Manage WireMock proxy for RPC testing.

When should I use Wiremock Test?

Wiremock Test fits situations like: verify relayer behavior under failure conditions; tasks that involve Smart contracts.

How do I install Wiremock Test in Claude Code?

Run `npx skills add OpenZeppelin/openzeppelin-relayer --skill wiremock-test -a claude-code`. Or copy the skill folder (.claude/skills/wiremock-test in OpenZeppelin/openzeppelin-relayer) into .claude/skills/wiremock-test in your project. Claude Code loads it when a task matches its description.

How do I install Wiremock Test in Codex?

Run `npx skills add OpenZeppelin/openzeppelin-relayer --skill wiremock-test -a codex`. Or copy the skill folder (.claude/skills/wiremock-test in OpenZeppelin/openzeppelin-relayer) into .agents/skills/wiremock-test in your project. Codex loads it when a task matches its description.

Can I use Wiremock Test in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenZeppelin/openzeppelin-relayer --skill wiremock-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wiremock-test, .gemini/skills/wiremock-test, .github/skills/wiremock-test and .opencode/skills/wiremock-test in your project.

What does Wiremock Test need to run?

Going by SKILL.md and its folder, Wiremock Test needs the command-line tools its instructions call (curl and docker). Our summary lists: Docker. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Agent.

Does Wiremock Test access the network?

SKILL.md names 1 domain. In commands or code: soroban-testnet.stellar.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Wiremock Test safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Wiremock Test use?

Wiremock Test is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Wiremock Test use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Wiremock Test?

Skills that share tags, products or a category with Wiremock Test: Radar (Auditware/radar, 154 stars), Safe Solana Builder (Frankcastleauditor/safe-solana-builder, 145 stars), deBridge Solana SDK Guide (internet-court/internet-court-skill, 6.4k stars) and Switchboard Oracle SDK (internet-court/internet-court-skill, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wiremock Test?

OpenZeppelin (a GitHub organization) maintains it in OpenZeppelin/openzeppelin-relayer, which has 153 GitHub stars. The repository was last updated on October 6, 2026.

Source: OpenZeppelin/openzeppelin-relayer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.