the-loop — скилл для Claude Code: проверка визуального результата
Записывает, как ведёт себя интерфейс, анимация или игра, сверяет запись с вашими критериями и повторяет прогон, пока не пройдёт.
npx skills add oxbshw/watch-skill --skill the-loop -a claude-codeЧто делает the-loop
Скриншот ловит один кадр, а поток — нет. the-loop запускает работающую цель, снимает её на видео и судит по критериям, которые вы формулируете обычными фразами: «оплата проходит, ошибка не всплывает, в сумме никогда не NaN». Отрицательные условия и образцы вроде «настоящая цена (например, $29.00)» тоже понимаются и проверяются. Правки в код вносите вы — скилл только наблюдает.
Для интерфейса и веб-страниц есть watch-skill loop start "<url | screen: | window:<title> | file>" "<pass criteria>", затем после изменения кода watch-skill loop iterate <loop_id>. Флаг --script повторяет одни и те же клики и заполнения на каждой итерации, поэтому сравнение честное. Вызывать iterate стоит только после реальной правки: он показывает, что исправлено, что не изменилось и что появилось нового. Для генерации видео работает watch-skill loop video-gen, для игр — watch-skill loop game, а watch-skill loop monitor следит за условием ограниченное число проверок и всегда завершается.
Скиллу разрешены только Bash и Read, так что до запуска убедитесь, что команда watch-skill доступна в окружении. Запись без оценки делает watch-skill capture — он не критикует, а только снимает и индексирует.
Какие задачи решает
- проверить, что после правки интерфейс действительно перестал ломаться
- поймать чёрные кадры и исчезающие спрайты в игре
- убедиться, что счётчик очков не выдаёт NaN
- сравнить поведение анимации до и после изменения
- дождаться условия в папке или на экране и не зависнуть в ожидании
Примеры запросов агенту
- запиши, как открывается корзина, и проверь, что итог никогда не NaN
- прогони игру и скажи, мигает ли экран чёрным
- сравни рендер видео до и после правки сцены
Как установить the-loop
1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill the-loop -a claude-code2Вручную: положить файлы
~/.claude/skills/the-loop/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/the-loop/
1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill the-loop -a codex2Вручную: положить файлы
.agents/skills/the-loop/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill the-loop -a cursor2Вручную: положить файлы
.cursor/skills/the-loop/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install oxbshw/watch-skill the-loop2Вручную: положить файлы
.github/skills/the-loop/SKILL.md1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill the-loop -a gemini-cli2Командой платформы
gemini skills install https://github.com/oxbshw/watch-skill --path skills/the-loopВручную: положить файлы
.devin/skills/the-loop/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill the-loop -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о the-loop
Как установить the-loop в Claude?
Выполните npx skills add oxbshw/watch-skill --skill the-loop -a claude-code. Скилл окажется в ~/.claude/skills/the-loop/SKILL.md.
Что делает the-loop?
Записывает работающий интерфейс, анимацию, игру или сгенерированное видео и сверяет запись с критериями, заданными обычными фразами. На успешном прогоне отдаёт before/after в MP4 и GIF.
Чем the-loop отличается от обычного скриншота?
Скриншот показывает момент, а не поток. the-loop смотрит запись целиком и потому ловит то, что кадр пропускает: NaN в счёте, чёрные кадры, исчезающие спрайты.
Исходный текст
SKILL.md · MIT
---
name: the-loop
version: "1.4.3"
description: The user built or changed something visual — a UI, an animation, a game, a generated video — and wants it verified, or asks "why does my UI look wrong", "check that the fix actually worked", "does the animation glitch". Use this to record the running thing, critique the recording against plain-language pass criteria, and iterate until it passes with before/after proof.
license: MIT
user-invocable: true
allowed-tools: Bash, Read
---
# THE LOOP
A screenshot shows a moment; it cannot show a flow. THE LOOP records the
actual running target, watches the recording, and judges it against pass
criteria you state in plain language. The loop only observes — YOU apply
the fixes, then iterate. On pass it renders a before/after MP4 + GIF as
proof.
## UI / web page / desktop window
```bash
watch-skill loop start "<url | screen: | window:<title> | file>" "<pass criteria>" [--script '<json steps>']
# ...apply the suggested fixes to the code...
watch-skill loop iterate <loop_id>
```
- Pass criteria are ordinary sentences: "the checkout completes, no
error toast ever appears, the total is never NaN". Negative claims
("never X") and exemplars ("a real price (like $29.00)") are both
understood and enforced deterministically.
- `--script` replays the same clicks/fills every iteration, so the
comparison is honest.
- Only call `iterate` after you actually changed something. It diffs
against the previous iteration: fixed / unchanged / new.
## Generated video (Manim, Remotion, ffmpeg, AI-gen)
```bash
watch-skill loop video-gen "<what the video must show>" "<render command>" --output <file>
```
Re-runs the generator each iteration and judges the fresh render against
the spec.
## Game / simulation
```bash
watch-skill loop game "<canvas-url | window:<title> | screen:>" "<pass criteria>" [--run "<launch cmd>"]
```
Catches the failures screenshots miss: a NaN score counter, black
flicker frames, sprites that vanish mid-motion.
## Watch for a condition (monitoring)
```bash
watch-skill loop monitor "<folder | url | screen: | window:<title>>" "<condition>" [--interval 10] [--max-checks 10]
```
Bounded — it always terminates. Events land in `events.jsonl` under the
loop directory as structured records.
## Record without judging
```bash
watch-skill capture "<target>" [--duration 10]
```
Capture alone never critiques; it just records, analyzes, and indexes.
Use `loop start` when there are pass criteria.
© oxbshw · MIT · oxbshw/watch-skill