Initialize a repository with agent-friendly harness structure. Use when the user says "harness init", "하네스 초기화", "setup harness", "make this repo agent-friendly", wants to scaffold AGENTS.md, .harness/, docs/, issues/, and evaluator agents. Also use when SessionStart hook suggests running /harness init.
From harness-engineernpx claudepluginhub leejuoh/claude-code-zero --plugin lab-harness-zeroThis skill uses the workspace's default tool permissions.
references/analysis-guide.mdProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Calculates TAM/SAM/SOM using top-down, bottom-up, and value theory methodologies for market sizing, revenue estimation, and startup validation.
Initialize this repository with an agent-friendly harness structure.
What this creates: AGENTS.md (map), .harness/ (config + architecture), docs/ (decisions + plans), issues/, agents/reviewer.md (evaluator).
Philosophy: AI analyzes and recommends, human approves and modifies. Zero manual authoring required.
.harness/ already exists, stop and ask before overwriting. --force skips this check.If .harness/ exists AND $ARGUMENTS does not contain "--force":
→ Show current config, ask: "Harness already initialized. Overwrite? (or use --force)"
→ Wait for approval before continuing
Read the templates and analysis guide first:
${CLAUDE_SKILL_DIR}/references/analysis-guide.md${CLAUDE_SKILL_DIR}/references/scaffolding-templates.mdScan the repository. Do NOT ask the user — gather this yourself:
| What | How |
|---|---|
| Tech stack | package.json, requirements.txt, go.mod, Cargo.toml, pyproject.toml, Gemfile |
| Test framework | Look for pytest/vitest/jest/go test/rspec configs or test directories |
| Linter | .eslintrc*, ruff.toml, .golangci.yml, .rubocop.yml |
| Existing AGENTS.md | Read if present, count tokens |
| Existing CLAUDE.md | Read if present |
| Directory structure | Top-level dirs, src/ structure if present |
| Git info | Branch strategy (check for main/develop), recent commit patterns |
Present a concise report:
Repository Analysis:
━━━━━━━━━━━━━━━━━━
Tech stack: [e.g., React + FastAPI + PostgreSQL]
Test framework: [e.g., pytest + vitest]
Linter: [e.g., eslint + ruff]
AGENTS.md: [exists, ~1200 tokens / does not exist]
.harness/: [not initialized]
Detected layers: [e.g., types → config → repo → service → ui]
Based on analysis, generate all files using the templates from ${CLAUDE_SKILL_DIR}/references/scaffolding-templates.md. Adapt each template to the detected tech stack:
Show the user what will be created. For each file, show the full content.
Ask: "Review the above. Modify anything, or approve to create all files."
Wait for explicit approval. Do not create files until the user approves.
After approval, create all files:
AGENTS.md
.harness/config.yaml
.harness/architecture.yaml
agents/reviewer.md
docs/decisions/.gitkeep
docs/plans/.gitkeep
issues/.gitkeep
Use .gitkeep for empty directories so git tracks them.
After creation, verify:
Report: "Harness initialized. SessionStart hook will now monitor AGENTS.md size, evaluator presence, and harness staleness."
Next steps:
1. Review AGENTS.md and customize if needed
2. Review agents/reviewer.md — this is your evaluator for Phase 2
3. Create your first issue: add a .md file to issues/
4. The harness will now monitor your repo on each session start