Stop That Shit — 부탁한 작업부터 끝내도록: 과잉 검증 줄이기

수정은 끝났는데, AI는 아직도 확인 중인가요?

같은 테스트를 다시 실행하고, 이미 확인한 파일을 또 읽고, 마지막에는 요청하지 않은 안전장치까지 추가합니다. 새로 밝혀진 문제도 없는데 완료가 계속 미뤄진다면, 확인을 더 하는 이유부터 물어볼 필요가 있습니다.

이 글에서는 과잉 검증을 필요한 확인 이후에도 근거 없이 검증 범위를 늘리는 행동으로 구분합니다. 작업이 어렵거나 테스트가 많다는 이유만으로 과잉이라고 부르지는 않습니다.

**Stop That Shit(STS)**는 AI 코딩 에이전트가 요청한 작업의 범위를 지키도록 돕는 오픈 소스 Skill + Guard 플러그인입니다. Claude Code, Codex, OpenCode, Hermes Agent CLI, Pi를 지원합니다. 프로젝트 작성자 Lennney가 관리하는 한국어 안내입니다.

GitHub에서 소스 보기 · 0.2.1 설치 안내 — 영어

이런 상황에서 사용합니다

STS는 무조건 테스트를 줄이거나 빨리 멈추게 하는 도구가 아닙니다. 현재 결과를 완성하는 데 필요한 수정과 검증은 수행하되, 추가 작업에는 이유가 있어야 한다는 기준을 제시합니다.

Skill과 Guard는 무엇이 다른가요?

Skill은 에이전트가 판단할 때 참고하는 지침입니다. 추가 작업을 시작하기 전에 다음 네 가지를 묻도록 합니다. 이 판단 순서를 Stop Ladder라고 부릅니다.

  1. 사용자가 요청한 작업인가?
  2. 현재 결과를 완성하는 데 필요한가?
  3. 실제 코드, 데이터, 실행 환경 또는 인수 조건 중 무엇이 그 필요성을 뒷받침하는가?
  4. 이 작업을 생략하면 현재 요구사항의 어느 부분이 실패하는가?

Guard는 지원되는 도구 실행 전 훅에서 명시적인 경계를 확인합니다. 예를 들어 수정 권한이 없는 리뷰, 허용하지 않은 의존성 추가, 지정된 파일 범위 밖의 쓰기 등을 검사합니다. 모든 명령의 의미를 이해하는 보안 샌드박스는 아니며, 호스트가 제공하는 이벤트와 입력에 따라 검사 범위가 달라집니다.

AGENTS.md에는 저장소의 지속적인 규칙을 두고, STS에는 이번 작업의 모드와 범위를 지정할 수 있습니다. 둘은 대체 관계가 아닙니다.

설치: Claude Code와 Codex

이 안내의 설치 기준은 공개 릴리스 0.2.1입니다. 설치 전 호스트별 요구사항과 제거 방법 — 영어를 확인하세요.

Claude Code

STS는 Anthropic 공식 플러그인이 아닙니다. 설치 전에 Hook 설정Skill 지침을 읽어 보세요. Hook은 특정 실행 시점에 호출되는 스크립트이고, Skill은 작업 방식을 안내하는 지침입니다. 외부 플러그인을 금지하는 팀 정책이 있다면 우회해서 설치하지 마세요.

1. 저장소를 받습니다. Git, Node.js, Claude Code 명령을 사용할 수 있는 터미널에서 실행하세요.

git clone --branch 0.2.1 https://github.com/lennney/stop-that-shit.git
cd stop-that-shit

이미 복제한 저장소가 있다면 사용할 버전과 현재 폴더를 먼저 확인합니다.

2. 플러그인 구조를 검사합니다. 저장소 루트에서 실행하세요.

claude plugin validate .

이 단계가 통과해도 모델의 행동이 개선됐다는 뜻은 아닙니다. 설치에 필요한 구조를 검사한 것입니다. 오류가 나면 먼저 해결한 뒤 다음 단계로 진행하세요.

