Korean-first harness for Claude Code: plan-feature, implement-task, systematic-debugging, DDD-friendly skills, 2-stage review subagents, PowerShell hooks for Windows.
Checks code quality, architecture and AGENTS.md conventions after spec compliance passes. Stage 2 review, called at Phase V-6. Read-only.
Explores codebase, finds files, traces symbols without polluting main context. Called by plan-feature during context gathering. Read-only, fast.
Whole-plan verification ONLY after ALL tasks complete (implement-task Phase F-7, plus PRD cross-check for Phase G). NOT for individual tasks. Read-only.
Adversarial review of plan.md before user approval. Called by plan-feature Step 8. Read-only, reports BLOCKER/MAJOR/MINOR.
Verifies a single task diff against plan.md acceptance and scope. Stage 1 review, called at implement-task Phase V-5. Read-only.
This skill should be used when the user requests adding business logic, a domain service, an application service, or any logic that should live in the Domain or Application layer of a DDD project. Triggers on phrases like "서비스 추가", "도메인 로직", "비즈니스 로직", "use case 추가", "add service", "add use case". Generates Domain interface + implementation + DI registration + unit test scaffold.
This skill should be used when the user requests adding a new screen, dialog, page, window, or any UI component that needs a ViewModel in a WinUI 3 / WPF / MAUI project using CommunityToolkit.Mvvm. Triggers on phrases like "ViewModel 추가", "새 화면", "다이얼로그 추가", "페이지 만들기", "add screen/page/dialog/window". Generates ViewModel + View skeleton with proper MVVM bindings and DI registration.
This skill should be used when starting work on a project that has no AGENTS.md file. Triggered automatically by plan-feature when AGENTS.md is missing, or manually with "/pjc:bootstrap-agents-md". Detects project stack from marker files (.csproj, package.json, pyproject.toml, etc.) and generates a minimal AGENTS.md from one of 7 templates. If stack is unknown, asks the user.
This skill should be used ONLY when the user explicitly wants to enable, disable, toggle, or check status of pjc harness hooks. Triggers REQUIRE explicit context words "harness" or "hook" combined with on/off/status intent. Examples that SHOULD trigger - "harness 끄기", "harness 켜기", "hook 끄기", "hook 상태", "harness status", "harness 토글", "plan 강제 꺼" (with "강제" indicating hook), "require-plan off", "require-plan on", "evidence 검사 꺼", "utf8 검사 꺼". Examples that should NOT trigger - "이 기능 끄는 코드 만들어줘", "기능 켜기", "버튼 끄기" (those are code changes via plan-feature, not harness toggle). When in doubt, do NOT trigger this skill.
This skill should be used when executing tasks from an approved plan.md. Triggers on phrases like "구현", "implement", "T<N> 진행", "이대로 진행", "go", "진행해". Runs FULLY AUTONOMOUS loop — processes ALL tasks (T1...Tn) without asking the user between tasks. Resuming mid-plan ("T6부터 계속") means T6 through the LAST task plus Phase F/G — not just T6. Only stops when all tasks complete or a Halt Condition fires. Never asks "Should I proceed to the next task?" between tasks. For trivial single-line edits without a plan, do NOT use this skill — Claude applies the change directly and lets hooks validate.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Uses power tools
Uses power tools
Uses Bash, Write, or Edit tools
Uses Bash, Write, or Edit tools
Windows + PowerShell 환경에서 Claude Code의 작업 흐름을 강제·검증하는 plugin
버전: 1.25.0 저장소: https://github.com/jongcheol-pak/claude-harness-pjc
Claude Code가 "계획 없이 추측하고 a 파일 수정하면서 b·c 파일을 빠뜨리고 검증 없이 완료 선언"하는 것을 막기 위한 도구입니다. 모든 코드 변경은 계획 → 구현 → 다층 검증 → 완료의 자율 루프를 거칩니다.
| 문제 | 해결 |
|---|---|
| 추측 코드, 환각 메서드 호출 | plan-feature가 코드 변경 전 영향 범위 전수 조사 + plan-reviewer 적대적 검증 |
| a 파일 수정하고 b·c 파일 빠뜨림 | impact-warn hook이 모든 Write 후 caller 자동 검출 + V-7 grep 재검증 |
| "잘 동작할 것 같음"으로 완료 선언 | 빌드/테스트 + 2단계 subagent 리뷰 + 자기정직성 검사 후에만 완료 |
| 검토 결과를 자체 판단으로 묵살 | spec-compliance/code-quality subagent의 BLOCKER가 0이 될 때까지 반복 |
| task 사이 "다음 진행할까요?" | 자율 루프 — plan 승인 1회 후 모든 task 끝까지 자동 진행 |
| 짧은 수정에도 plan + 검증 강제 | Trivial Bypass — UI 문구·아이콘·오타 수정은 plan 없이 직접 처리 |
| 매번 빌드/테스트 명령 모름 | bootstrap-agents-md skill이 stack 자동 감지 + AGENTS.md 생성 |
claude --version으로 확인)방법 A — GitHub (권장): Claude Code가 repo를 clone해 캐시하므로 로컬 폴더가 불필요합니다.
# 저장소를 GitHub에 올린 뒤 (private 가능):
claude plugin marketplace add jongcheol-pak/claude-harness-pjc
claude plugin install pjc@pjc-harness
claude plugin enable pjc@pjc-harness
# Claude Code 시작
claude
방법 B — 로컬 (개발/수정용): 압축 해제 폴더가 plugin 본체로 참조됩니다. ⚠️ 설치 후 폴더를 삭제·이동·이름변경하면 plugin이 깨집니다 — 고정 경로에 두세요.
Expand-Archive claude-harness-pjc.zip -DestinationPath C:\Tools\
C:\Tools\claude-harness-pjc\install.ps1
claude
설치 확인:
/plugin list # pjc 표시되어야 함
정밀 검증 (선택):
C:\Tools\claude-harness-pjc\validate.ps1
처음 사용하는 프로젝트에서 plugin이 자동으로 묻습니다. 또는 수동:
# 프로젝트 루트로 이동 후
claude
> /pjc:bootstrap-agents-md
자동으로 stack (.NET, Android, Node/TS, Python, Go, Rust 등) 감지 → AGENTS.md 생성.
알려지지 않은 stack은 사용자에게 4가지 질문 (언어, build, test, 아키텍처).
매번 빌드/테스트/git 명령에 승인을 묻는 게 번거롭다면, ~/.claude/settings.json(전역) 또는 프로젝트의 .claude/settings.json에 권한 규칙을 추가하세요. (plugin 자체는 권한을 설정하지 않습니다 — Claude Code가 plugin의 settings는 agent 키만 인식하기 때문입니다.)
stack에 맞는 예시를 복사:
{
"permissions": {
"allow": [
"Read", "Glob", "Grep",
"Bash(git status)", "Bash(git diff:*)", "Bash(git log:*)",
"Bash(git add:*)", "Bash(git commit:*)", "Bash(git checkout:*)",
"Bash(git branch:*)", "Bash(git stash:*)", "Bash(git rev-parse:*)",
// .NET
"Bash(dotnet build:*)", "Bash(dotnet test:*)", "Bash(dotnet format:*)",
// Android
"Bash(./gradlew assembleDebug)", "Bash(./gradlew test)", "Bash(./gradlew lint)",
// Node/TS
"Bash(npm run build)", "Bash(npm test)", "Bash(npm run lint)",
// Python
"Bash(pytest:*)", "Bash(ruff:*)",
// Go
"Bash(go build:*)", "Bash(go test:*)", "Bash(go vet:*)",
// Rust
"Bash(cargo build:*)", "Bash(cargo test:*)", "Bash(cargo clippy:*)"
],
"ask": [
"Bash(git push:*)", "Bash(git merge:*)",
"Write", "Edit"
],
"deny": [
"Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)",
"Read(./**/*.pem)", "Read(./**/*.key)",
"Bash(git push --force:*)", "Bash(git push -f:*)",
"Bash(git filter-branch:*)"
]
}
}
안전성은 권한 설정과 별개로
block-destructivehook이 항상 보장합니다 (force push,rm -rf /등 차단). 위 설정은 편의를 위한 것이며 필수는 아닙니다.
본인이 쓰는 stack 줄만 남기고 나머지는 지워도 됩니다.
claude
> 사용자 설정 화면을 추가하고 싶어
흐름:
plan-feature 자동 트리거 → 계획 작성 + plan-reviewer 검증 → 사용자 승인implement-task 자동 진행 → task별 P/I/V/D 루프 → 모든 task 자동 완료| Skill | 트리거 | 역할 |
|---|---|---|
pjc:plan-feature | "기능 추가", "리팩토링", "구현" 등 | 코드 변경 전 계획 수립 + 적대적 검증 |
pjc:implement-task | plan 승인 후 자동 | 자율 루프 — 모든 task를 사용자 개입 없이 완료 |
pjc:systematic-debugging | "디버깅", "버그", "에러" 등 | 4-phase 근본 원인 분석 |
pjc:add-viewmodel | "ViewModel 추가" (WinUI/WPF/MAUI만) | MVVM boilerplate 생성 |
pjc:add-domain-service | "도메인 서비스", "use case" | DDD 서비스 추가 |
pjc:harness-toggle | "hook 꺼", "harness 상태" | hook 런타임 on/off |
pjc:bootstrap-agents-md | AGENTS.md 부재 시 자동 | stack 자동 감지 → AGENTS.md 생성 |
| Subagent | 모델 | 시점 | 역할 |
|---|---|---|---|
plan-reviewer | Opus | plan 작성 후 | 11개 항목으로 plan 적대적 검토 (BLOCKER 0까지) |
spec-prefilter | Haiku | Type B task의 V-5 | 빠른 1차 필터 (Sonnet 호출 회피) |
spec-compliance-reviewer | Sonnet | 각 task V-5 | acceptance, 범위, cross-file 영향 검증 |
code-quality-reviewer | Sonnet | 각 task V-6 | DDD, 환각, 위생, 보안, 동시성 |
plan-completion-reviewer | Opus | Phase F-7 | plan 전체 적대적 통합 검증 |
explorer | Haiku | plan-feature 컨텍스트 수집 | 메인 컨텍스트 보호용 빠른 탐색 |
npx claudepluginhub jongcheol-pak/claude-harness-pjc --plugin pjcUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions