Skip to main content

goal-maker

/goal 명령에 사용할 condition 프롬프트를 5-7 인터뷰로 자동 생성. QJC 4-section 구조 (목적/조건/결과물/세부사항/세부 목적) + 앤트로픽 공식 권장 가드 5종 자동 주입 + stdout/클립보드/Desktop 파일 3-way 출력. 사용 시점 — /goal 프롬프트 작성 / "goal 프롬프트 만들어" / "/goal 명령 짤 거야" / 새 작업 시작 전 condition 설계. 직접 /goal 실행은 사용자가 새 세션에서 수행.

インストールへ移動

ソース情報

リポジトリ
sangrokjung/claude-goal-maker
ソースの最終更新活動
2026年5月28日 13:59
検出された SKILL.md の言語
韓国語
スター
0
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
7 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
goal-maker
description
/goal 명령에 사용할 condition 프롬프트를 5-7 인터뷰로 자동 생성. QJC 4-section 구조 (목적/조건/결과물/세부사항/세부 목적) + 앤트로픽 공식 권장 가드 5종 자동 주입 + stdout/클립보드/Desktop 파일 3-way 출력. 사용 시점 — /goal 프롬프트 작성 / "goal 프롬프트 만들어" / "/goal 명령 짤 거야" / 새 작업 시작 전 condition 설계. 직접 /goal 실행은 사용자가 새 세션에서 수행.
# goal-maker — /goal Prompt Generator > 비유: 비행 계획서 작성 보조관이다. 조종사(사용자)가 매번 비행 계획서를 손으로 쓰지 않게, 인터뷰 7개 질문으로 핵심을 받아 표준 양식 + 안전 가드(연료/날씨/대체공항)를 자동으로 채워서 출력한다. ## 언제 호출되는가 다음 사용자 발화/맥락에서 호출: - `/goal-maker` 슬래시 커맨드 직접 입력 - `/goal-maker <한 줄 주제>` 시드 인자 입력 - `/goal-maker --quick` 또는 `/goal-maker --quick <주제>` — 3-question 모드 - "goal 프롬프트 만들어줘" / "/goal 짜줘" / "condition 작성 도와줘" - 새 큰 작업 시작 전 "이 작업을 /goal로 돌리려는데 프롬프트 작성" ## 절대 하지 말 것 (CRITICAL) - ❌ 생성한 프롬프트로 `/goal` 자체를 자동 호출 — 사용자가 새 세션에서 직접 실행 - ❌ Q4 "측정 기준" 답이 모호하면("잘 동작해야") 그대로 넘어가지 말 것 — 재질문 의무 (G2) - ❌ **proof channel 누락** — 측정 기준만 있고 "어떻게 transcript에 surface될지" 없으면 evaluator 평가 불가 (G6) - ❌ **turn limit 누락** — infinite loop 방지를 위해 명시 의무 (G7, default 20턴) - ❌ **외부 의존 항목 본문 혼입** — "사용자 시연 OK" / "인덱싱 완료" 같은 항목은 세션 외 분리 (G8) - ❌ 가드 8종 중 하나라도 누락 후 deliver.sh 호출 — `references/qjc-goal-guard-checklist.md` 12개 항목 통과 의무 - ❌ universal quantifier ("모두/끝까지/완전히") raw 그대로 출력 — G1 자동 변환 후에만 출력 ## 워크플로우 ### Phase 0 — 모드 결정 | 입력 | 행동 | |------|------| | `/goal-maker` (no args) | 풀 인터뷰 (Q1-Q7) | | `/goal-maker "XYZ"` | Q1 자동 채움 ("XYZ"), Q2-Q7 진행 | | `/goal-maker --quick` | Q1, Q3, Q4 (3-tap) | | `/goal-maker --quick "XYZ"` | Q3, Q4 (2-tap) | `--quick` 모드는 Q2/Q5/Q6/Q7을 default 값으로 자동 채움: - Q2 default: `(조건 미명시 — 사용자가 본 프롬프트 입력 시 추가 명시 권장)` - Q5 default: `테스트 완료 후 /handoff-verify /commit-push-pr --merge 까지 진행하라` - Q6 default: `궁극적으로 [Q1 주제]가 좋아져야 한다` - Q7 default: 없음 (skip) ### Phase 1 — 인터뷰 (`templates/interview-questions.json` 참조) **중요**: AskUserQuestion 도구로 한 번에 1-3개씩 묶어서 묻는다. brainstorming 룰의 "one at a time" 엄격성보다 사용자 시간 절약 우선. 단, Q4(측정 기준)는 다른 질문과 묶지 말고 단독으로 — 가장 중요하기 때문. **질문 묶음 권장**: - 1차: Q1 + Q2 + Q3 (목적/상황/결과물) - 2차: Q4 단독 (measurable signal) - 3차: Q5 + Q6 + Q7 (워크플로우/가치/제외) 각 질문 옵션은 multiple-choice 시도 (사용자가 빠르게 선택). 단 Q1, Q3, Q4는 자유 텍스트 입력 받아도 OK. #### Q1. 무엇을 이루고 싶나요? (한 줄) 사용자에게 단답(한 줄)로 묻는다. **이 답이 4-section의 `# 목적` 첫 bullet이 된다.** 가드 G1 적용: "모두/끝까지/모든/전부/완전히/완벽하게" 단어 감지 시 즉시 다음을 출력에 자동 적용: | 원어 | 변환 | |------|------| | "모두 처리하라" | "Claude 권한 내에서 가능한 모두 처리하라" | | "끝까지 진행" | "Claude 권한 내에서 끝까지 진행" | | "완전히 자동화" | "Claude가 실행 가능한 범위 내에서 완전히 자동화" | 사용자에게 변환 사실을 짧게 안내 후 진행. #### Q2. 현재 어떤 상황/제약이 있나요? (3-5 bullet) 복수 입력 OK. AskUserQuestion으로는 어려우니 자유 텍스트. 옵션 카드 (참고용): - 기술 부채 / 외주 의존 / 시간 제약 - 새로 시작 (greenfield) / 기존 코드 수정 (brownfield) - 고객/직원/외부 의존 항목 명시 #### Q3. 어떤 결과물이 나와야 끝난 건가요? (한 줄) `# 필수 결과물` 매핑. 옵션 예시 (multiple-choice): - "새로운 스킬 / 에이전트 / 커맨드" - "기존 파일 수정 (UI/API/DB)" - "리포트 / 분석 / 문서" - "검색 최적화 / 메타데이터 / 인프라" - 자유 입력 (Other) #### Q4. "성공"을 어떻게 측정하나요? **(가장 중요 — G2 강제)** 이 질문이 가드 G2의 핵심. 단독 메시지로 질문. **모호한 답 거부 패턴**: | 거부 답변 | 재질문 | |----------|--------| | "잘 동작하면" | "검증 가능한 형태로 다시 — 예: unit test 12개 PASS / Lighthouse SEO ≥90 / 페이지 LCP ≤2.5s / gws calendar 6건 등록 확인" | | "퍼펙트하게" | "Claude가 평가할 수 있는 binary 기준은? 예: 'Lighthouse a11y ≥95 (라이트+다크 양쪽)' / '8개 슬라이드 silent_clip=0'" | | "좋아져야" | "어느 수치가 어떻게 바뀌어야? 예: 'CTR 베이스라인 +20%' / '월간 인입 리드 50건+'" | **좋은 답 패턴** (그대로 사용): - "특정 테스트 N개 PASS" - "Lighthouse [축] ≥ [점수]" - "[URL] 페이지 [핵심 기능] 실행 검증" - "사용자에게 [산출물 경로] 시연 + OK 응답" - "스크린샷 N장 첨부 + 시각 검증" #### Q5. 워크플로우 끝맺음? `## 세부사항` 끝부분 매핑. multiple-choice 권장: - "테스트 완료 후 `/handoff-verify` → `/commit-push-pr --merge` (권장 풀-사이클)" - "테스트만 (`/handoff-verify` 까지)" - "테스트 + 직원 공유 (`dc push` 포함)" - "사용자 명시 stop point 까지 (예: '대표 검토 후 stop')" G4 적용: 위 옵션에서 `/handoff-verify` 또는 "테스트" 포함 시 자동 letter-vs-spirit guard 추가. #### Q6. 궁극적 비즈니스 가치는? `## 세부 목적` 매핑. 자유 텍스트. 예시 7개와 동일 톤: - "업무 효율과 성과가 좋아져야 한다" - "노출이 잘 되고 전환이 되어야 한다" - "광고 효율이 좋아져야 한다" - "슬라이드 퀄리티가 좋아야 한다" - "업무 프로세스가 좋아져야 한다" #### Q7. 범위 제외 항목? (옵션, skip 가능) `# 조건 및 상황` 추가 bullet 매핑 + G3 (scope guard) 강화. 자유 텍스트. 빈 입력이면 skip하되, G3는 default로 적용 (무관 리팩토링 금지). ### Phase 2 — 자동 가드 8종 적용 (CRITICAL) `references/qjc-goal-guard-checklist.md` 참조 + 본 워크플로우의 G1-G8 적용. **필수 검증** (출력 전 self-review): ``` [ ] G1: universal quantifier 0건 또는 보정 완료 [ ] G2: ## 세부사항 첫 줄 "**측정 기준**: <Q4 답변>" 존재 [ ] G3: ## 세부사항 끝에 "단, 본 작업 외 무관 리팩토링 금지" 존재 [ ] G4: Q5에 /handoff-verify 또는 테스트 → "테스트 카운트 감소 금지" 존재 [ ] G5: 출력 끝에 "_session 한계: ..._" 푸터 존재 [ ] G6: **증명 채널** — 측정 기준 직후 "Claude가 transcript에 출력할 형식" 명시 (CRITICAL, evaluator 평가 가능성 보장) [ ] G7: **턴 제한** — "최대 N 턴 안에 완료 또는 명시적 사용자 승인" (default N=20) [ ] G8: **세션 외 항목 분리** — 외부 의존(사용자 시연/인덱싱/다른 PC) 항목은 별도 섹션 [ ] Q1-Q7 모두 4-section에 정확히 매핑 [ ] 측정 기준이 binary 평가 가능 (LLM evaluator가 판단 가능) [ ] 출력 길이 적절 (20-35줄) [ ] 한국어 톤 유지 (영문 직역체 0) ``` **G6 — Proof Channel (CRITICAL — 앤트로픽 공식 요구)**: evaluator는 도구 호출 불가, conversation surface된 텍스트만 본다. 측정 기준만으론 부족 — Claude가 그 측정을 transcript에 어떻게 surface할지 명시해야 한다. | Q4 측정 항목 | 자동 생성 증명 채널 | |--------------|-------------------| | "unit test N개 PASS" | "본문에 \`npm test\` stdout 결과 첨부 — PASS N/N 카운트 명시" | | "Lighthouse SEO ≥90" | "본문에 \`Lighthouse 점수: SEO=NN/100, a11y=NN/100\` 형식 출력" | | "page LCP ≤ 2.5s" | "본문에 \`LCP=N.Ns (target ≤ 2.5s)\` 측정 결과 출력" | | "PDF ≥ N쪽" | "본문에 \`pdftotext -layout 결과: NN쪽\` 카운트 출력" | | "Supabase INSERT N건" | "본문에 \`SELECT COUNT(*) FROM os_X WHERE created_at > '...' = N\` 결과 출력" | | "dc push 성공" | "본문에 \`git push 결과: commit_hash, main 동기화 완료\` 명시" | | "build green" | "본문에 \`npm run build exit code: 0\` 명시" | | "WCAG AA 위반 0" | "본문에 \`axe-core 위반: light=0, dark=0\` 출력" | **G7 — Turn Limit**: `## 세부사항`에 자동 추가: ```markdown - **턴 제한**: 최대 20턴 안에 condition 충족 또는 명시적 사용자 승인 요청 (turn count > 20 시 진행 중단 + 현 상태 사용자 보고) ``` 복잡한 작업은 사용자가 N을 조정 (Q5 응답에서 "최대 N턴" 명시 가능). **G8 — 세션 외 항목 분리**: 외부 의존 키워드 감지 시 자동으로 별도 섹션 분리: | 감지 키워드 | 분리 사유 | |-----------|----------| | "사용자 시연", "사용자 OK", "대표 검토" | 사용자 응답 의존 — Claude가 transcript로 충족 못 만듦 | | "직원이 호출", "다른 PC", "팀원 사용" | 다른 환경 의존 | | "ChatGPT 인용", "Perplexity 검색", "GSC 인덱싱" | 외부 API/플랫폼 지연 (N일+ 대기) | | "결제 완료", "송금 도착" | 외부 시스템 응답 | 자동 추가 구조: ```markdown ## 세부사항 ... ### 세션 외 검증 (Plan에 명시 후 사용자 위임) - {외부 의존 항목 1} - {외부 의존 항목 2} ``` 세션 내 항목과 분리되어, evaluator가 세션 내 항목만으로 condition 판단 가능. ### Phase 3 — 출력 (`scripts/deliver.sh` 호출) ```bash # 변수 TOPIC_SLUG=$(echo "$Q1" | tr ' ' '-' | head -c 30) DATE=$(date +%Y-%m-%d) # 빌드한 프롬프트를 임시 파일에 TMP=$(mktemp) cat > "$TMP" << 'PROMPT_END' <위 인터뷰 결과 빌드한 4-section 프롬프트> PROMPT_END # deliver bash "${CLAUDE_PLUGIN_ROOT}/skills/goal-maker/scripts/deliver.sh" "$TMP" "$TOPIC_SLUG" "$DATE" ``` `deliver.sh`가: 1. stdout 미리보기 출력 2. pbcopy로 클립보드 복사 3. `~/Desktop/goal-${TOPIC_SLUG}-${DATE}.txt` 저장 4. 사용 안내 출력 ### Phase 4 — 사용 안내 (마지막 메시지) ``` ✅ goal 프롬프트 생성 완료 📋 클립보드에 복사됨 📁 ~/Desktop/goal-<slug>-<date>.txt 💡 다음 단계: 1. 새 Claude Code 세션 시작 2. `/goal ` 입력 (뒤에 공백) 3. cmd+v 붙여넣기 4. Enter ⚠️ 알아둘 점: - 이 프롬프트는 Claude 권한 내 가능 범위에 맞춰 자동 보정됨 - session 한계 (시크릿 추출/외부 계정 발급 등)는 푸터에 명시됨 - 작업 도중 `/goal clear`로 언제든 종료 가능 ``` ## 출력 템플릿 (v2 — 가드 8종) `templates/4-section-base.md` 참조. 핵심 구조: ```markdown 아래 목적을 진행하여 테스트 성공까지 진행하라. 필요한 정보가 있다면 브레인스토밍하라. # 목적 - {Q1} ← G1 보정 적용 # 조건 및 상황 - {Q2 bullet 1} - {Q2 bullet 2} - {Q2 bullet N} {Q7 있으면 추가} # 필수 결과물 - {Q3} ## 세부사항 - **측정 기준**: {Q4} ← G2 필수 - **증명 채널** (Claude가 transcript에 surface할 형식): ← G6 CRITICAL - {각 측정 항목별 출력 형식, 예: "npm test 결과 본문에 PASS N/N 출력"} - **턴 제한**: 최대 20턴 안에 condition 충족 또는 명시적 사용자 승인 요청 ← G7 - {Q5 워크플로우} ← G4 자동 보강 - 테스트 통과를 위한 테스트 삭제 금지, 기존 테스트 카운트 유지 (G4 적용 시) - 단, 본 작업 외 무관 리팩토링 / 의존성 업그레이드 / 다른 도메인 변경 금지 ← G3 ### 세션 외 검증 (Plan에 명시 후 사용자 위임) ← G8 (해당 시) - {외부 의존 항목 1} - {외부 의존 항목 2} ## 세부 목적 - 궁극적으로 {Q6} 좋아져야 한다. --- _session 한계: 시크릿 추출 / 외부 계정 신규 발급 / 사용자 명시 승인이 필요한 항목은 Claude 권한 밖이며, 해당 항목 발견 시 Plan에 명시 후 사용자 안내._ ← G5 ``` **핵심 변경 (v2)**: - "측정 기준" 직후 **증명 채널** 라인 (G6) — Claude가 그 측정을 transcript에 surface하는 형식 명시 - **턴 제한** 라인 (G7) — default 20턴 - **세션 외 검증** 별도 섹션 (G8) — evaluator 평가 불가 항목 격리 → evaluator(default Haiku)가 매 턴 후 condition + transcript를 평가할 때, 측정 결과가 Claude 본문에 명시적으로 surface되어 binary yes/no 판단 가능. ## 사용자 발화 예시 ### 예시 1 — 기본 호출 ``` 사용자: /goal-maker Claude: [Q1+Q2+Q3 묶음 질문] 사용자: [답변] Claude: [Q4 단독 질문] 사용자: [답변] Claude: [Q5+Q6+Q7 묶음 질문] 사용자: [답변] Claude: [가드 5종 self-review → deliver.sh → 안내] ``` ### 예시 2 — 시드 인자 ``` 사용자: /goal-maker "랜딩 페이지 SEO/GEO/AEO 최적화" Claude: Q1을 "랜딩 페이지 SEO/GEO/AEO 최적화"로 자동 채웠습니다. Q2-Q7 진행합니다. [Q2+Q3 묶음 질문] ... ``` ### 예시 3 — Quick 모드 ``` 사용자: /goal-maker --quick "/lecture 핸드아웃 자세하게" Claude: Q3, Q4만 묻습니다 (Q1 자동, Q2/Q5/Q6/Q7 default). [Q3 질문] 사용자: [답변] [Q4 단독] 사용자: [답변] Claude: [출력] ``` ## 종속 참조 | 파일 | 용도 | |------|------| | `references/anthropic-goal-best-practices.md` | 앤트로픽 공식 가이드 요약 (acceptance test, scope guard, turn limit) | | `references/qjc-goal-guard-checklist.md` | G1-G5 자동 가드 9개 체크리스트 | | `references/example-prompts-7.md` | 예시 7개 패턴 분석 | | `templates/4-section-base.md` | 기본 출력 템플릿 | | `templates/interview-questions.json` | 표준 7 질문 JSON | | `scripts/deliver.sh` | stdout + pbcopy + Desktop 저장 | | [`README.md`](../../README.md) §"Why It Exists" | 4대 의무 도출 배경 (2026-05-22 사고 사례) | ## 비활성화 ```bash # 임시 비활성 — 스킬 무시 가능 export QJC_GOAL_MAKER_DISABLED=1 ``` 권장 안 함. /goal 자동 생성 없이 직접 작성하면 무한 cycle 사고(2026-05-22) 재발 위험. ## 사고 사례 학습 통합 본 스킬은 다음 사고로부터 학습됨: - 2026-05-22 `/goal "후속 작업 모두 직접 진행하라"` 무한 cycle (universal quantifier deadlock) - 처방 → G1, G5 도입
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る