3. 목록에 등록하고 설치합니다. 여기서 마켓플레이스는 설치할 플러그인 목록이며, 이 명령에서는 방금 받은 로컬 폴더를 사용합니다.

claude plugin marketplace add ./
claude plugin install stop-that-shit@stop-that-shit

4. 새 세션에서 확인합니다. Claude Code를 다시 시작하거나 /reload-plugins를 실행하고, 작은 diff로 다음 요청을 시험하세요.

/stop-that-shit:stop-that-shit review -- 이 diff를 검토하고 문제점만 알려 주세요. 파일은 수정하지 마세요.

실행 전후 git diff를 비교해 요청하지 않은 수정이 생겼는지 확인합니다. 파일이 그대로라는 것만으로 Guard가 차단했다고 단정하지 마세요. 에이전트가 처음부터 수정하지 않았을 수도 있습니다. 차단 여부는 Hook 기록과 함께 확인해야 합니다.

설치 직후 작업 모드를 확인하지 않은 OBSERVING / unconfirmed 상태에서는 관찰만 하고 차단하지 않습니다. 위처럼 review를 명시해 작업 권한을 설정하는 과정이 중요합니다.

Codex

codex plugin marketplace add lennney/stop-that-shit --ref 0.2.1
codex plugin add stop-that-shit@stop-that-shit

설치 후 Codex를 다시 시작하고, /hooks에서 플러그인의 UserPromptSubmitPreToolUse 훅을 확인하고 신뢰 설정을 적용하세요.

$stop-that-shit review -- 이 diff를 검토하고 문제점만 알려 주세요. 파일은 수정하지 마세요.

OpenCode, Hermes Agent CLI, Pi의 설치 절차는 호스트별 설치 안내 — 영어에 있습니다. 대부분의 어댑터는 Node.js 18 이상이 필요합니다. Pi 0.84.4는 Node.js 22.19 이상이 필요하므로 호스트 요구사항도 확인해야 합니다.

사용 예시: 리뷰와 수정을 구분하기

리뷰는 변경 권한을 뜻하지 않습니다. Claude Code에서 수정을 원하면 접두어 뒤에 change를 붙입니다. 아래 각 줄은 별도의 요청 예시입니다.

/stop-that-shit:stop-that-shit change -- 실패한 설정 테스트를 고쳐 주세요.
/stop-that-shit:stop-that-shit lock change files=src/config.cjs|test/config.test.cjs -- 이 두 파일 안에서 설정 오류를 고쳐 주세요.
/stop-that-shit:stop-that-shit change deps=allow -- 요청한 파서 의존성을 추가해 주세요.
/stop-that-shit:stop-that-shit change hash=allow -- 배포 규약에 필요한 체크섬을 생성해 주세요.

files=는 허용할 파일을 알고 있을 때만 사용하세요. 필요한 호출부나 테스트가 아직 밝혀지지 않았다면 먼저 영향 범위를 확인해야 합니다. 무조건 두 파일 안에 가두는 것이 좋은 결과는 아닙니다.

Codex에서는 다음과 같이 입력합니다.

$stop-that-shit change -- 실패한 설정 테스트를 고쳐 주세요. 관련 없는 파일은 바꾸지 마세요.

작업 대상 파일을 미리 안다면 범위를 명시할 수 있습니다.

$stop-that-shit lock change files=src/config.cjs|test/config.test.cjs -- 이 두 파일 안에서 설정 오류를 수정해 주세요.

review, change, files= 같은 명령 구문은 번역하지 않습니다. -- 뒤의 요청은 한국어로 작성할 수 있습니다. Claude Code에서는 위의 $stop-that-shit 대신 /stop-that-shit:stop-that-shit를 사용하세요.

예를 들어 요청이 “result.csv를 내보내 주세요”라면 파일 생성과 필요한 내용 확인은 작업에 포함됩니다. 하지만 사용자가 요청하지 않았고 후속 과정에서도 읽지 않는 result.csv.sha256까지 만들 이유는 없습니다. 반대로 전달 규약에서 체크섬을 요구한다면 해시 생성은 필요한 작업입니다.

