From 5ac7ddd43579fe3600b1155bb65c4da2793cd5d9 Mon Sep 17 00:00:00 2001 From: swrring Date: Thu, 7 May 2026 17:04:44 +0900 Subject: [PATCH] =?UTF-8?q?feat(hook):=20filler=5Fword=5Fcheck.sh=20PostTo?= =?UTF-8?q?olUse=20hook=20=EC=8B=A0=EC=84=A4=20+=20settings.json=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PD 직접 지시 (2026-05-07): "영역 영역 무한 반복 재발 방지 보완책 반영" 신설: - scripts/filler_word_check.sh: PostToolUse Edit/Write/MultiEdit hook - new_string·content에서 "영역" 빈도 grep - 8회 이상 시 stderr 경고 (한도 7회) - feedback_pm_filler_word_overuse.md 정합 등록: - .claude/settings.json PostToolUse Edit/Write/MultiEdit hooks 영역에 추가 영구 효과: - 본 PM Edit/Write 시점에 자동 빈도 감지 + 자기검증 환기 --- .claude/settings.json | 4 ++++ scripts/filler_word_check.sh | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 scripts/filler_word_check.sh diff --git a/.claude/settings.json b/.claude/settings.json index b4ba323..6aa7c6b 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -193,6 +193,10 @@ { "type": "command", "command": "bash scripts/c35_obligation_check.sh 2>/dev/null || true" + }, + { + "type": "command", + "command": "bash scripts/filler_word_check.sh 2>/dev/null || true" } ] }, diff --git a/scripts/filler_word_check.sh b/scripts/filler_word_check.sh new file mode 100644 index 0000000..b6edf88 --- /dev/null +++ b/scripts/filler_word_check.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# filler_word_check.sh — BurningTimes feedback_pm_filler_word_overuse hook +# 2026-05-07 PD 직접 지시 신설 +# PostToolUse (Edit/Write/MultiEdit) — "영역" filler 어휘 빈도 차단·환기 +# 토큰 비용: 0 + +INPUT=$(cat 2>/dev/null) +BODY=$(echo "$INPUT" | grep -oE '"(new_string|content)"[[:space:]]*:[[:space:]]*"[^"]*"' | head -3) +[ -z "$BODY" ] && exit 0 + +# 한국어 텍스트(주석·문서·대화로그)에서만 검사. 코드 변수명에 "Area"는 무관. +YEONGYEOK_COUNT=$(echo "$BODY" | grep -oE '영역' | wc -l | tr -d ' ') + +if [ "$YEONGYEOK_COUNT" -ge 8 ]; then + cat >&2 <