IsthisLee

Did You Check — Development skill for Claude Code

Development community

Checks whether the Claude Code best practices were actually followed, and blocks the turn when they were not: no claim without evidence, no "done" without a passing check, no disabled tests, no rewrit.

How to install Did You Check

This entry records only its repository, not the path inside it, so there is no exact command to give. Open IsthisLee/did-you-check and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Did You Check does

Checks whether the Claude Code best practices were actually followed, and blocks the turn when they were not: no claim without evidence, no "done" without a passing check, no disabled tests, no rewritten migrations.

Alternatives in Development

  • Done Check — PUA Done Check — 用于没跑测试别说完成、已完成但没证据、done without proof、需要验收/回归/交付质量检查的场景 19.5k ★
  • Defensive Code Cleanup — Clean Defensive Try-Catch Blocks 1.2k ★
  • WP Block Development — Develop WordPress Gutenberg blocks 902 ★

README

did-you-check

[![test](https://github.com/IsthisLee/did-you-check/actions/workflows/test.yml/badge.svg)](https://github.com/IsthisLee/did-you-check/actions/workflows/test.yml) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

**[English](README.en.md)** · 한국어

모범 사례는 문서에 적혀 있다. 지켜졌는지는 아무도 검사하지 않는다.

did-you-check는 그 검사를 맡는다. Claude Code 공식 문서가 권하는 것을 **부탁이 아니라 장치**로 바꾸는 플러그인이다. 턴마다 지켰는지 보고 안 지켰으면 그 턴이 끝나지 않는다.

검사하는 모범 사례 어긴 순간
근거 없이 주장하지 않는다 열어 보지도 않고 "그런 파일 없습니다" → 그 답이 나가지 못한다
성공을 주장하지 말고 근거를 보여 준다 테스트를 안 돌리고 "다 됐습니다" → 검사가 자동으로 돌고 실패하면 턴이 끝나지 않는다
본문에 "통과했습니다"만 적고 PR을 열려 함 → 돌린 명령과 출력을 붙이기 전에는 PR이 열리지 않는다
테스트를 비활성화하거나 지우지 않는다 통과시키려고 .skip을 붙임 → 그 편집이 아예 안 된다
설정에 제외 패턴을 넣어 테스트를 뺌 → 그것도 막힌다
쌓인 기록은 고치지 않는다 이미 올라간 마이그레이션을 고치려 함 → 커밋 전에 막힌다

네 줄 모두 **공식 문서와 검증된 문서가 권하는 것**이다. 내가 정한 규칙이 아니다. 어느 문장에서 왔는지는 [근거](#근거)에 있다.

한 번도 부탁하지 않았는데 매번 검사한다. **잊어도 된다는 것이 요점이다.**

**왜 훅인가.** 같은 문서가 답한다. "Unlike CLAUDE.md instructions which are advisory, hooks are deterministic and guarantee the action happens." (권고에 그치는 CLAUDE.md 지시와 달리, 훅은 결정적이고 그 동작이 반드시 일어나게 보장한다.)

근거 없는 답이 막히고 실측한 뒤 다시 답하는 화면


설치

Claude Code 세션 안에서 두 줄.

/plugin marketplace add IsthisLee/did-you-check
/plugin install check@did-you-check

받는 것은 `plugin/` 25개 파일뿐이고 릴리스 태그는 서명돼 있다. 확인하는 법은 [SECURITY.md](SECURITY.md#설치할-것을-직접-확인하는-법)에 있다.

**당신의 `settings.json`과 `CLAUDE.md`는 한 글자도 바뀌지 않는다.** 설치하면 평소와 똑같다. 검사는 걸릴 때만 나타난다.

턴마다 약 256ms가 붙는다. 훅별 실측은 [상세 문서](docs/gates.ko.md#얼마나-느려지나)에 있다.

필요한 것은 `bash`와 `python3`다. **macOS · Linux · Windows 셋 다 CI에서 매번 단위 테스트를 돌린다.** 망가진 입력을 던지는 fuzz는 리눅스·macOS에서는 매번, Windows에서는 main에 올라갈 때 돈다. Windows는 Git Bash가 있어야 한다.

무엇이 막히나

Claude가 답을 마치려는 순간 `Stop` 훅이 규칙 일곱 개를 본다. 하나라도 걸리면 턴이 끝나지 않고 Claude는 실측하거나 물어본 뒤 다시 답한다.

코드 막는 경우
R0 사용자가 이 디렉터리·파일·코드의 상태를 물었는데 도구를 한 번도 안