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

meticulous-test — скилл для Claude Code: визуальные тесты фронтенда

Запускает прогон Meticulous после правок во фронтенде и передаёт результат скиллу meticulous-review, чтобы разметить каждое визуальное изменение.

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

Что делает meticulous-test

Скилл ведёт агента по шагам: собрать фронтенд так же, как это делает CI, загрузить артефакт как переиспользуемое развёртывание через agent upload-build и получить deploymentId. Дальше agent trigger-test-run сравнивает сборку с базой и печатает testRunId. Сборка загружается один раз — тот же deploymentId можно прогнать против другой базы, пересобирать и загружать заново не нужно.

База обязательна. Команда берёт её из текущего каталога (merge-base с веткой по умолчанию) либо из --baseSha. По умолчанию прогон блокирует выполнение до финиша, а статус Failure означает, что визуальные различия найдены — это нормальный вердикт, не ошибка. Флаг --dontWaitForTestRunToComplete возвращает управление сразу.

Есть подвох с незакоммиченными правками. Если дерево грязное, прогон записывается против эфемерного коммита, а не вашего HEAD, и команды, которые ищут прогон по локальному чекауту, его не найдут — передавайте --testRunId в шаг ревью явно. Неотслеживаемые файлы отклоняются, их нужно сначала добавить через git add. Перед началом скилл советует прогнать meticulous-cli-update, если тот ещё не запускался в этом разговоре.

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

  • собрать фронтенд так же, как в CI, и загрузить артефакт одной командой
  • прогнать визуальный тест против другой базовой ветки без пересборки
  • разметить каждое визуальное изменение как намеренное или случайное
  • проверить фичу до создания PR, пока правки ещё не закоммичены
  • получить testRunId и передать его в ревью визуальных диффов

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

  • прогони meticulous-test после моих правок в компоненте и покажи, что изменилось визуально
  • запусти тест против базы main и передай результат в meticulous-review
  • у меня грязное дерево — прогони meticulous-test и передай --testRunId в ревью

Как установить meticulous-test

1Через Skills CLI (Vercel)

npx skills add alwaysmeticulous/skills --skill meticulous-test -a claude-code

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

~/.claude/skills/meticulous-test/SKILL.md

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

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

Вопросы о meticulous-test

Как установить meticulous-test в Claude?

Выполните npx skills add alwaysmeticulous/skills --skill meticulous-test -a claude-code. Скилл появится в ~/.claude/skills/meticulous-test/SKILL.md.

Что делает meticulous-test?

Проводит агента через сборку фронтенда, загрузку артефакта, запуск прогона Meticulous и передачу testRunId скиллу meticulous-review для классификации визуальных изменений.

Почему ревью не находит мой прогон?

Если вы тестировали с незакоммиченными правками, прогон привязан к эфемерному коммиту, а не к HEAD. В этом случае передавайте --testRunId в шаг ревью явно.

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

SKILL.md · ISC
---
name: meticulous-test
description: Run a Meticulous test run after implementing a frontend change, then hand off to the `meticulous-review` skill to classify each visual change as intended or unintended. Uploads the build once — the same build can be re-triggered against different bases without rebuilding — and it works with uncommitted changes. Use when implementing a feature autonomously end-to-end before creating a PR.
user-invocable: true
---

To test a frontend change using Meticulous, follow the workflow below step by step, using the CLI or MCP commands as described.

> Before starting, run the `meticulous-cli-update` skill to ensure the Meticulous CLI and skills are up to date — unless it has already run earlier in this conversation, in which case skip it.

If you are already given a test run id, skip to Step 4.

## Step 1 -- Build the frontend

1. Find out what build artefact Meticulous expects by checking your CI config for the corresponding step:
   - GitHub: `.github/workflows/*.yml` for `uses: alwaysmeticulous/report-diffs-action/upload-assets@v1` (build assets) or `upload-container@v1` (docker image)
   - GitLab: `.gitlab-ci.yml` (or an included `.gitlab/ci/*.yml`) for `npx @alwaysmeticulous/cli ci upload-assets` (build assets) or `ci upload-container` (docker image)
   - Bitbucket: `bitbucket-pipelines.yml` for the same `npx @alwaysmeticulous/cli ci upload-assets` / `ci upload-container` step
2. Build the frontend following the same instructions as used in that CI config.

## Step 2 -- Upload the build

Register the build as a reusable deployment with `agent upload-build`. This uploads the artefact and prints a `deploymentId` to stdout — it does **not** trigger a run yet.

```bash
# CLI
meticulous agent upload-build --appDirectory <path-to-build>     # assets
meticulous agent upload-build --localImageTag <image-tag>        # container

# MCP (not 1:1 — request an upload URL, upload the artifact yourself, then register it)
request_asset_upload(size=<zipByteSize>)      # or request_container_upload() — no required args
# ... upload the zip/image to the returned URL/registry yourself ...
register_asset_build(uploadId="<id>", commitSha="<sha>")      # or register_container_build(uploadId="<id>", commitSha="<sha>")
```