STSS: 글에서도 불필요한 설명 줄이기

함께 제공되는 **Stop That Shit Slop(STSS)**는 글을 다루는 별도 Skill입니다. rewrite는 주장을 보존하며 문장을 다듬고, audit은 글을 다시 쓰지 않고 문제를 검토합니다. 코딩 작업의 Guard와는 역할이 다릅니다. STSS 사용 지침 — 영어에서 확인할 수 있습니다.

설치 후 문제가 생겼다면

증상확인할 사항
터미널에서 명령을 찾을 수 없음Git·Node.js·Claude Code 설치와 PATH를 확인하고 새 터미널에서 다시 시도합니다.
플러그인 검사 중 경로 오류.claude-pluginhooks가 있는 저장소 루트에서 실행했는지 확인합니다.
설치했는데 Skill 명령을 사용할 수 없음Claude Code 재시작 후 플러그인이 설치·활성화되어 있는지 확인합니다.
리뷰에서도 파일이 수정됨요청 모드, Hook 연결, 해당 호스트의 지원 범위를 확인하고 재현 사례를 남깁니다.

권한 설정을 풀거나 필요한 테스트를 없애서 해결하지 마세요. STS는 호스트의 권한 관리나 격리 환경을 대신하지 않습니다. 큰 변경이라면 먼저 계획과 영향 범위를 검토하고, 승인한 작업에 맞춰 STS 모드를 지정할 수 있습니다.

사용 전에 알아둘 점

토큰이나 사용량을 얼마나 아낄 수 있나요?

일정한 절감률을 보장하지 않습니다. 불필요한 행동을 줄이는 것이 목적이지만, 효과는 모델·호스트·작업에 따라 달라집니다. STS가 모델의 지능이나 서비스 사용 한도를 바꾸지는 않습니다.

필요한 테스트까지 막지는 않나요?

테스트가 많다는 이유만으로 막는 것이 목표는 아닙니다. 실제 변경에 영향을 받는 호출부와 회귀 테스트는 여전히 필요합니다. 필요한 작업이 막혔다면 성공 사례가 아니라 조사해야 할 문제로 봅니다.

사용자가 테스트 이름을 직접 말하지 않았더라도, 공유 인터페이스나 배포 경로를 바꿨다면 넓은 검증이 필요할 수 있습니다. 판단 기준은 요청 문장의 길이가 아니라 실제 영향 범위입니다.

설치하면 모든 행동이 통제되나요?

아닙니다. Skill은 모델이 따르는 지침이고, Guard도 지원되는 이벤트와 식별 가능한 동작만 검사합니다. 설치 성공이나 자체 테스트 통과만으로 실제 작업에서의 효과를 증명할 수 없습니다. 검증 범위와 근거 — 영어를 함께 읽어 주세요.

무료인가요?

STS는 MIT 라이선스의 무료 오픈 소스입니다. 사용하는 AI 서비스의 요금과 구독은 별도입니다.

사용 의견을 들려주세요

필요한 작업을 막았거나, 막아야 할 추가 작업을 놓쳤다면 GitHub 이슈에 알려 주세요. 사용한 호스트와 모델, STS 버전, 원래 요청, 예상한 행동과 실제 행동을 적어 주시면 재현에 도움이 됩니다.

API 키, 개인정보, 비공개 코드는 지운 뒤 공유해 주세요. 한국어 표현이 어색하거나 설치 설명이 불명확한 부분에 대한 수정 제안도 환영합니다.

관련 한국어 글

Using Claude의 STS 소개는 과잉 검증 문제를 Claude Code 사용자에게 소개합니다. 이 페이지는 프로젝트 작성자가 관리하는 별도의 설치·사용 안내입니다. 제3자 글의 모델 관련 수치나 사용량 절감 주장을 STS의 효과로 보증하지 않습니다.

공식 GitHub 저장소 · 중국어 제품 안내 · 영어 제품 안내

마지막 업데이트: