Gruci/agent-harness
Harness engineering for Claude Code & Codex: hooks and gates that mechanically enforce your project rules, instead of trusting the agent to remember them.
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
Copy this rig
# review before running: this installs third-party code
$ npx degit Gruci/agent-harness/.claude ./rig-agent-harness # inspect, then merge into .claude/ MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ npx degit Gruci/agent-harness/.agents/skills/code-audit-cdx .claude/skills/code-audit-cdx $ npx degit Gruci/agent-harness/.agents/skills/code-debt-cdx .claude/skills/code-debt-cdx $ npx degit Gruci/agent-harness/.agents/skills/code-trim-cdx .claude/skills/code-trim-cdx $ npx degit Gruci/agent-harness/.agents/skills/feature-workflow-cdx .claude/skills/feature-workflow-cdx $ npx degit Gruci/agent-harness/.agents/skills/full-feature-cdx .claude/skills/full-feature-cdx $ npx degit Gruci/agent-harness/.agents/skills/harness-assembly-cdx .claude/skills/harness-assembly-cdx $ npx degit Gruci/agent-harness/.agents/skills/md-audit-cdx .claude/skills/md-audit-cdx $ npx degit Gruci/agent-harness/.agents/skills/review-loop-cdx .claude/skills/review-loop-cdx $ npx degit Gruci/agent-harness/.agents/skills/test-cdx .claude/skills/test-cdx $ npx degit Gruci/agent-harness/.claude/skills/code-audit .claude/skills/code-audit $ npx degit Gruci/agent-harness/.claude/skills/code-debt .claude/skills/code-debt $ npx degit Gruci/agent-harness/.claude/skills/code-trim .claude/skills/code-trim $ npx degit Gruci/agent-harness/.claude/skills/feature-workflow .claude/skills/feature-workflow $ npx degit Gruci/agent-harness/.claude/skills/full-feature .claude/skills/full-feature $ npx degit Gruci/agent-harness/.claude/skills/harness-init .claude/skills/harness-init $ npx degit Gruci/agent-harness/.claude/skills/harness-retro .claude/skills/harness-retro $ npx degit Gruci/agent-harness/.claude/skills/md-audit .claude/skills/md-audit $ npx degit Gruci/agent-harness/.claude/skills/review-loop .claude/skills/review-loop
$ curl -fsSL --create-dirs -o .claude/agents/backend.md https://raw.githubusercontent.com/Gruci/agent-harness/master/.claude/agents/backend.md $ curl -fsSL --create-dirs -o .claude/agents/executor.md https://raw.githubusercontent.com/Gruci/agent-harness/master/.claude/agents/executor.md $ curl -fsSL --create-dirs -o .claude/agents/frontend.md https://raw.githubusercontent.com/Gruci/agent-harness/master/.claude/agents/frontend.md $ curl -fsSL --create-dirs -o .claude/agents/orchestrator.md https://raw.githubusercontent.com/Gruci/agent-harness/master/.claude/agents/orchestrator.md $ curl -fsSL --create-dirs -o .claude/agents/product-reviewer.md https://raw.githubusercontent.com/Gruci/agent-harness/master/.claude/agents/product-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/qa.md https://raw.githubusercontent.com/Gruci/agent-harness/master/.claude/agents/qa.md
Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Read",
"hooks": [
{
"type": "command",
"command": "python -X utf8 \"$(git rev-parse --show-toplevel)/.claude/hooks/check_context_diet.py\""
}
]
},
{
"matcher": "Bash|PowerShell",
"hooks": [
{
"type": "command",
"command": "python -X utf8 \"$(git rev-parse --show-toplevel)/.claude/hooks/check_bash_write.py\""
}
]
},
{
"matcher": "Edit|Write|MultiEdit|NotebookEdit",
"hooks": [
{
"type": "command",
"command": "python -X utf8 \"$(git rev-parse --show-toplevel)/.claude/hooks/check_workboard_overlap.py\""
}
]
},
{
"matcher": "Edit|Write|MultiEdit|NotebookEdit|EnterWorktree|Bash|PowerShell",
"hooks": [
{
"type": "command",
"command": "python -X utf8 \"$(git rev-parse --show-toplevel)/.claude/hooks/check_pretool.py\""
}
]
},
{
"matcher": "Workflow",
"hooks": [
{
"type": "command",
"command": "python -X utf8 \"$(git rev-parse --show-toplevel)/.claude/hooks/check_workflow_script.py\""
}
]
}
]
}
} Skills (18)
code-audit-cdxcode-debt-cdxcode-trim-cdxfeature-workflow-cdxfull-feature-cdxharness-assembly-cdxmd-audit-cdxreview-loop-cdxtest-cdxcode-auditcode-debtcode-trimfeature-workflowfull-featureharness-initharness-retromd-auditreview-loop
Subagents (6)
| backend model: opus | 서버(백엔드) 개발 전담 에이전트. 프로파일 LANG 의 서버 소스 편집, 라우트/DB 쿼리/배치 스크립트 작업 시 사용. 승인된 컴포넌트 그래프의 의존 방향과 workboard 과업 보드 프로토콜을 자동 준수한다. |
| executor model: fable | 승인된 plan 하나를 통째로 자율 실행하는 대규모 구현 에이전트. 파일 8개 이상이거나 레이어 3개 이상을 횡단하는 plan의 3단계 구현에 사용. 절차 지시 대신 목표·제약·완료 조건으로 구동한다. |
| frontend model: opus | 화면(UI) 개발 전담 에이전트. 프로파일 CHECK_PATHS 의 ui 경로 아래 화면 코드 편집, 컴포넌트·차트·색상·레이아웃 작업 시 사용. design/DESIGN_GUIDE.md 5원칙과 dev/CONVENTIONS.md 의 화면 관례·스택 관례(토큰 파일, 차트 래퍼, 공용 fetch 래퍼)를 자동 준수한다. |
| orchestrator model: fable | 대규모 병렬 구현 지휘 에이전트. 승인된 plan의 병렬 후보를 런타임에 확정하고 Opus 워커에게 배정해 병렬 구현을 지휘한다. 공유 파일을 단독 소유해 직렬 적용하며 직접 기능 코드를 쓰지 않는다. |
| product-reviewer model: opus | 서비스 오너 페르소나 검수 에이전트. 화면 구성·지표·문구·정보 위계를 "이 서비스를 실제로 쓰는 사람" 관점에서 검수하고 구조화된 피드백을 반환한다. 코드 품질이 아니라 비즈니스 의미·완결성·우선순위를 평가한다. |
| qa model: opus | 통합 정합성 검증(QA) 전담 에이전트. 백엔드·프론트엔드 모듈 완성 직후 경계면(API 응답 ↔ 프론트 소비)을 교차 비교 검증한다. 풀스택 기능 구현 후, 또는 "정합성 확인해줘"·"QA 돌려줘" 요청 시 사용. |
Hooks (21)
| event | matcher | runs |
|---|---|---|
| SessionStart | startup|resume|clear|compact | cat "$(git rev-parse --show-toplevel)/.claude/hooks/code-master.md" |
| SessionStart | startup|resume|clear|compact | git rev-parse --is-inside-work-tree >/dev/null 2>&1 || echo '[GIT CHECK] Not a git repository. Gates collect their targets with git ls-files, so outside a repository there are 0 targets, every gate checks nothing, and the task board check d |
| SessionStart | startup|resume|clear|compact | test -f "$(git rev-parse --show-toplevel)/harness_profile.py" || echo '[HARNESS SETUP] harness_profile.py is missing. The kernel knows nothing about this project, so every gate that needs layer settings is switched off as [SKIP]. Before cod |
| SessionStart | startup|resume|clear|compact | python --version >/dev/null 2>&1 || echo '[PYTHON CHECK] python cannot run. Hooks block only on exit 2 and silently pass a launch failure, so none of the Stop and PostToolUse gates run. Fix the python PATH before coding.'; python -c 'import |
| SessionStart | startup | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/git_staleness.py" |
| SessionStart | startup | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_maintenance.py" |
| UserPromptSubmit | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_context_growth.py" |
| PreToolUse | Read | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_context_diet.py" |
| PreToolUse | Bash|PowerShell | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_bash_write.py" |
| PreToolUse | Edit|Write|MultiEdit|NotebookEdit | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_workboard_overlap.py" |
| PreToolUse | Edit|Write|MultiEdit|NotebookEdit|EnterWorktree|Bash|PowerShell | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_pretool.py" |
| PreToolUse | Workflow | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_workflow_script.py" |
| SubagentStop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_agent_return.py" |
| PostToolUse | Edit|Write|MultiEdit | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_file_rules.py" |
| Stop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_editing_lock.py" |
| Stop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_coding_rules.py" |
| Stop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_git_remote.py" |
| Stop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_worktree_residue.py" |
| Stop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_mockup_residue.py" |
| Stop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_task_residue.py" |
| Stop | * | python -X utf8 "$(git rev-parse --show-toplevel)/.claude/hooks/check_ui_copy.py" |
Permissions
deny (0)
—
ask (0)
—
allow (18)
Bash(*)
PowerShell(*)
Edit(*)
Write(*)
Read(*)
Glob(*)
Grep(*)
WebFetch(*)
WebSearch(*)
Agent(*)
Skill(*)
TaskCreate(*)
TaskUpdate(*)
TaskGet(*)
TaskList(*)
TaskStop(*)
TaskOutput(*)
NotebookEdit(*)
Similar rigs
eugeek/claude-config-tdd
Claude Code config with TDD workflow, plan -> tests -> red -> implementation -> green -> review -> shipment
Orchestrator 5.8k tok ·
YounusHussain9/claude-agent-workspace
Multi-repo workspace for Claude Code: plain-language requests, specialist AI agents, approval gates and safety hooks.
Fort Knox 2.0k tok ·
AleBauty/claude-code-toolkit
Caja de herramientas para Claude Code: 15 agentes de desarrollo, metodología y hooks que bloquean comandos destructivos y credenciales.
Orchestrator 2.9k tok ·
Markuysa/vibe-coding-template
Claude Code project template: five agent roles with tool-level permission boundaries, four workflow commands, and a permission baseline that keeps secrets and build noise out of context. Built on native worktrees and subagents — no third-pa
Fort Knox 1.2k tok ·