К основному содержанию
скилл CX Codex

cli-anything-wiremock — скилл для Claude Code: моки WireMock

Скилл даёт агенту терминальную обёртку над Admin API WireMock: ставить заглушки, считать пришедшие запросы, крутить сценарии.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add HKUDS/CLI-Anything --skill cli-anything-wiremock -a claude-code
Открыть на GitHub

Что делает cli-anything-wiremock

Скилл ставит агенту обёртку над Admin REST API WireMock по пути /__admin/. Агент создаёт заглушки, смотрит, какие запросы реально дошли, и переключает состояния сценариев, не открывая браузер. Пригодится там, где интеграционные тесты ходят в мок вместо живого бэкенда.

Внутри пять групп команд: stub, request, scenario, record, settings. Быстрый вариант — stub quick GET /api/users 200 --body '[{"id":1}]', подробный — stub create с JSON целиком. Ещё есть record start против реального адреса: трафик записывается, из него потом получаются заглушки.

Для агентских вызовов есть флаг --json. Ошибки возвращаются объектом вида {"status": "error", ...} и с ненулевым кодом выхода. Адрес сервера берётся из WIREMOCK_HOST и WIREMOCK_PORT. WireMock должен быть уже поднят: иначе первая же команда отдаст Connection refused. Это повод проверить сервер до того, как агент запустит прогон тестов.

Какие задачи решает

  • Создать заглушку на POST /api/payment без похода в веб-интерфейс WireMock
  • Посчитать, сколько раз система дёрнула конкретный эндпоинт за прогон
  • Найти запросы, которые не совпали ни с одной заглушкой и вернули 404
  • Перевести сценарий корзины в следующее состояние и повторить тест
  • Записать трафик с живого бэкенда и превратить его в набор заглушек

Примеры запросов агенту

  • Проверь через cli-anything-wiremock status, поднят ли WireMock, и скажи, что дальше делать.
  • Создай заглушку stub quick POST /api/payment 200 с телом {"success":true} и покажи ответ.
  • Посчитай через request count, сколько раз пришёл POST /api/orders, и выведи только число.

Как установить cli-anything-wiremock

1Через Skills CLI (Vercel)

npx skills add HKUDS/CLI-Anything --skill cli-anything-wiremock -a claude-code

2Вручную: положить файлы

~/.claude/skills/cli-anything-wiremock/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cli-anything-wiremock/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о cli-anything-wiremock

Как установить cli-anything-wiremock в Claude Code?

Выполните npx skills add HKUDS/CLI-Anything --skill cli-anything-wiremock -a claude-code. Файл скилла окажется в ~/.claude/skills/cli-anything-wiremock/SKILL.md.

Что делает cli-anything-wiremock?

Это CLI-обёртка над Admin API WireMock. Через неё агент управляет заглушками, смотрит журнал запросов, переключает состояния сценариев и записывает трафик с настоящего бэкенда.

Обязательно ли поднимать WireMock заранее?

Да, скилл только ходит в API работающего сервера, своего мока он не запускает. Хост и порт задаются переменными WIREMOCK_HOST и WIREMOCK_PORT. Без запущенного сервера придёт Connection refused.

Исходный текст

SKILL.md · Apache-2.0
---
name: "cli-anything-wiremock"
description: Python CLI harness for WireMock HTTP mock server administration
version: 0.1.0
entrypoint: cli-anything-wiremock
---

## Overview

`cli-anything-wiremock` is a command-line interface that wraps the WireMock Admin REST API (`/__admin/`). It allows agents and developers to manage HTTP stub mappings, inspect served requests, control stateful scenarios, and record real backend traffic — all from the terminal or from agent tool calls.

WireMock is commonly used in integration testing environments to replace real HTTP backends with controllable mock responses.

## Command Groups

### `stub` — Manage HTTP stub mappings

| Command              | Description                                           |
|----------------------|-------------------------------------------------------|
| `stub list`          | List all registered stubs                             |
| `stub get <id>`      | Get details of a specific stub by UUID                |
| `stub create <json>` | Create a stub from a JSON string                      |
| `stub quick M URL S` | Quickly create a stub: METHOD URL STATUS_CODE         |
| `stub delete <id>`   | Delete a stub by UUID                                 |
| `stub reset`         | Reset all stubs to the defaults on disk               |
| `stub save`          | Persist in-memory stubs to disk                       |
| `stub import <file>` | Import stubs from a JSON file                         |

### `request` — Inspect served requests

| Command                    | Description                                      |
|----------------------------|--------------------------------------------------|
| `request list`             | List recent served requests                      |
| `request find <pattern>`   | Find requests matching a JSON pattern            |
| `request count <pattern>`  | Count requests matching a JSON pattern           |
| `request unmatched`        | List requests that matched no stub (404s)        |
| `request reset`            | Clear the request journal                        |

### `scenario` — Stateful scenario management

| Command               | Description                                       |
|-----------------------|---------------------------------------------------|
| `scenario list`       | List all scenarios and current states             |
| `scenario set N S`    | Set scenario NAME to STATE                        |
| `scenario reset`      | Reset all scenarios to their initial state        |

### `record` — Record traffic from a real backend

| Command                    | Description                                      |
|----------------------------|--------------------------------------------------|
| `record start <url>`       | Start proxying + recording to TARGET_URL         |
| `record stop`              | Stop recording, return captured stubs            |
| `record status`            | Check if currently recording                     |
| `record snapshot`          | Snapshot in-memory requests as stubs             |

