tfx-goal-clarifylisted
Install: claude install-skill tellang/triflux
# tfx-goal-clarify — 자연어 → `/goal` 블록 변환기
> tfx-interview의 슬림 fork. **인터뷰 산출물을 Action Plan 대신 `/goal` 블록 한 덩어리로만** 출력한다.
> 공식 `/goal` 3축(End state / Stated check / Constraints) + `or stop after N turns`를 강제한다.
## 용도
Claude Code 2.1.139+의 `/goal` 명령어에 넣을 프롬프트를 자연어 아이디어로부터 구조화한다. `/goal`은 평가자(Haiku)가 transcript만 보고 yes/no 판정하므로, **측정 불가능한 조건은 무한 루프 또는 환각 yes**를 유발한다. 이 스킬은 그 함정을 회피한다.
**비교**:
- `tfx-interview`: 일반 요구사항 인터뷰 → 전체 Action Plan 산출
- `tfx-goal-clarify`: **/goal 블록 한 덩어리만** 산출 (5분 내 완료 목표)
- `gstack-office-hours`: 제품 아이디어 단계 (코드 이전)
## 입력 처리
`ARGUMENTS: <자연어 목표>`가 들어오면 첫 입력으로 사용. 없으면 사용자에게 요청.
`--tier N` 플래그:
- `1` = one-liner (3턴 이내 작업)
- `2` = standard 3-part (기본값, 10턴 이내)
- `3` = 9-section (다중 모듈/다일 작업)
## 워크플로우
### Step 1: 분류 + 초기 ambiguity 측정
코드베이스 컨텍스트 살펴보기 (선택적):
```bash
# 사용자가 어떤 repo에서 호출했는지 확인
git rev-parse --show-toplevel 2>/dev/null
```
자연어 입력을 3축으로 분해:
| 축 | 질문 | 점수 (0~1) |
|----|------|-----------|
| End state | 완료를 무엇으로 증명? | goal |
| Check | Claude가 어떤 명령/출력으로 보여줄 수 있나? | constraints |
| Constraints | 절대 건드리면 안 될 것은? | criteria |
`ambiguity = 1 - (end_state×0.4 + check×0.3 + constraints×0.3)`
Gemini 위임 (tfx-interview와 동일):
```bash
Bash("bash ~/.claude/scripts/tfx-route.sh gemini '<analysis prompt>'")
```
Gemini 미사용 환경(m5 등 SSH 원격)에서는 Claude가 직접 채점.
### Step 2: 적응형 인터뷰 (AskUserQuestion 사용, Tier별 질문 수 가변)
**반드시 Claude Code 네이티브 `AskUserQuestion` 도구를 사용**한다. 자유 텍스트 질의 금지 — 사용자가 옵션 중에서 선택하도록 구조화한다.
**Tier별 필수 축**:
| Tier | 핵심 축 (필수) | 보조 축