ホーム / Skills / 開発効率化 / Verify and Stop 検証して止まる
開発効率化

Verify and Stop 検証して止まる

Julius BrusseeApache-2.0Skill の言語: 英語
ライセンス確認済みスクリプトなし
デモ実行記録 · claude-opus-5-5 · 2026年10月
Can you check whether this ticket is done? I only want to know if the acceptance criteria are met. Ticket ACME-88 acceptance criteria: 1. `GET /health` returns HTTP 200 with JSON body `{"status": "ok"}`. 2. The endpoint does not require authentication. 3. A test covers the endpoint. The developer's diff: ```python # app/routes.py @app.get("/health") @require_login def health(): return {"status": "ok"}, 200 ``` ```python # tests/test_health.py def test_health(client, logged_in_user): resp = client.get("/health") assert resp.status_code == 200 assert resp.json == {"status": "ok"} ``` CI output: `tests/test_health.py::test_health PASSED` and `142 passed in 8.31s`.
Skill: verify-and-stop

No, ACME-88 isn't done. Criterion 2 fails, and the test that's supposed to cover the endpoint wouldn't catch that failure.

# Criterion Result Evidence
1 GET /health returns 200 with {"status": "ok"} Pass, but only for logged-in users The handler returns {"status": "ok"}, 200. The test checks both the status code and the JSON body, and CI shows it passing.
2 No authentication required Fail app/routes.py puts @require_login on health(), so the endpoint requires login.
3 A test covers the endpoint Partial test_health exists and passes. But it uses the logged_in_user fixture, so it only tests a logged-in request. That's why CI passes even though criterion 2 fails.

To close the ticket:

  • Remove @require_login from health().
  • Remove logged_in_user from the test so it makes the request without logging in. That way the test also proves criterion 2.

How I checked: There's no repository in this workspace, so I didn't run anything. This is based only on the diff and CI output you pasted. I'm also assuming @require_login blocks requests that aren't logged in (with a 401, 403 or a redirect), as its name suggests. I couldn't see its code to confirm that.

Real run recorded with claude-code / claude-opus-5-5. Output is shown verbatim, unmodified.

できること

検証だけが目的のタスク向けの作業ルールです。受け入れ条件を、それを示せる最小限のチェックに置き換え、結果を報告して止まります。

仕組み

  1. 受け入れ条件ごとに最小限で十分な証明を決め、現在のコードにまだ当てはまる既存の結果は再利用します。
  2. 対象を絞ったチェックを先に、広いチェックを後に実行し、それぞれを合格、不合格、実行不可、ブロックのいずれかで正確に報告します。
  3. 頼まれない限りプロダクトのコードは変更せず、条件を満たしたあとに手直し、整理、テスト追加はしません。

向いている場面

「このチケットは完了?」の確認、マージ前の検証、最後のひと押しの確認。

知っておきたいこと

オープンソースプロジェクト Caveman に含まれる汎用的な作業パターンの一つです。指示文に Caveman のブランド色はなく、どのプロジェクトでも使えます。

補足とリスク

指示だけのファイルです。スクリプトはなく、ネットワーク接続もファイルの書き込みも行いません。 パッケージには LICENSE、NOTICE、agents/openai.yaml(Codex 用の表示名と既定プロンプト)も含まれます。