harness-bootstraplisted
Install: claude install-skill lumatic2/askewly-harness
# /harness-bootstrap — 신규 프로젝트 하네스 부팅 (��치기)
레포에 harness 인프라를 깐다. 이 스킬은 `init-ai-readiness.sh` 의 **interactive wrapper — 설치만 담당**한다. 작업 규칙(planning gate·role lane·산출물 계약·문서 수명·배포 검증 게이트)의 정본은 `/harness-plan`·`/harness-run`·`/harness-done` SKILL.md 3종과 custom-skills 문서이며, **여기에 복제하지 않는다** (2026-07-06 HU2 — 정책 복제가 drift 원인이었음).
핵심 로직: 번들 `scripts/init-ai-readiness.sh` (이 스킬 디렉터리에 동봉 — Codex·CI 등 어디서든 호출 가능). 경로는 §3 의 해석 사슬로 찾는다 — 번들 경로(`~/.claude`·`~/.codex`) → `$HARNESS_ENGINEERING_ROOT`(opt-in). **이 스킬은 그 스크립트 없이는 부팅할 수 없다**(설계 — 정책·템플릿 복제가 drift 원인이었음). 없으면 명시적으로 실패한다.
## 1) 상황 파악 (조용히, 사용자에게 묻기 전)
```bash
git rev-parse --git-dir > /dev/null 2>&1 || echo "NOT_GIT"
[ -f ./CLAUDE.md ] && echo "HAS_CLAUDE_MD"
[ -f ./ROADMAP.md ] && echo "HAS_ROADMAP"
[ -f ./.harness/manifest.json ] && echo "HAS_HARNESS_MANIFEST"
[ -f ./package.json ] && jq -r '(.dependencies // {}) + (.devDependencies // {}) | keys | join(",")' package.json 2>/dev/null
[ -d ./src ] && ls ./src 2>&1 | head -5
```
- `NOT_GIT` → `git init` 자동 실행 후 진행 (한 줄 알림). 묻지 않음.
- 이미 부팅됨(HAS_HARNESS_MANIFEST) → **묻지 않고** 멱등 재실행. 기존 파일 보존(`[skip]`), `packs_added` 누적.
- 스택 감지 결과는 **보고에만** 쓴다(§4). 이걸로 무엇을 깔지 정하지 않는다 — 부팅은 언제나 코어만.
## 2) 무엇이 깔리나 — 묻지 않는다
**아무것도 묻지 않고 코어만 깐다** (2026-07-23 OI1). 코어 11개:
```
CLAUDE.md · AGENTS.md · ROADMAP.md · docs/BACKLOG.md · docs/adr/README.md
changesets/{README,CHANGESET_TEMPLATE}.md · templates/PLAN_TEMPLATE.md
.harness/manifest.json (+ pre-commit hook · evidence ledger 등록