Skip to main content

confirm-the-premise-before-offering-the-choice

사용자에게 선택지를 제시하기 전에, 그 선택지가 실제로 무엇을 하는지 코드로 확인하라. 인수인계·설계문서·백로그 문장을 근거로 질문을 만들면 사용자가 틀린 전제 위에서 결정하게 되고, 그 결정은 되돌릴 수 없다(사람은 이미 골랐다). 코드 작성 전 검증보다 **질문 전 검증**이 먼저다. 트리거 - AskUserQuestion 으로 옵션 제시, "A 하면 B 가 됩니다" 형태의 설명, 문서를 인용해 결정을 요청, 되돌릴 수 없는 작업의 승인 요청.

Zur Installation springen

Quellinformationen

Repository
blas1n/claude-skills
Letzte Quellaktivität
20. August 2026 um 09:23
Erkannte Sprache von SKILL.md
Koreanisch
Sterne
2
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
confirm-the-premise-before-offering-the-choice
description
사용자에게 선택지를 제시하기 전에, 그 선택지가 실제로 무엇을 하는지 코드로 확인하라. 인수인계·설계문서·백로그 문장을 근거로 질문을 만들면 사용자가 틀린 전제 위에서 결정하게 되고, 그 결정은 되돌릴 수 없다(사람은 이미 골랐다). 코드 작성 전 검증보다 **질문 전 검증**이 먼저다. 트리거 - AskUserQuestion 으로 옵션 제시, "A 하면 B 가 됩니다" 형태의 설명, 문서를 인용해 결정을 요청, 되돌릴 수 없는 작업의 승인 요청.
version
1.0.0
task_types
["workflow","design","review"]
triggers
[{"pattern":"사용자에게 선택지를 제시하기 직전 (AskUserQuestion 등)"},{"pattern":"'X 하면 Y 가 실증된다' 처럼 인과를 주장하며 승인을 요청할 때"},{"pattern":"인수인계/설계문서/백로그의 문장을 근거로 결정을 요청할 때"}]
category
trap
# 선택지를 드리기 전에 전제를 코드로 확인하라 ## Problem `verify-handoff-claims-against-code-before-building` 은 **짓기 전에** 확인하라고 한다. 그런데 더 앞에 있는 관문이 있다 — **묻기 전에.** BSVibe 2026-08-20. 인수인계에 이렇게 적혀 있었다: > pending Safe Mode 4건을 해소하는 것이 #782·#784 실증의 **유일한 열쇠**다. 그 문장을 근거로 사용자에게 세 선택지를 드렸고, 사용자는 *"제가 전부 discard 로 정리"* 를 골랐다. 그 **뒤에** 코드를 읽었다: ```python if flipped and reason_text: # ← 사유가 비면 아래가 통째로 안 돈다 await self._record_rejection_knowledge(...) # settle → 볼트 (= #784 실증 경로) await self._reopen_run_with_the_reason(...) # 런 재개 (= #782 실증 경로) ``` 즉 실제 갈림길은 내가 제시한 것과 **다른 모양**이었다: | | settle/재개 | 볼트 오염 | |---|---|---| | 사유 비움 | **안 일어남** | 없음 | | 사유 채움 | 일어남 | **영구 negative knowledge** | 사용자는 "정리하면 실증된다"는 전제로 골랐는데, 고른 대로 하면 **실증이 안 된다.** prod 실측이 확인했다: settle 활동 **0건**, 지표 불변. - 증상: 결정을 받아 실행한 뒤 "그런데 이게 원래 목적을 달성하지 못한다"를 뒤늦게 발견. - 근본 원인: 질문의 **인과 주장**("A 하면 B 가 된다")을 문서에서 복사했고, 그 인과가 코드에 없었다. - 왜 더 나쁜가: 코드는 다시 짜면 되지만 **사람의 결정은 되돌릴 수 없다.** 이미 골랐고, 그 선택은 틀린 세계관 위에서 이뤄졌다. 사용자의 시간과 신뢰를 쓴 것이 헛돈다. ## Solution ### 1. 질문에 담긴 **인과 주장**을 목록으로 뽑아라 질문 초안에서 "~하면 ~된다", "~가 유일한 방법이다", "~하지 않으면 ~가 안 된다"를 전부 찾아라. 각각이 **검증해야 할 명제**다. ### 2. 각 명제를 코드에서 확인하라 — 특히 **조건문** 가장 자주 틀리는 자리는 "이 동작이 일어나긴 하나"가 아니라 **"어떤 조건에서 일어나나"** 다. 호출부만 보고 끝내지 말고 그 안의 가드를 읽어라. ```bash grep -n "def deny" -A 40 backend/.../safe_mode_queue.py # 호출만이 아니라 가드까지 ``` ### 3. 되돌릴 수 없는 축을 표로 만들어 질문에 **함께** 넣어라 선택지의 설명이 아니라 **결과의 비대칭**을 보여줘라. 위 예에서 사용자가 알아야 했던 것은 "어느 쪽이 편한가"가 아니라 "**실증을 얻으려면 영구 오염을 감수해야 한다**"였다. ### 4. 물은 뒤에 전제가 틀린 걸 알았다면 — 실행 전에 **정정부터** 정정은 사과가 아니라 **정보 갱신**이다. 새 사실 → 갈림길이 어떻게 달라졌는지 → 내가 어느 쪽으로 갈지와 그 이유. 그러고 나서 실행하고, 결과를 실측으로 보고하라. ``` "제 질문의 전제가 틀렸습니다. 코드는 X 조건에서만 Y 를 합니다. 그래서 고르신 쪽으로 하면 Z 는 달성되지 않습니다. 인수인계가 경고한 쪽(영구 오염 금지)을 따라 A 로 진행하고, 실측으로 확인하겠습니다." ``` ### 5. 전제가 문서에서 왔으면 **문서도 고쳐라** 같은 문장이 다음 세션에서 같은 잘못된 질문을 만든다. 인수인계·설계문서의 그 줄을 실측 결과로 교체하고, "왜 틀렸는지"를 남겨라. ## Verification 선택지를 제시하기 전 체크: - [ ] 질문 안의 모든 "~하면 ~된다"를 코드에서 확인했다 (조건문까지) - [ ] 되돌릴 수 없는 결과(영구 기록·외부 전송·삭제)를 선택지 설명에 **명시**했다 - [ ] 어느 선택지도 원래 목적을 달성 못 한다면, 그 사실 자체를 먼저 보고했다 - [ ] 전제의 출처가 문서라면, 그 문서를 고칠 계획이 있다 ## Related - `verify-handoff-claims-against-code-before-building` — 짓기 전 검증(이 스킬의 다음 단계) - `absence-measurement-validity-check` — "안 일어난다"고 결론짓기 전 프로듀서 확인 - `diagnostic-call-must-be-read-only` — 진단하려고 친 쓰기가 지식을 오염시킨다
Auf GitHub ansehen