@uzysjung/agent-harness 26.110.0 → 26.111.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md CHANGED
@@ -1,8 +1,13 @@
1
1
  # uzys-agent-harness
2
2
 
3
- **Claude Code · Codex · OpenCode · Antigravity 트랙 기반 에이전트 하네스.**
3
+ **기술 스택에 실제로 필요한 AI 코딩 스킬·플러그인만 골라, 한 번의 명령어로 Claude Code · Codex · OpenCode · Antigravity 세팅한다 아이디어부터 출시까지 에이전트가 탈선하지 않게 잡아주는 라이프사이클 규율과 함께.**
4
4
 
5
- 스택 트랙 하나 고르면 **검증된** 스킬 · 플러그인 · 룰을 사용자가 직접 확인·선택해 프로젝트에 세팅한다. 디폴트 install **project scope** 명시적으로 선택하지 않는 글로벌 영역 미수정.
5
+ 코딩 에이전트는 기본기가 계속 강해지고 있다 스킬과 MCP 쌓으면 컨텍스트 창만 부풀고, awesome-list 프로젝트에 맞는 것을 일일이 고르기엔 선택지가 너무 많다. `agent-harness` 는 두 가지를 한다:
6
+
7
+ 1. **스택 기반 lean 큐레이션** — 검증된 옵션 중에서, 이 프로젝트에 실제로 필요한 것만 설치.
8
+ 2. **규율 레이어(discipline layer)** — 실제 프로덕션 프로젝트를 에이전트로 운영하며 증명된 룰·훅·CI 스캐폴드: 문서 거버넌스, 검증 게이트, 벤치마크 패리티 루프, 재발 방지. 이 규율 레이어 덕분에 이 도구는 단순한 스킬 모음이 아니라 *하네스*가 된다 ([상세 ↓](#규율-레이어--무엇이-하네스인가)).
9
+
10
+ **Claude Code 는 전체 지원(모든 자산·훅·플러그인); Codex / OpenCode / Antigravity 는 skills + rules 레이어를 받는다.** 디폴트는 project scope — 명시적으로 선택하지 않는 한 글로벌 영역 미수정.
6
11
 
7
12
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
8
13
  [![Version](https://img.shields.io/github/v/tag/uzysjung/uzys-agent-harness?label=version)](https://github.com/uzysjung/uzys-agent-harness/releases)
@@ -10,6 +15,8 @@
10
15
 
11
16
  ![agent-harness 데모 — 검증된 AI 코딩 스킬·플러그인 원커맨드 설치](https://raw.githubusercontent.com/uzysjung/uzys-agent-harness/main/docs/assets/agent-harness-demo.gif)
12
17
 
18
+ > **"vetted(검증됨)"의 의미** — GitHub star ≥ 1000 + 활성 유지보수 + Docker 격리 실설치 검증(현재 51/65 자산 green), 월간 CI cron 재검증([catalog-verify](docs/COMPATIBILITY.md), [trust-tier-drift](.github/workflows/)). 자산 코드의 라인 단위 보안 감사나 prompt-injection 스캔까지 보장하는 것은 **아니다**. npm/npx 자산은 버전 고정; **plugin/skill 자산은 upstream HEAD 로 설치(commit-pin 아직 없음)**. 설치 자산은 서드파티 의존성처럼 취급할 것 — [SECURITY.md](SECURITY.md) 참고.
19
+
13
20
  🇺🇸 [English](./README.md)
14
21
 
15
22
  ---
@@ -20,7 +27,7 @@
20
27
  npx -y @uzysjung/agent-harness
21
28
  ```
22
29
 
23
- 6-step interactive wizard 가 안내. flag 필요 없음.
30
+ 6-step interactive wizard 가 안내한다. flag 필요 없음. **기존 프로젝트에도 안전** — `settings.json` / `CLAUDE.md` 는 변경 전 백업(아래 상세); 아무것도 삭제하지 않는다.
24
31
 
25
32
  ```
26
33
  Step 1/6 Tracks ← 스택 선택
@@ -37,11 +44,75 @@ Step 6/6 Installing
37
44
  claude # CLI 실행 — 설치된 skills · rules · hooks 가 바로 활성화됨
38
45
  ```
39
46
 
47
+ ### 비대화형 설치 (CI / 스크립트 / Docker)
48
+
49
+ wizard 는 TTY 가 필요하다. CI 파이프라인·온보딩 스크립트·컨테이너에서는 flag 사용 — 우리 자체 검증 CI 가 도는 것과 같은 경로다:
50
+
51
+ ```bash
52
+ npx -y @uzysjung/agent-harness install \
53
+ --track tooling --cli claude --scope project \
54
+ --with bmad-method
55
+ ```
56
+
57
+ | Flag | 의미 |
58
+ |------|---------|
59
+ | `--track <name>` | 설치할 트랙 (반복 가능) |
60
+ | `--cli <target>` | `claude` / `codex` / `opencode` / `antigravity` (반복 가능) |
61
+ | `--scope <s>` | `project` (기본) 또는 `global` |
62
+ | `--with <asset-id>` / `--without <asset-id>` | 카탈로그 자산 id 로 추가/제외 (반복 가능) — id 는 [호환 매트릭스](docs/COMPATIBILITY.md) |
63
+
64
+ ---
65
+
66
+ ## 큐레이션 철학 — lean by default
67
+
68
+ 프론티어 코딩 모델은 스킬 팩이 가르치던 것을 계속 흡수하고 있다. 우리의 입장: **스킬은 자신이 차지하는 컨텍스트 비용 이상의 가치를 증명해야 한다** — 설치된 스킬은 안 쓰일 때도 에이전트의 어텐션을 점유하므로, 기본 설치는 최소로 유지하고 "스킬이 많음"은 기능이 아니라 비용으로 취급한다.
69
+
70
+ 여전히 가치 있다고 믿는 것은 지식 레이어가 아니라 **인사이트 레이어**다:
71
+
72
+ - **오케스트레이션 노하우** — 모델/effort 역할 분담(`model-orchestration`), 다관점 검증(`multi-persona-review`), 자기 하네스 감사(`harness-health-audit`).
73
+ - **크로스-CLI 레버리지** — CLI 별 강점 활용: 자연스러운 산문은 Antigravity(`gemini-consult`), 간결한 구조화 + 이미지 생성은 Codex(`codex-consult`).
74
+ - **운영 사실(operational facts)** — CLI flag·인증 흐름·배포 절차(`supabase-cli`, `railway-skills`, …)는 모델이 아무리 똑똑해져도 upstream 릴리즈와 함께 drift 한다. 범용 패턴 가이드가 가장 먼저 불필요해진다.
75
+
76
+ 구조화 워크플로 번들(superpowers, BMAD, OpenSpec, …)은 **opt-in 유지, pre-check 안 함**. 우리 관점: 강한 모델에는 애자일한 방향 + 확고한 git/PR 정책이 강제된 절차보다 낫다(솔로/그린필드 기준) — 단 다수 개발자 간 의견 정렬·주니어 온보딩·감사 추적은 모델 업그레이드로는 해결되지 않는 조직의 문제라, 선택은 사용자의 몫으로 열어둔다([워크플로 큐레이션 가이드](docs/WORKFLOWS.md)).
77
+
78
+ v26.103.0 부터 설치기는 선택 항목의 **세션 시작 컨텍스트 비용**을 표시한다(번들 스킬은 실측, 외부 자산은 정직하게 unmeasured 표기).
79
+
80
+ ---
81
+
82
+ ## 규율 레이어 — 무엇이 하네스인가
83
+
84
+ 큐레이션 자산은 설치의 절반이다. 나머지 절반은 **프로젝트 라이프사이클 규율** — 우리 프로덕션 프로젝트에서 증명된 룰·훅·스캐폴드를 도메인 중립으로 일반화한 것이다. 에이전트가 실제로 도는 루프를 커버한다 — 방향 → 문서 → 테스트/CI → 검증 → 실브라우저 → 재발 방지:
85
+
86
+ | 라이프사이클 단계 | 설치물 | 강제하는 것 |
87
+ |---|---|---|
88
+ | **방향** | `north-star` 스킬 (전 트랙) + `northstar-roadmap` ★ | 비전 문서 → 갭 실측 → 랭킹된 백로그 |
89
+ | **문서 거버넌스** | `doc-governance` 룰 (전 트랙) + `spec-drift-check` 훅 | SSOT 위계, "머지 = 코드 **그리고** 추적 동기화", 현행/archive 분리 |
90
+ | **딜리버리** | `git-policy` · `change-management` · `gates-taxonomy` 룰 (전 트랙) | conventional commits, 핵심 결정의 ADR 화, 게이트 4유형 |
91
+ | **테스트 → CI** | `test-policy` 룰 (dev 트랙) + `ci-scaffold` (opt-in) | 커버리지 threshold, TDD, 실DB CI 템플릿(`.github/workflows/`) |
92
+ | **검증** | `reviewer` 에이전트 + `multi-persona-review` ★ | 구현자 ≠ 검증자; 출하 전 다관점 리뷰 |
93
+ | **실브라우저 검증** | `playwright-launch` + `benchmark-parity` 룰 (UI 트랙) | 영속 profile capture, 갭 매트릭스(`gap.md`), PR `## Fidelity` 증거 |
94
+ | **재발 방지** | `recurrence-prevention` ★ (dev 트랙) | 반복 결함 → 에스컬레이션: 기록 → 강제 룰 → 구조적 게이트 |
95
+
96
+ 전부 가볍고 예측 가능하게 동작한다 — 레일은 고정하되 그 안에서 에이전트는 유연하게 움직인다. ★ = 1st-party dev-method 스킬.
97
+
98
+ ---
99
+
100
+ ## 기존 프로젝트에 설치
101
+
102
+ `agent-harness` 는 설정을 조용히 덮어쓰지 않는다. 내용이 다른 **편집 가능** 파일을 교체하기 전에 타임스탬프 백업을 만들고, 모든 백업 경로를 설치 요약에 출력한다(`backup` 행). 아무것도 삭제되지 않는다.
103
+
104
+ | 이미 있는 것 | 처리 |
105
+ |---|---|
106
+ | 자체 hooks / statusLine 이 있는 `.claude/settings.json` | 갱신 전 `settings.json.backup-<ts>` 로 백업 |
107
+ | 루트 `CLAUDE.md` (생성본과 다른 경우) | 병합 write 전 `CLAUDE.md.backup-<ts>` 로 백업 |
108
+ | `--reinstall` / `update` 모드의 `.claude/` | 디렉토리 전체를 먼저 `.claude.backup-<ts>` 로 rename |
109
+ | `.mcp.json` | 기존 MCP 서버 보존·병합 (교체 아님) |
110
+
40
111
  ---
41
112
 
42
113
  ## Tracks
43
114
 
44
- Step 1 에서 1개 또는 multi 선택. 트랙 선택 결과로 Step 3 의 추천 항목이 결정됨.
115
+ **트랙** = 스택별 프리셋 번들. Step 1 에서 1개 이상 선택; 트랙이 Step 3 의 pre-check 항목을 결정한다.
45
116
 
46
117
  ### Dev tracks
47
118
 
@@ -71,76 +142,18 @@ Step 1 에서 1개 또는 multi 선택. 트랙 선택 결과로 Step 3 의 추
71
142
 
72
143
  ---
73
144
 
74
- ## 트랙별 설치 항목
145
+ ## 트랙별 설치 항목 (요약)
75
146
 
76
- 트랙 선택 결과로 자동 추천. Step 3 에서 pre-checked 상태로 표시 — 설치 전 자유롭게 토글.
77
-
78
- ### Frontend (csr-* / ssr-nextjs / full)
79
-
80
- | Asset | What | Source |
81
- |---|---|---|
82
- | `react-best-practices` | React 패턴 + 컴포넌트 가이드 | LokeshSakthivel |
83
- | `shadcn-ui` | Radix 기반 컴포넌트 카피 + Tailwind 테마 | shadcn (official) |
84
- | `web-design-guidelines` | UX/UI best practice | LokeshSakthivel |
85
- | `impeccable` | UI 디자인, critique, visual review | pbakaus |
86
-
87
- ### Backend (csr-* / ssr-* / full)
88
-
89
- | Asset | What | Source |
90
- |---|---|---|
91
- | `railway-skills` | Railway 배포 + project/service/env 관리 | Railway 공식 |
92
- | `supabase-agent-skills` (csr-supabase) | Supabase agent skills | Supabase 공식 |
93
- | `postgres-best-practices` (csr-supabase) | Postgres 패턴 | Supabase 공식 |
94
- | `supabase-cli` (csr-supabase) | Supabase CLI (`supabase login` OAuth 필요) | npm |
95
- | `vercel-cli` (csr-supabase) | Vercel CLI | npm |
96
- | `netlify-cli` (csr-supabase) | Netlify CLI | npm |
147
+ 트랙 선택 결과로 자동 추천되고 Step 3 pre-checked 표시된다 — 설치 전 자유롭게 토글. 전체 자산 표와 검증 상태는 [영문 README](./README.md#what-gets-installed-per-track) 와 [호환 매트릭스](docs/COMPATIBILITY.md) 참조. 주요 포인트:
97
148
 
98
- ### Data (data / full)
99
-
100
- | Asset | What | Source |
101
- |---|---|---|
102
- | `polars-K-Dense` | PolarsRust 기반 fast DataFrame (pandas 대안) | K-Dense-AI |
103
- | `dask-K-Dense` | Dask 분산 처리 | K-Dense-AI |
104
- | `python-resource-management` | 메모리 / CPU 관리 패턴 | wshobson |
105
- | `python-performance-optimization` | 프로파일링 + vectorize | wshobson |
106
- | `anthropic-data-plugin` | 시각화 + SQL exploration | Anthropic 공식 |
107
-
108
- ### Business (executive / project-management / growth-marketing)
109
-
110
- | Asset | What | Source | Tracks |
111
- |---|---|---|---|
112
- | `anthropic-document-skills` | pptx / docx / xlsx / pdf 작성 | Anthropic | executive · full |
113
- | `c-level-skills` | 28 advisory skills (CEO/CFO/COO) | claude-code-skills | executive · full |
114
- | `business-growth-skills` | Growth · finance · marketing 플레이북 | claude-code-skills | executive · full · growth-marketing |
115
- | `finance-skills` | 재무 모델 | claude-code-skills | executive · full |
116
- | `pm-skills` | PM 워크플로우 | claude-code-skills | project-management |
117
- | `product-skills` | Product discovery + delivery | claude-code-skills | dev + PM |
118
- | `marketing-skills` / `research-summarizer` | 마케팅 플레이북 | claude-code-skills | growth-marketing |
119
-
120
- ### Dev Tools (모든 dev tracks)
121
-
122
- | Asset | What | Source |
123
- |---|---|---|
124
- | `playwright-skill` | Playwright E2E 테스트 작성 | testdino-hq |
125
- | `find-skills` | 설치된 skills 검색 · ranking | vercel-labs |
126
- | `agent-browser` | 에이전트용 브라우저 자동화 CLI | npm |
127
- | `karpathy-coder` | Pre-commit quality gate hook | claude-code-skills |
128
- | `product-skills` | Product engineering | claude-code-skills |
129
-
130
- ### Workflow (opt-in — step 3 에서 선택)
131
-
132
- | Asset | What | 활성 시 |
133
- |---|---|---|
134
- | `addy-agent-skills` | `/spec` `/plan` `/build` `/test` `/review` `/ship` `/code-simplify` | addyosmani 워크플로우 |
135
- | `superpowers` | Agentic skills 프레임워크 (Anthropic 공식 marketplace) | obra/superpowers |
136
-
137
- ### Security & ECC (opt-in)
138
-
139
- | Asset | What | Source |
140
- |---|---|---|
141
- | `trailofbits-skills` | Differential 보안 리뷰 | Trail of Bits |
142
- | `ecc-plugin` | ECC plugin (`prune-ecc.sh` 로 project-scoped) | affaan-m |
143
- | `ecc-prune` | ECC 를 curated 셋 (4 agents + 8 skills + 3 commands) 으로 trim | 본 프로젝트 |
149
+ - **Frontend**: `frontend-design`(Anthropic 공식, **전 dev 트랙 기본**) + `react-best-practices`(vercel-labs) + `shadcn-ui`. `web-design-guidelines` · `impeccable` 은 v26.106.0 부터 opt-in.
150
+ - **Backend**: `railway-skills`, Supabase 계열(csr-supabase), `vercel-cli`. `netlify-cli` 는 opt-in(배포 CLI 중복 정리).
151
+ - **Data**: `polars` · `dask`(K-Dense) + `anthropic-data-plugin`. Python 패턴 2종(wshobson)은 opt-in.
152
+ - **Dev Tools**: `find-skills` · `agent-browser` · `karpathy-coder` + 1st-party dev-method 스킬 8종(★ — 전 dev 트랙 코어, Step 3 에서 해제 가능). `code-review`(Anthropic 공식) 는 opt-in — 기본 리뷰 에이전트와 표면 중복.
153
+ - **Security**: `security-guidance`(Anthropic 공식, opt-in런타임에 Python·Agent SDK 필요) · `trailofbits-skills`.
154
+ - **Workflow (전부 opt-in)**: superpowers · ECC · OpenSpec · BMAD · addy agent-skills · wshobson agents · feature-dev — 7종 비교는 [워크플로 가이드](docs/WORKFLOWS.md).
155
+ - **권장 수단 (opt-in)**: `model-orchestration` · `gemini-consult`(agy) · `codex-consult`(codex) 방법론 코어와 달리 "권장하는 수단". 두 컨설트 스킬은 런타임에 해당 외부 CLI 필요.
156
+ - **CI 스캐폴드 (opt-in)**: `--with ci-scaffold` `.github/workflows/` fill-in 템플릿(태그 트리거 CI + 실DB 서비스 컨테이너 + coverage 게이트 + Playwright E2E). `.claude/` 밖에 쓰는 유일한 자산 — **기존 워크플로 파일은 절대 덮어쓰지 않고**, uninstall 은 `.github/` 를 건드리지 않는다.
144
157
 
145
158
  ---
146
159
 
@@ -149,10 +162,12 @@ Step 1 에서 1개 또는 multi 선택. 트랙 선택 결과로 Step 3 의 추
149
162
  모든 외부 자산은 **trust tier** 를 가지며 Step 3 에서 배지로 표시된다:
150
163
 
151
164
  - **★ official** — Anthropic 공식 marketplace + 본 하네스 자체 자산.
152
- - **vetted** — GitHub star ≥ 1000 + 활성 유지보수 + Docker 설치 검증(월 cron). track 적합 시 pre-checked. **보안 감사는 아니다** — npm/npx 는 버전 고정, plugin/skill 은 upstream HEAD 설치.
165
+ - **vetted** — GitHub star ≥ 1000 + 활성 유지보수. track 적합 시 pre-checked.
153
166
  - **⚠ experimental** — star 1000 미만. opt-in 만 (pre-check 안 함), 카테고리 하단 표시.
154
167
 
155
- tier 는 **정보 제공일 뿐 차단하지 않는다** — 최종 선택은 항상 사용자. 권장 자산(official/vetted + track 적합)이 상단 정렬.
168
+ tier 는 **정보 제공일 뿐 차단하지 않는다** — 최종 선택은 항상 사용자. star-drift 월간 CI 자동 감시된다.
169
+
170
+ > **"검증됨"의 근거는?** [호환·검증 매트릭스](docs/COMPATIBILITY.md) — 설치 방법을 실제 registry/marketplace 에 대조하고, 핵심 워크플로 셋은 **Docker 격리 컨테이너 실설치**로 검증한다(정적 표가 아님).
156
171
 
157
172
  ---
158
173
 
@@ -160,7 +175,7 @@ tier 는 **정보 제공일 뿐 차단하지 않는다** — 최종 선택은
160
175
 
161
176
  Step 4 에서 install write 위치 선택.
162
177
 
163
- | | Project (default) | Global (opt-in) |
178
+ | 대상 | Project (default) | Global (opt-in) |
164
179
  |---|---|---|
165
180
  | `claude plugin` | `--scope project` (`installed_plugins.json` 의 `projectPath` 로 격리) | `--scope user` |
166
181
  | `npx skills` | project `node_modules` | `-g` (user-level) |
@@ -169,9 +184,9 @@ Step 4 에서 install write 위치 선택.
169
184
  | Antigravity (skills / workflows) | 프로젝트 `.agents/` | `~/.gemini/antigravity/` |
170
185
  | `~/.claude/skills/` · `~/.codex/` · `~/.opencode/` · `~/.gemini/` · `npm root -g` | **미수정** | 자산별 write |
171
186
 
172
- Project scope 는 install 을 본 레포에 가둠. 동일 머신의 다른 프로젝트는 영향 받지 않음.
187
+ Project scope 는 install 을 본 레포에 가둔다. 동일 머신의 다른 프로젝트는 영향 받지 않는다.
173
188
 
174
- Claude CLI 자체는 scope 와 무관하게 `~/.claude/plugins/cache/` 에 plugin 파일을 write — 단 `installed_plugins.json` 메타데이터가 `projectPath` 로 격리하므로 다른 프로젝트에서 안 보임.
189
+ Claude CLI 자체는 scope 와 무관하게 `~/.claude/plugins/cache/` 에 plugin 파일을 write 한다 — 단 `installed_plugins.json` 메타데이터가 `projectPath` 로 격리하므로 다른 프로젝트에서 안 보인다.
175
190
 
176
191
  ---
177
192
 
@@ -181,13 +196,11 @@ Claude CLI 자체는 scope 와 무관하게 `~/.claude/plugins/cache/` 에 plugi
181
196
  npx -y @uzysjung/agent-harness uninstall
182
197
  ```
183
198
 
184
- `.claude/.harness-install.json` (install 시 생성) 을 읽어 자동 reverse.
199
+ `.claude/.harness-install.json` (install 시 생성) 을 읽어 자동 reverse 한다.
185
200
 
186
201
  - Project-scope 자산: 자동 제거 (`claude plugin uninstall --scope project`, `npm uninstall --save-dev`, `.codex/` cleanup 등).
187
202
  - 프로젝트 루트 `CLAUDE.md`: install 시점과 내용이 동일할 때만 제거 (sha256). 설치 후 직접 수정했다면 안내와 함께 보존.
188
- - Global-scope 자산: advisory 출력 — 사용자가 직접 제거. uninstall 명시적 동의 없이 다른 프로젝트나 글로벌 설정을 절대 건드림.
189
-
190
- Flag:
203
+ - Global-scope 자산: 안내 메시지만 출력 — 사용자가 직접 제거. uninstall 명시적 동의 없이는 다른 프로젝트나 글로벌 설정을 절대 변경하지 않는다.
191
204
 
192
205
  | Flag | What |
193
206
  |---|---|
@@ -242,6 +255,7 @@ Step 2 에서 1개 또는 multi 선택.
242
255
  ## 심화
243
256
 
244
257
  - [docs/USAGE.md](./docs/USAGE.md) — 워크플로우 상세, install 내부, CI flag, ECC 통합, Codex/OpenCode 설정
258
+ - [docs/WORKFLOWS.md](./docs/WORKFLOWS.md) — 설치 가능 워크플로 7종 비교 가이드
245
259
  - [docs/NORTH_STAR.md](./docs/NORTH_STAR.md) — 디자인 원칙
246
260
  - [docs/decisions/](./docs/decisions/) — ADR (아키텍처 결정)
247
261
  - [docs/REFERENCE.md](./docs/REFERENCE.md) — 트랙별 자산 매트릭스 상세
package/README.md CHANGED
@@ -1,8 +1,13 @@
1
1
  # uzys-agent-harness
2
2
 
3
- **Install only the AI-coding skills & plugins your tech stack actually needs — vetted, curated, and set up with one command across Claude Code, Codex, OpenCode & Antigravity.**
3
+ **Install only the AI-coding skills & plugins your tech stack actually needs — vetted, curated, and set up with one command across Claude Code, Codex, OpenCode & Antigravity. Plus the project-lifecycle discipline that keeps an agent honest from idea to ship.**
4
4
 
5
- Coding agents keep getting stronger out of the box — piling on skills and MCPs you'll never use just bloats their context. And the awesome-lists have too many options to wade through. `agent-harness` curates by **tech stack**: of the vetted options, you install only what this project actually calls for. **Claude Code is first-class; Codex / OpenCode / Antigravity get the skills + rules layer.** Project scope by default — no global pollution unless you ask.
5
+ Coding agents keep getting stronger out of the box — piling on skills and MCPs you'll never use just bloats their context window. And the awesome-lists have too many options to wade through. `agent-harness` does two things:
6
+
7
+ 1. **Lean curation by tech stack** — of the vetted options, you install only what this project actually calls for.
8
+ 2. **A discipline layer** — rules, hooks, and CI scaffolds distilled from running real production projects with agents: doc governance, verification gates, benchmark-parity loops, recurrence prevention. That layer is what makes it a *harness*, not a skill pack ([details ↓](#the-discipline-layer--what-makes-it-a-harness)).
9
+
10
+ **Claude Code is fully supported (all assets, hooks, and plugins); Codex / OpenCode / Antigravity get the skills + rules layer.** Project scope by default — no global pollution unless you ask.
6
11
 
7
12
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
8
13
  [![Version](https://img.shields.io/github/v/tag/uzysjung/uzys-agent-harness?label=version)](https://github.com/uzysjung/uzys-agent-harness/releases)
@@ -22,7 +27,7 @@ Coding agents keep getting stronger out of the box — piling on skills and MCPs
22
27
  npx -y @uzysjung/agent-harness
23
28
  ```
24
29
 
25
- A 6-step interactive wizard guides everything. No flags needed. **Safe on an existing project** — it backs up your `settings.json` / `CLAUDE.md` before any change (details below); nothing is deleted.
30
+ A 6-step interactive wizard guides everything no flags needed (requires an interactive terminal; for CI/Docker use the [flag-based mode](#non-interactive-install-ci--scripts--docker) below). **Safe on an existing project** — it backs up your `settings.json` / `CLAUDE.md` before any change (details below); nothing is deleted.
26
31
 
27
32
  ```
28
33
  Step 1/6 Tracks ← pick your stack
@@ -36,7 +41,8 @@ Step 6/6 Installing
36
41
  After install:
37
42
 
38
43
  ```bash
39
- claude # launch your CLI installed skills, rules, and hooks are now active
44
+ claude # or codex / opencode / agy whichever CLI you installed for;
45
+ # skills, rules, and hooks are now active
40
46
  ```
41
47
 
42
48
  ### Non-interactive install (CI / scripts / Docker)
@@ -71,6 +77,24 @@ Curation, not a list to browse — pick `csr-supabase` and step 3 pre-checks exa
71
77
 
72
78
  ---
73
79
 
80
+ ## The discipline layer — what makes it a harness
81
+
82
+ Curated assets are half the install. The other half is a **project-lifecycle discipline**: rules, hooks, and scaffolds proven in our own production projects, generalized to be domain-neutral. It covers the loop an agent actually runs — direction → docs → tests/CI → verification → real-browser checks → recurrence prevention:
83
+
84
+ | Lifecycle stage | Installed as | What it enforces |
85
+ |---|---|---|
86
+ | **Direction** | `north-star` skill (all tracks) + `northstar-roadmap` ★ | vision doc → measured gaps → ranked backlog |
87
+ | **Doc governance** | `doc-governance` rule (all tracks) + `spec-drift-check` hook | SSOT hierarchy, "merge = code **and** tracking sync", current-vs-archive split |
88
+ | **Delivery** | `git-policy` · `change-management` · `gates-taxonomy` rules (all tracks) | conventional commits, ADRs for load-bearing decisions, 4 gate types |
89
+ | **Tests → CI** | `test-policy` rule (dev tracks) + `ci-scaffold` (opt-in) | coverage thresholds, TDD, real-DB **parity** CI templates (fill-in) in `.github/workflows/` |
90
+ | **Verification** | `reviewer` agent + `multi-persona-review` ★ | implementer ≠ verifier; multi-perspective review before ship |
91
+ | **Real-browser verification** | `playwright-launch` + `benchmark-parity` rules (UI tracks) | persistent-profile capture, gap matrix (`gap.md`), PR `## Fidelity` evidence |
92
+ | **Recurrence** | `recurrence-prevention` ★ (dev tracks) | repeat defect → escalate: record → forced rule → structural gate |
93
+
94
+ Everything here is deterministic and small — fixed rails, flexible agent. ★ = first-party dev-method skill (see below).
95
+
96
+ ---
97
+
74
98
  ## Curation philosophy — lean by default
75
99
 
76
100
  > Maintainer's direction statement (2026-07). The catalog itself is unchanged by this section — it describes how curation decisions are made going forward.
@@ -146,6 +170,7 @@ External assets are recommended automatically based on your track selection. Ste
146
170
 
147
171
  | Asset | What | Source |
148
172
  |---|---|---|
173
+ | `frontend-design` | Distinctive production-grade UI generation — **default on all dev tracks** | Anthropic official |
149
174
  | `react-best-practices` | React patterns and component guidelines | vercel-labs |
150
175
  | `shadcn-ui` | Radix-based component copy + Tailwind theme | shadcn (official) |
151
176
  | `web-design-guidelines` | UX/UI best practices — **opt-in** since v26.106.0 (`frontend-design` covers the default) | vercel-labs |
@@ -192,6 +217,7 @@ External assets are recommended automatically based on your track selection. Ste
192
217
  | `find-skills` | Search and rank installed skills | vercel-labs |
193
218
  | `agent-browser` | Browser automation CLI for agents | npm |
194
219
  | `karpathy-coder` | Pre-commit quality gate hook | claude-code-skills |
220
+ | `code-review` | Multi-agent PR review with confidence scoring — **opt-in** (overlaps the default review agents) | Anthropic official |
195
221
  | `multi-persona-review` ★ | Critique one artifact via 3-5 parallel personas → P0/P1/P2 fixes | this project (core) |
196
222
  | `gap-analysis-e2e` ★ | Detect north-star / correctness / UX gaps, then benchmark how reference services solved each | this project (core) |
197
223
  | `ultracode-service-audit` ★ | Multi-agent, adversarially-verified full-service audit (7 dimensions) → milestone roadmap | this project (core) |
@@ -212,7 +238,7 @@ External assets are recommended automatically based on your track selection. Ste
212
238
  | `wshobson-agents` | Multi-agent orchestration workflows (full-stack/tdd/review), cross-CLI | wshobson |
213
239
  | `feature-dev` | Guided feature workflow — explore/architect/review agents | Anthropic official marketplace |
214
240
 
215
- **First-party dev-method skills** (`official`, **core on every dev track** installed by default, uncheck at step 3 or `--without <id>` to skip; repo-bundled templates; install across all 4 CLIs Claude + Codex/Antigravity native skills + OpenCode command fallback):
241
+ **First-party dev-method skills** `official`, **core on every dev track** (installed by default; uncheck at step 3 or `--without <id>` to skip). Repo-bundled templates that install across all 4 CLIs: Claude, Codex/Antigravity native skills, OpenCode command fallback.
216
242
 
217
243
  | Asset | What | Source |
218
244
  |---|---|---|
@@ -236,6 +262,7 @@ External assets are recommended automatically based on your track selection. Ste
236
262
 
237
263
  | Asset | What | Source |
238
264
  |---|---|---|
265
+ | `security-guidance` | Pattern-based security warnings on every edit + LLM diff review (needs Python + Agent SDK at runtime) | Anthropic official |
239
266
  | `trailofbits-skills` | Differential security review | Trail of Bits |
240
267
  | `ecc-plugin` | ECC plugin (project-scoped via `prune-ecc.sh`) | affaan-m |
241
268
  | `ecc-prune` | Trim ECC down to a curated set (4 agents + 8 skills + 3 commands) | this project |
@@ -260,7 +287,7 @@ Tiers **inform, never block** — you always review and choose what installs. Re
260
287
 
261
288
  Step 4 asks where the install writes.
262
289
 
263
- | | Project (default) | Global (opt-in) |
290
+ | Write target | Project (default) | Global (opt-in) |
264
291
  |---|---|---|
265
292
  | `claude plugin` | `--scope project` (entries isolated by `projectPath` in `installed_plugins.json`) | `--scope user` |
266
293
  | `npx skills` | project `node_modules` | `-g` (user-level) |
package/dist/index.js CHANGED
@@ -709,7 +709,7 @@ var cac = (name = "") => new CAC(name);
709
709
  // package.json
710
710
  var package_default = {
711
711
  name: "@uzysjung/agent-harness",
712
- version: "26.110.0",
712
+ version: "26.111.1",
713
713
  description: "Curate vetted AI-coding skills & plugins by your tech stack \u2014 install only what you need, across Claude Code, Codex, OpenCode & Antigravity",
714
714
  type: "module",
715
715
  publishConfig: {