### `settings` — Global server settings

| Command            | Description                            |
|--------------------|----------------------------------------|
| `settings get`     | Get current global WireMock settings   |
| `settings version` | Show WireMock server version           |

### Top-level commands

| Command    | Description                                      |
|------------|--------------------------------------------------|
| `status`   | Check if WireMock is running                     |
| `reset`    | Full reset: stubs + requests + scenarios         |
| `shutdown` | Gracefully shut down the WireMock server         |

## Key Examples

```bash
# Check connectivity
cli-anything-wiremock status

# Create a stub using quick form
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'

# Create a stub using full JSON
cli-anything-wiremock stub create '{
  "request": {"method": "POST", "url": "/api/orders"},
  "response": {"status": 201, "body": "{\"id\":99}"}
}'

# Verify a POST was made exactly once
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
# → {"count": 1}

# Scenario: advance state
cli-anything-wiremock scenario set "cart-flow" "item-added"

# Record a real backend
cli-anything-wiremock record start https://api.example.com
# ... make requests ...
cli-anything-wiremock record stop
```

## Agent Guidance

### Always use `--json` in agent contexts

Use `--json` for all invocations in scripts or agent tool calls. JSON output varies by command type (these are distinct response types, not an envelope wrapping all responses):

```bash
# Data commands return raw WireMock API JSON directly:
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
# → {"id": "abc-123", "request": {...}, "response": {...}, ...}

cli-anything-wiremock --json stub list
# → {"mappings": [...], "total": N}

# Void commands (delete, reset, save) return:
# → {"status": "ok"}

# Errors return:
# → {"status": "error", "message": "Connection refused"}
```

### Connection via environment

Set connection params via environment variables before calling any command:

```bash
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
```

### Workflow pattern for test verification

1. Set up stubs before running the system under test:
   ```bash
   cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
   ```
2. Run the system under test.
3. Verify interactions:
   ```bash
   cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
   ```
4. Clean up:
   ```bash
   cli-anything-wiremock reset
   ```

### Error handling

Non-zero exit code on all errors. In `--json` mode, errors return `{"status": "error", "message": "..."}`. Success returns the raw WireMock API response.

© HKUDS · Apache-2.0 · HKUDS/CLI-Anything

Похожие скиллы

Всё по теме «Тесты и QA» →
132-java-testing-integration-testing Juan Antonio Breña Moral Скилл для ИИ-агента, который наводит порядок в интеграционных тестах Java-сервисов: поднимает WireMock, изолирует заглушки и убирает моки HTTP-клиентов. CX Codex +1 376установок unit-test-wiremock-rest-api giuseppe-trisciuoglio Скилл задаёт шаблоны юнит-тестов внешних REST API на WireMock: заглушки ответов, проверка запросов, имитация сбоев без реальной сети. CX Codex +1 3 800установок flutter-testing Stanislav [MADTeacher] Chernyshev Скилл для написания, починки и отладки тестов Flutter: юнит-, виджет- и интеграционные тесты, моки, golden-проверки. CX Codex +1 1 500установок service-virtualization kindlmann Помогает выбрать стратегию изоляции внешних сервисов в автотестах: от заглушек MSW и WireMock до контейнеров Testcontainers и сбоев в Toxiproxy. CX Codex +1 1 000установок test-driven-development addyosmani Скилл ведёт разработку через цикл red-green-refactor: сначала тест, затем минимальный код и проверка результата. Подходит для логики, багов и изменений поведения. CX Codex +1 62 000установок 133-java-testing-acceptance-tests Juan Antonio Breña Moral Скилл превращает согласованные Gherkin-сценарии в приёмочные тесты Java: RestAssured, фикстуры БД и Kafka, WireMock для внешних API. CX Codex +1 329установок

Из того же набора55

cli-anything-renderdoc Скилл учит агента разбирать захваты RenderDoc из терминала: дерево draw call, состояние пайплайна, текстуры и буферы в файлах .rdc. CX Codex +1 482установок cli-anything-cloudcompare Оборачивает CloudCompare в консольный интерфейс для агентов с 41 командой обработки 3D-облаков точек и полигональных сеток. Пригодится для автоматизации расчётов и фильтрации геометрии. CX Codex +1 478установок cli-anything-anygen Инструмент даёт агенту доступ к AnyGen OpenAPI для генерации слайдов и диаграмм. Пригодится при автоматической сборке документов через терминал. CX Codex +1 471установок cli-anything-slay-the-spire-ii Ставит CLI cli-anything-sts2 и учит агента играть в Slay the Spire 2: читает состояние через мод-мост и отправляет ходы. CX Codex +1 472установок cli-anything-intelwatch Скилл собирает профиль компании по домену: финансы, стек технологий, проверка через ИИ. Пригодится перед сделкой или звонком клиенту. CX Codex +1 468установок cli-anything-mubu Скилл даёт агенту командную строку Mubu: находит документы в локальных бэкапах, читает дерево узлов и правит их через живой API. Пригодится, если заметки нужны прямо в сессии. CX Codex +1 467установок cli-anything-cloudanalyzer Управляет проверкой облаков точек, траекторий и сегментации через CloudAnalyzer. Пригодится для запуска QA-порогов и обработки файлов из агента. CX Codex +1 464установок cli-anything-zoom Скилл ставит в проект командную строку для Zoom: собрать встречу, зарегистрировать участников, скачать записи, не уходя из терминала и не открывая веб-интерфейс. CX Codex +1 462установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой