一键导入
edu-harness-init
새 프로젝트 시작 시 하네스를 초기화합니다. 2가지 질문만 하고, 나머지는 package.json 자동 감지 + 지연 채움으로 처리합니다. clone 직후 가장 먼저 실행하세요.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
새 프로젝트 시작 시 하네스를 초기화합니다. 2가지 질문만 하고, 나머지는 package.json 자동 감지 + 지연 채움으로 처리합니다. clone 직후 가장 먼저 실행하세요.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
구현 후 REJECTED 판정이 나오거나 '/execution-loop'을 입력하면 반드시 이 스킬을 사용할 것. 'fix it', 'retry', 'auto-fix', 'keep trying', 'iterate until passing', 'loop until approved'가 포함된 요청도 해당. 합격 기준 충족까지 수정→검증→반복을 자동화한다. 최대 5회 반복, 루프 상태를 .execution-loop-state 파일에 기록한다.
'만들어줘', '구현해줘', '추가해줘', '설계해줘', 'build', 'implement', 'add feature', 'create', 'design', 'make'가 포함된 모든 교육 앱 기능 요청에 반드시 이 스킬을 사용할 것. 퀴즈·레슨·학습 진도·교사 관리·평가·피드백·학생 인증 / quiz, lesson, progress tracking, teacher dashboard, assessment, feedback, student auth 모두 해당. 계획→교육설계→구현→교육학검토→검증→하네스진화 전체 사이클을 실행한다.
verify 점수를 올리거나 수치 목표 달성이 필요할 때 반드시 이 스킬을 사용할 것. 'REJECTED를 APPROVED로', 'improve score', 'raise score', 'fix REJECTED', 'optimize to pass', 'SCORE 80 이상', 'meet the threshold', 'get to APPROVED'가 포함된 요청 모두 해당. 코드와 하네스(rubric)를 동시에 진화시키며 Goodhart's Law 방어 내장.
EduHarness 첫 실행 진입점. "quickstart", "시작", "처음 시작", "어떻게 시작", "setup", "init", "get started", "how do I start", "처음 써요", "clone 했어", "방금 받았어"가 포함된 요청에서 반드시 이 스킬을 사용합니다. 환경 점검 → CLAUDE.md 초기화 → 첫 검증까지 one-shot으로 처리합니다. 다른 스킬을 먼저 고를 필요 없습니다. 항상 여기서 시작하세요.
기능 구현이 완료되거나 '/verify 기능명'이 입력되면 반드시 이 스킬을 사용할 것. 'verify', 'check', 'validate', 'run verification', 'is this passing?', 'check quality'가 포함된 요청도 해당. 6개 차원(기술/평가무결성/심리안전/접근성/데이터보호/성능)에서 교육 앱 코드를 검증한다. isCorrect API 노출, 형성/총괄 혼용, 부정적 피드백 메시지 감지에 특화.
| name | edu-harness-init |
| description | 새 프로젝트 시작 시 하네스를 초기화합니다. 2가지 질문만 하고, 나머지는 package.json 자동 감지 + 지연 채움으로 처리합니다. clone 직후 가장 먼저 실행하세요. |
새 프로젝트 시작 시 가장 먼저 실행하는 스킬입니다. 질문 2개만 합니다. 나머지는 자동으로 처리됩니다.
/edu-harness-init
Q1. 프로젝트 이름은? (예: EduQuiz Mini, LearnTrack Pro)
Q2. 교육 앱인가요? (Y/N)
Y → CLAUDE.md 교육 도메인 섹션 유지
N → CLAUDE.md에서 교육 도메인 섹션 전체 제거
이것으로 질문은 끝입니다. 기술 스택, 명령어, 배포 환경은 아래 단계에서 자동 처리합니다.
package.json이 존재하면 scripts를 읽어 명령어를 자동으로 채웁니다.
감지 항목:
scripts.dev → [YOUR_DEV_COMMAND] 대체
scripts.start → dev가 없으면 fallback
scripts.test → [YOUR_TEST_COMMAND] 대체
scripts.lint → [YOUR_LINT_COMMAND] 대체
scripts.typecheck 또는 scripts.type-check → [YOUR_TYPECHECK_COMMAND] 대체
scripts.build → [YOUR_BUILD_COMMAND] 대체
tsconfig.json 존재 여부 → TypeScript 프로젝트 여부 자동 감지
package.json이 없으면 해당 항목은 # TODO: 프로젝트 설정 후 채워주세요 주석으로 남깁니다. 커밋을 막지 않습니다.
기술 스택, 핵심 기능, 대상 사용자는 첫 /edu-harness 실행 시 자동 추론합니다.
예시:
/edu-harness 초등학생용 객관식 퀴즈 기능을 만들어줘
→ 대상 사용자: "초등학생" 자동 감지
→ 핵심 기능: "객관식 퀴즈" 자동 감지
→ CLAUDE.md 해당 항목 자동 업데이트
지연 채움 대상 항목에는 임시로 이 주석을 답니다:
# lazy-fill: /edu-harness 첫 실행 시 자동 추론
수집/감지된 정보로 플레이스홀더를 교체합니다:
| 플레이스홀더 | 처리 방식 |
|---|---|
[YOUR_PROJECT_NAME] | Q1 답변 |
| 교육 도메인 섹션 전체 | Q2가 N이면 삭제 |
[YOUR_DEV_COMMAND] | package.json 자동 감지 |
[YOUR_TEST_COMMAND] | package.json 자동 감지 |
[YOUR_LINT_COMMAND] | package.json 자동 감지 |
[YOUR_TYPECHECK_COMMAND] | package.json 자동 감지 |
[YOUR_BUILD_COMMAND] | package.json 자동 감지 |
| 대상 사용자, 핵심 기능 | 지연 채움 (lazy-fill 주석) |
| 배포 환경 | 지연 채움 (lazy-fill 주석) |
프로젝트명과 자동 감지된 기술 스택으로 채웁니다.
나머지([YOUR_DATABASE] 등)는 lazy-fill 주석으로 남깁니다.
| 날짜 | 파일 | 변경 내용 | 맥락 |
|------|------|-----------|------|
| [오늘 날짜] | CLAUDE.md | 초기 하네스 설정 완료 | /edu-harness-init 실행 |
✅ edu-harness-init 완료
질문: 2개
자동 감지: [감지된 항목 수]개 (package.json)
지연 채움 예정: [남은 항목 수]개 → 첫 /edu-harness 실행 시 자동 추론
채워진 항목:
- CLAUDE.md — 프로젝트명, 명령어 [N]개 교체
- architecture.md — 프로젝트명 교체
- HARNESS_CHANGELOG.md — 초기화 완료
지연 채움 예정 (lazy-fill):
- 대상 사용자, 핵심 기능, 배포 환경
다음 단계:
1. git add CLAUDE.md architecture.md HARNESS_CHANGELOG.md
2. git commit -m "harness: [프로젝트명] 초기 하네스 설정"
3. /edu-harness [첫 번째 기능]을 만들어줘.
/edu-harness-init 완료 후 bash .claude/hooks/system-check.sh를 실행하면
CLAUDE.md 플레이스홀더 경고가 사라진 것을 확인할 수 있습니다.
lazy-fill 주석은 경고를 발생시키지 않습니다 ([대괄호] 패턴이 아니므로).