- `--appDirectory` points to the build output directory (e.g. a `dist/` subfolder); `--localImageTag` is the local Docker image tag. The build mode is auto-detected.
- The build's commit defaults to the local git HEAD. If the working tree is dirty, it is captured as an **ephemeral commit** (printed as `commitSha (local, ephemeral due to dirty working tree): …`) — see the uncommitted-changes note below.
- Untracked files are rejected (they can't be captured) — `git add` them first.
- Capture the `deploymentId` from stdout (pass `--verbose` to also see progress on stderr).

## Step 3 -- Trigger a test run

Trigger a run for the deployment, comparing against a base. Run it from the repo directory to infer both the base (merge-base with the origin default branch) and the git diff automatically:

```bash
# CLI
meticulous agent trigger-test-run --deploymentId <deploymentId>

# MCP (never infers `baseSha`/`gitDiffOutput` — pass them explicitly — and always returns immediately without waiting for the run to finish)
trigger_test_run(deploymentId="<deploymentId>", baseSha="<sha>")
```

- A base is **required**. It's auto-inferred from the current directory, or pass `--baseSha <sha>` (and optionally `--gitDiffOutput`) to set it explicitly.
- Omit `--deploymentId` to use the most recent deployment already uploaded for the local HEAD commit instead — this requires a clean working tree (no uncommitted changes).
- The command **blocks until the run finishes** by default and prints the `testRunId` to stdout; the final status is `Failure` when visual differences were detected (a normal completed verdict, not an error). Pass `--dontWaitForTestRunToComplete` to return as soon as the run is triggered.
- **One build, many bases:** the same `deploymentId` can be re-triggered against different bases — just run `agent trigger-test-run` again with a different `--baseSha`. No rebuild or re-upload needed.

Note the `testRunId` from the output.

## Step 4 -- Review the visual changes

Follow the `meticulous-review` skill, passing the `testRunId` from Step 3. It fetches the diff summary, inspects representative screenshots / DOM diffs / timelines, and produces a final report classifying each visual change as intended or unintended.

> **Uncommitted changes:** if you built/tested with a dirty working tree, the run is recorded against an ephemeral commit that is not your HEAD (and isn't pushed). Commands that resolve a run from the local checkout — `meticulous-review` / `agent test-run-diffs` run with no `--testRunId` — won't find it by commit, so **always pass the explicit `--testRunId`** to the review step in that case.

© alwaysmeticulous · ISC · alwaysmeticulous/skills

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

Всё по теме «Тесты и QA» →
scaffold-dotnet-test-project dotnet Создаёт или чинит тестовый проект .NET: находит, почему CI не видит тесты, и прописывает проект в нужный solution-файл. CX Codex +1 2 600установок test-strategy kindlmann Собирает документ по стратегии тестирования на несколько кварталов: уровни тестов, критерии входа и выхода, KPI качества. Пригодится, когда пора описать подход к QA, а не отдельный релиз. CX Codex +1 1 500установок test-reliability kindlmann Разбирает флаки по категориям, чинит сломанные локаторы и данные, карантинит нестабильные тесты. Каждый автофикс даёт отчёт с оценкой уверенности. CX Codex +1 1 100установок frontend-visual-qa daymade Проверяет уже отрендеренный интерфейс в реальном браузере: типографику, переполнение, адаптив, маршруты, графики. Пригодится после вёрстки, когда сборка прошла, а глазами никто не смотрел. CX Codex +1 572установок argos-cli argos-ci Скилл для работы с визуальным тестированием Argos прямо из терминала: сборки, снапшоты, ревью, флаки-тесты. Пригодится, если гоняете argos в скрипте или CI. CX Codex +1 761установок dx-devops-test-pipeline-configure forcedotcom Настраивает тестовую инфраструктуру пайплайна DevOps Center: включает провайдера тестов, обновляет список сьютов или ставит quality gate на стадию. CX Codex +1 5 000установок

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

meticulous-cli-update Проверяет, установлен ли @alwaysmeticulous/cli и свежая ли версия, и обновляет его до последней. Запускается в начале работы любого другого скилла Meticulous. CX Codex +1 8 600установок meticulous-cli Скилл обучает агента управлять утилитой Meticulous: запускать воспроизведение сессий, проверять визуальные регрессии и работать с диффами. CX Codex +1 8 600установок meticulous-use-session-data Скилл находит записанные сессии Meticulous под изменённый код ветки и скачивает их локально. Помогает изучить пользовательские сценарии и получить моки сетевых ответов для тестов. CX Codex +1 8 500установок meticulous-zero-diff-task Организует цикл рефакторинга и обновления библиотек с проверкой через Meticulous. Помогает агенту устранять любые визуальные расхождения в интерфейсе до создания пулл-реквеста. CX Codex +1 4 500установок meticulous-fix Скилл берёт отклонённые визуальные диффы из прогона Meticulous и вносит правки по комментариям ревьюеров. Нужен, когда ревью уже прошло и пора чинить. CX Codex +1 4 500установок meticulous-increase-coverage Скилл для Meticulous: находит файлы без покрытия, привязывает их к реальному действию в интерфейсе и подтверждает рост покрытия сравнением с базой. CX Codex +1 2 400установок

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

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