@uzysjung/agent-harness 26.109.0 → 26.111.0
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 +95 -81
- package/README.md +33 -6
- package/dist/{chunk-ZEV3DL6G.js → chunk-P6YR3FBR.js} +57 -1
- package/dist/chunk-P6YR3FBR.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/trust-tier-drift.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-ZEV3DL6G.js.map +0 -1
package/README.ko.md
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
# uzys-agent-harness
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**기술 스택에 실제로 필요한 AI 코딩 스킬·플러그인만 골라, 한 번의 명령어로 Claude Code · Codex · OpenCode · Antigravity 에 세팅한다 — 아이디어→출하까지 에이전트를 정직하게 붙잡아주는 라이프사이클 규율과 함께.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
코딩 에이전트는 기본기가 계속 강해지고 있다 — 안 쓸 스킬과 MCP 를 쌓는 것은 컨텍스트만 부풀린다. awesome-list 는 고르기엔 너무 많다. `agent-harness` 는 두 가지를 한다:
|
|
6
|
+
|
|
7
|
+
1. **스택 기반 lean 큐레이션** — 검증된 옵션 중에서, 이 프로젝트에 실제로 필요한 것만 설치.
|
|
8
|
+
2. **규율 레이어(discipline layer)** — 실제 프로덕션 프로젝트를 에이전트로 운영하며 증명된 룰·훅·CI 스캐폴드: 문서 거버넌스, 검증 게이트, 벤치마크 패리티 루프, 재발 방지. 이 레이어가 이것을 스킬 팩이 아니라 *하네스*로 만든다 ([상세 ↓](#규율-레이어--무엇이-하네스인가)).
|
|
9
|
+
|
|
10
|
+
**Claude Code 가 first-class; Codex / OpenCode / Antigravity 는 skills + rules 레이어를 받는다.** 디폴트는 project scope — 명시적으로 선택하지 않는 한 글로벌 영역 미수정.
|
|
6
11
|
|
|
7
12
|
[](LICENSE)
|
|
8
13
|
[](https://github.com/uzysjung/uzys-agent-harness/releases)
|
|
@@ -10,6 +15,8 @@
|
|
|
10
15
|
|
|
11
16
|

|
|
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 가
|
|
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개
|
|
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
|
-
트랙 선택 결과로 자동
|
|
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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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 + 활성
|
|
165
|
+
- **vetted** — GitHub star ≥ 1000 + 활성 유지보수. track 적합 시 pre-checked.
|
|
153
166
|
- **⚠ experimental** — star 1000 미만. opt-in 만 (pre-check 안 함), 카테고리 하단 표시.
|
|
154
167
|
|
|
155
|
-
tier 는 **정보 제공일 뿐 차단하지 않는다** — 최종 선택은 항상 사용자.
|
|
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 자산:
|
|
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`
|
|
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` 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 first-class; Codex / OpenCode / Antigravity get the skills + rules layer.** Project scope by default — no global pollution unless you ask.
|
|
6
11
|
|
|
7
12
|
[](LICENSE)
|
|
8
13
|
[](https://github.com/uzysjung/uzys-agent-harness/releases)
|
|
@@ -10,7 +15,7 @@ Coding agents keep getting stronger out of the box — piling on skills and MCPs
|
|
|
10
15
|
|
|
11
16
|

|
|
12
17
|
|
|
13
|
-
> **What "vetted" means** — ≥ 1000 GitHub stars + active maintenance + a Docker install-verification run (
|
|
18
|
+
> **What "vetted" means** — ≥ 1000 GitHub stars + active maintenance + a Docker install-verification run (51/65 assets green today), re-checked monthly by a CI cron ([catalog-verify](docs/COMPATIBILITY.md), [trust-tier-drift](.github/workflows/)). It is **not** a line-by-line security audit or a prompt-injection scan of asset contents. npm/npx assets are version-pinned; **plugin/skill assets resolve to upstream HEAD (not commit-pinned yet)**. Treat installed assets like any third-party dependency — see [SECURITY.md](SECURITY.md).
|
|
14
19
|
|
|
15
20
|
🇰🇷 [한국어](./README.ko.md)
|
|
16
21
|
|
|
@@ -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
|
|
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
|
|
@@ -91,6 +96,24 @@ One honest note: this repository's *own* development harness is deliberately hea
|
|
|
91
96
|
|
|
92
97
|
---
|
|
93
98
|
|
|
99
|
+
## The discipline layer — what makes it a harness
|
|
100
|
+
|
|
101
|
+
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 truth → recurrence prevention:
|
|
102
|
+
|
|
103
|
+
| Lifecycle stage | Installed as | What it enforces |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| **Direction** | `north-star` skill (all tracks) + `northstar-roadmap` ★ | vision doc → measured gaps → ranked backlog |
|
|
106
|
+
| **Doc governance** | `doc-governance` rule (all tracks) + `spec-drift-check` hook | SSOT hierarchy, "merge = code **and** tracking sync", current-vs-archive split |
|
|
107
|
+
| **Delivery** | `git-policy` · `change-management` · `gates-taxonomy` rules (all tracks) | conventional commits, ADRs for load-bearing decisions, 4 gate types |
|
|
108
|
+
| **Tests → CI** | `test-policy` rule (dev tracks) + `ci-scaffold` (opt-in) | coverage thresholds, TDD, real-DB **parity** CI templates (fill-in) in `.github/workflows/` |
|
|
109
|
+
| **Verification** | `reviewer` agent + `multi-persona-review` ★ | implementer ≠ verifier; multi-perspective review before ship |
|
|
110
|
+
| **Real-browser truth** | `playwright-launch` + `benchmark-parity` rules (UI tracks) | persistent-profile capture, gap matrix (`gap.md`), PR `## Fidelity` evidence |
|
|
111
|
+
| **Recurrence** | `recurrence-prevention` ★ (dev tracks) | repeat defect → escalate: record → forced rule → structural gate |
|
|
112
|
+
|
|
113
|
+
Everything here is deterministic and small — fixed rails, flexible agent. ★ = first-party dev-method skill (see below).
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
94
117
|
## Installing into an existing project
|
|
95
118
|
|
|
96
119
|
`agent-harness` never silently overwrites your config. Before replacing an **editable** file whose contents differ, it writes a timestamped backup next to it — and every backup path is printed in the install summary (`backup` rows). Nothing is deleted.
|
|
@@ -146,6 +169,7 @@ External assets are recommended automatically based on your track selection. Ste
|
|
|
146
169
|
|
|
147
170
|
| Asset | What | Source |
|
|
148
171
|
|---|---|---|
|
|
172
|
+
| `frontend-design` | Distinctive production-grade UI generation — **default on all dev tracks** | Anthropic official |
|
|
149
173
|
| `react-best-practices` | React patterns and component guidelines | vercel-labs |
|
|
150
174
|
| `shadcn-ui` | Radix-based component copy + Tailwind theme | shadcn (official) |
|
|
151
175
|
| `web-design-guidelines` | UX/UI best practices — **opt-in** since v26.106.0 (`frontend-design` covers the default) | vercel-labs |
|
|
@@ -192,6 +216,7 @@ External assets are recommended automatically based on your track selection. Ste
|
|
|
192
216
|
| `find-skills` | Search and rank installed skills | vercel-labs |
|
|
193
217
|
| `agent-browser` | Browser automation CLI for agents | npm |
|
|
194
218
|
| `karpathy-coder` | Pre-commit quality gate hook | claude-code-skills |
|
|
219
|
+
| `code-review` | Multi-agent PR review with confidence scoring — **opt-in** (overlaps the default review agents) | Anthropic official |
|
|
195
220
|
| `multi-persona-review` ★ | Critique one artifact via 3-5 parallel personas → P0/P1/P2 fixes | this project (core) |
|
|
196
221
|
| `gap-analysis-e2e` ★ | Detect north-star / correctness / UX gaps, then benchmark how reference services solved each | this project (core) |
|
|
197
222
|
| `ultracode-service-audit` ★ | Multi-agent, adversarially-verified full-service audit (7 dimensions) → milestone roadmap | this project (core) |
|
|
@@ -200,7 +225,7 @@ External assets are recommended automatically based on your track selection. Ste
|
|
|
200
225
|
|
|
201
226
|
### Workflow (opt-in — pick one or more at step 3)
|
|
202
227
|
|
|
203
|
-
> **Which one?** See the [Workflow curation guide](docs/WORKFLOWS.md) — a vetted comparison of all
|
|
228
|
+
> **Which one?** See the [Workflow curation guide](docs/WORKFLOWS.md) — a vetted comparison of all 7 installable workflows (plus honest pointers to Spec Kit / Kiro, which we recommend but don't auto-install).
|
|
204
229
|
|
|
205
230
|
| Asset | What | Activates |
|
|
206
231
|
|---|---|---|
|
|
@@ -210,6 +235,7 @@ External assets are recommended automatically based on your track selection. Ste
|
|
|
210
235
|
| `bmad-method` | Multi-agent agile workflow (PM/Architect/Dev, 12+ agents) | bmad-code-org |
|
|
211
236
|
| `addy-agent-skills` | `/spec` `/plan` `/build` `/test` `/review` `/ship` `/code-simplify` skills | addyosmani's workflow |
|
|
212
237
|
| `wshobson-agents` | Multi-agent orchestration workflows (full-stack/tdd/review), cross-CLI | wshobson |
|
|
238
|
+
| `feature-dev` | Guided feature workflow — explore/architect/review agents | Anthropic official marketplace |
|
|
213
239
|
|
|
214
240
|
**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):
|
|
215
241
|
|
|
@@ -235,6 +261,7 @@ External assets are recommended automatically based on your track selection. Ste
|
|
|
235
261
|
|
|
236
262
|
| Asset | What | Source |
|
|
237
263
|
|---|---|---|
|
|
264
|
+
| `security-guidance` | Pattern-based security warnings on every edit + LLM diff review (needs Python + Agent SDK at runtime) | Anthropic official |
|
|
238
265
|
| `trailofbits-skills` | Differential security review | Trail of Bits |
|
|
239
266
|
| `ecc-plugin` | ECC plugin (project-scoped via `prune-ecc.sh`) | affaan-m |
|
|
240
267
|
| `ecc-prune` | Trim ECC down to a curated set (4 agents + 8 skills + 3 commands) | this project |
|
|
@@ -259,7 +286,7 @@ Tiers **inform, never block** — you always review and choose what installs. Re
|
|
|
259
286
|
|
|
260
287
|
Step 4 asks where the install writes.
|
|
261
288
|
|
|
262
|
-
| | Project (default) | Global (opt-in) |
|
|
289
|
+
| Write target | Project (default) | Global (opt-in) |
|
|
263
290
|
|---|---|---|
|
|
264
291
|
| `claude plugin` | `--scope project` (entries isolated by `projectPath` in `installed_plugins.json`) | `--scope user` |
|
|
265
292
|
| `npx skills` | project `node_modules` | `-g` (user-level) |
|
|
@@ -382,6 +382,24 @@ var EXTERNAL_ASSETS = [
|
|
|
382
382
|
pluginId: "superpowers@claude-plugins-official"
|
|
383
383
|
}
|
|
384
384
|
},
|
|
385
|
+
// v26.110.0 (ADR-039, 오피셜 플러그인 큐레이션) — feature-dev: 탐색→설계→구현 워크플로우 +
|
|
386
|
+
// 전용 에이전트 3종(code-architect/code-explorer/code-reviewer). 방법론류 — ADR-032
|
|
387
|
+
// "워크플로우 강제 구조는 기본 불필요" + 자체 code-reviewer 가 기본 리뷰 에이전트와 중복
|
|
388
|
+
// → superpowers 와 동급 opt-in.
|
|
389
|
+
{
|
|
390
|
+
id: "feature-dev",
|
|
391
|
+
tier: "official",
|
|
392
|
+
// anthropics/claude-plugins-official (242.5K installs, 사용자 관측 2026-07-18)
|
|
393
|
+
description: "feature-dev \u2014 guided feature workflow with explore/architect/review agents (Anthropic official)",
|
|
394
|
+
category: "workflow",
|
|
395
|
+
source: "anthropics",
|
|
396
|
+
condition: { kind: "opt-in" },
|
|
397
|
+
method: {
|
|
398
|
+
kind: "plugin",
|
|
399
|
+
marketplace: "anthropics/claude-plugins-official",
|
|
400
|
+
pluginId: "feature-dev@claude-plugins-official"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
385
403
|
{
|
|
386
404
|
// v26.75.0 (ADR-021) — wshobson/agents marketplace.json name = "claude-code-workflows"
|
|
387
405
|
// (84 plugins). 대표 = full-stack-orchestration. 다른 orchestrator(agent-orchestration/
|
|
@@ -517,6 +535,40 @@ var EXTERNAL_ASSETS = [
|
|
|
517
535
|
}
|
|
518
536
|
},
|
|
519
537
|
// === dev tools (has_dev_track) ===
|
|
538
|
+
// v26.110.0 (ADR-039) — code-review: /code-review 커맨드 1개 (다중 에이전트 confidence
|
|
539
|
+
// 스코어링 PR 리뷰). 기본 리뷰 스택(reviewer·code-reviewer·security-reviewer)과 표면 중복
|
|
540
|
+
// + 최신 Claude Code 네이티브 /code-review 와 충돌 소지 → opt-in.
|
|
541
|
+
{
|
|
542
|
+
id: "code-review",
|
|
543
|
+
tier: "official",
|
|
544
|
+
// anthropics/claude-plugins-official (404.3K installs, 사용자 관측 2026-07-18)
|
|
545
|
+
description: "code-review \u2014 multi-agent PR review with confidence scoring (Anthropic official)",
|
|
546
|
+
category: "dev-tools",
|
|
547
|
+
source: "anthropics",
|
|
548
|
+
condition: { kind: "opt-in" },
|
|
549
|
+
method: {
|
|
550
|
+
kind: "plugin",
|
|
551
|
+
marketplace: "anthropics/claude-plugins-official",
|
|
552
|
+
pluginId: "code-review@claude-plugins-official"
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
// v26.110.0 (ADR-039) — security-guidance: 매 편집 패턴 경고 + LLM diff 리뷰 (훅 12파일,
|
|
556
|
+
// Python + Agent SDK 의존). 상시 훅 = 매 편집 비용 + 폭발 반경 — 실측 전 기본설치 금지
|
|
557
|
+
// (Context Cost NSM) → opt-in. security-reviewer 에이전트·agentshield ship 게이트와 보완.
|
|
558
|
+
{
|
|
559
|
+
id: "security-guidance",
|
|
560
|
+
tier: "official",
|
|
561
|
+
// anthropics/claude-plugins-official (220.8K installs, 사용자 관측 2026-07-18)
|
|
562
|
+
description: "security-guidance \u2014 pattern-based security warnings on edits + LLM diff review (Anthropic official)",
|
|
563
|
+
category: "dev-tools",
|
|
564
|
+
source: "anthropics",
|
|
565
|
+
condition: { kind: "opt-in" },
|
|
566
|
+
method: {
|
|
567
|
+
kind: "plugin",
|
|
568
|
+
marketplace: "anthropics/claude-plugins-official",
|
|
569
|
+
pluginId: "security-guidance@claude-plugins-official"
|
|
570
|
+
}
|
|
571
|
+
},
|
|
520
572
|
{
|
|
521
573
|
id: "playwright-skill",
|
|
522
574
|
tier: "experimental",
|
|
@@ -542,6 +594,10 @@ var EXTERNAL_ASSETS = [
|
|
|
542
594
|
condition: { kind: "has-dev-track" },
|
|
543
595
|
method: { kind: "skill", source: "vercel-labs/skills", skill: "find-skills" }
|
|
544
596
|
},
|
|
597
|
+
// v26.110.0 (ADR-039) — context7 플러그인은 **미등록** (검토 후 철회): templates/mcp.json ·
|
|
598
|
+
// codex config.toml.template · opencode 설정이 이미 @upstash/context7-mcp 를 기본 wiring —
|
|
599
|
+
// 플러그인 추가 = 동일 서버 중복 등록이고 도달 범위도 더 좁다(plugin=claude-only vs
|
|
600
|
+
// 템플릿=claude+codex+opencode). "문서 조회 기본 제공" 요구는 기충족.
|
|
545
601
|
{
|
|
546
602
|
id: "agent-browser",
|
|
547
603
|
tier: "vetted",
|
|
@@ -1129,4 +1185,4 @@ export {
|
|
|
1129
1185
|
CATEGORIES,
|
|
1130
1186
|
CATEGORY_TITLES
|
|
1131
1187
|
};
|
|
1132
|
-
//# sourceMappingURL=chunk-
|
|
1188
|
+
//# sourceMappingURL=chunk-P6YR3FBR.js.map
|