@uzysjung/agent-harness 26.83.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/LICENSE +21 -0
- package/README.ko.md +279 -0
- package/README.md +306 -0
- package/dist/chunk-SDVAM5JZ.js +775 -0
- package/dist/chunk-SDVAM5JZ.js.map +1 -0
- package/dist/index.js +5412 -0
- package/dist/index.js.map +1 -0
- package/dist/trust-tier-drift.js +67 -0
- package/dist/trust-tier-drift.js.map +1 -0
- package/package.json +53 -0
- package/scripts/prune-ecc.sh +310 -0
- package/templates/CLAUDE.md +86 -0
- package/templates/agents/build-error-resolver.md +114 -0
- package/templates/agents/code-reviewer.md +237 -0
- package/templates/agents/data-analyst.md +69 -0
- package/templates/agents/plan-checker.md +118 -0
- package/templates/agents/reviewer.md +128 -0
- package/templates/agents/security-reviewer.md +108 -0
- package/templates/agents/silent-failure-hunter.md +50 -0
- package/templates/agents/strategist.md +86 -0
- package/templates/antigravity/AGENTS.md.template +58 -0
- package/templates/codex/AGENTS.md.template +94 -0
- package/templates/codex/README.md +69 -0
- package/templates/codex/config.toml.template +108 -0
- package/templates/codex/hooks/README.md +40 -0
- package/templates/codex/hooks/gate-check.sh +7 -0
- package/templates/codex/hooks/hito-counter.sh +7 -0
- package/templates/codex/hooks/session-start.sh +7 -0
- package/templates/codex/hooks/uncommitted-check.sh +7 -0
- package/templates/codex/skills/uzys-build/SKILL.md +24 -0
- package/templates/codex/skills/uzys-plan/SKILL.md +24 -0
- package/templates/codex/skills/uzys-review/SKILL.md +24 -0
- package/templates/codex/skills/uzys-ship/SKILL.md +24 -0
- package/templates/codex/skills/uzys-spec/SKILL.md +28 -0
- package/templates/codex/skills/uzys-test/SKILL.md +24 -0
- package/templates/commands/ecc/checkpoint.md +32 -0
- package/templates/commands/ecc/e2e.md +105 -0
- package/templates/commands/ecc/eval.md +88 -0
- package/templates/commands/ecc/evolve.md +7 -0
- package/templates/commands/ecc/harness-audit.md +73 -0
- package/templates/commands/ecc/instinct-status.md +8 -0
- package/templates/commands/ecc/promote.md +10 -0
- package/templates/commands/ecc/security-scan.md +10 -0
- package/templates/commands/uzys/auto.md +190 -0
- package/templates/commands/uzys/build.md +42 -0
- package/templates/commands/uzys/plan.md +55 -0
- package/templates/commands/uzys/review.md +44 -0
- package/templates/commands/uzys/ship.md +49 -0
- package/templates/commands/uzys/spec.md +93 -0
- package/templates/commands/uzys/test.md +58 -0
- package/templates/docs/PLAN.template.md +102 -0
- package/templates/hooks/agentshield-gate.sh +101 -0
- package/templates/hooks/checkpoint-snapshot.sh +115 -0
- package/templates/hooks/gate-check.sh +138 -0
- package/templates/hooks/hito-counter.sh +26 -0
- package/templates/hooks/karpathy-gate.sh +59 -0
- package/templates/hooks/mcp-pre-exec.sh +104 -0
- package/templates/hooks/protect-files.sh +41 -0
- package/templates/hooks/session-start.sh +40 -0
- package/templates/hooks/spec-drift-check.sh +86 -0
- package/templates/mcp-allowlist.example +24 -0
- package/templates/mcp.json +20 -0
- package/templates/opencode/.opencode/commands/uzys-build.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-plan.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-review.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-ship.md +22 -0
- package/templates/opencode/.opencode/commands/uzys-spec.md +28 -0
- package/templates/opencode/.opencode/commands/uzys-test.md +22 -0
- package/templates/opencode/.opencode/plugins/uzys-harness.ts +146 -0
- package/templates/opencode/AGENTS.md.template +98 -0
- package/templates/opencode/README.md +34 -0
- package/templates/opencode/opencode.json.template +42 -0
- package/templates/project-claude/_base.md +23 -0
- package/templates/project-claude/fragments/csr-fastapi/active-rules.md +13 -0
- package/templates/project-claude/fragments/csr-fastapi/agents.md +5 -0
- package/templates/project-claude/fragments/csr-fastapi/boundaries.md +18 -0
- package/templates/project-claude/fragments/csr-fastapi/commands.md +6 -0
- package/templates/project-claude/fragments/csr-fastapi/plugins.md +2 -0
- package/templates/project-claude/fragments/csr-fastapi/skills.md +5 -0
- package/templates/project-claude/fragments/csr-fastapi/stack.md +6 -0
- package/templates/project-claude/fragments/csr-fastapi/tagline.md +1 -0
- package/templates/project-claude/fragments/csr-fastapi/workflow.md +8 -0
- package/templates/project-claude/fragments/csr-fastify/active-rules.md +13 -0
- package/templates/project-claude/fragments/csr-fastify/agents.md +5 -0
- package/templates/project-claude/fragments/csr-fastify/boundaries.md +18 -0
- package/templates/project-claude/fragments/csr-fastify/commands.md +6 -0
- package/templates/project-claude/fragments/csr-fastify/plugins.md +2 -0
- package/templates/project-claude/fragments/csr-fastify/skills.md +5 -0
- package/templates/project-claude/fragments/csr-fastify/stack.md +6 -0
- package/templates/project-claude/fragments/csr-fastify/tagline.md +1 -0
- package/templates/project-claude/fragments/csr-fastify/workflow.md +8 -0
- package/templates/project-claude/fragments/csr-supabase/active-rules.md +12 -0
- package/templates/project-claude/fragments/csr-supabase/agents.md +5 -0
- package/templates/project-claude/fragments/csr-supabase/boundaries.md +19 -0
- package/templates/project-claude/fragments/csr-supabase/commands.md +6 -0
- package/templates/project-claude/fragments/csr-supabase/plugins.md +4 -0
- package/templates/project-claude/fragments/csr-supabase/skills.md +7 -0
- package/templates/project-claude/fragments/csr-supabase/stack.md +6 -0
- package/templates/project-claude/fragments/csr-supabase/supabase-auth.md +21 -0
- package/templates/project-claude/fragments/csr-supabase/tagline.md +1 -0
- package/templates/project-claude/fragments/csr-supabase/workflow.md +8 -0
- package/templates/project-claude/fragments/data/active-rules.md +10 -0
- package/templates/project-claude/fragments/data/agents.md +6 -0
- package/templates/project-claude/fragments/data/boundaries.md +20 -0
- package/templates/project-claude/fragments/data/commands.md +6 -0
- package/templates/project-claude/fragments/data/plugins.md +2 -0
- package/templates/project-claude/fragments/data/skills.md +3 -0
- package/templates/project-claude/fragments/data/stack.md +7 -0
- package/templates/project-claude/fragments/data/tagline.md +1 -0
- package/templates/project-claude/fragments/data/workflow.md +9 -0
- package/templates/project-claude/fragments/executive/active-rules.md +6 -0
- package/templates/project-claude/fragments/executive/agents.md +6 -0
- package/templates/project-claude/fragments/executive/boundaries.md +17 -0
- package/templates/project-claude/fragments/executive/commands.md +11 -0
- package/templates/project-claude/fragments/executive/plugins.md +1 -0
- package/templates/project-claude/fragments/executive/skills.md +7 -0
- package/templates/project-claude/fragments/executive/stack.md +4 -0
- package/templates/project-claude/fragments/executive/tagline.md +1 -0
- package/templates/project-claude/fragments/executive/workflow.md +10 -0
- package/templates/project-claude/fragments/growth-marketing/active-rules.md +7 -0
- package/templates/project-claude/fragments/growth-marketing/agents.md +6 -0
- package/templates/project-claude/fragments/growth-marketing/boundaries.md +17 -0
- package/templates/project-claude/fragments/growth-marketing/commands.md +11 -0
- package/templates/project-claude/fragments/growth-marketing/plugins.md +9 -0
- package/templates/project-claude/fragments/growth-marketing/skills.md +8 -0
- package/templates/project-claude/fragments/growth-marketing/stack.md +7 -0
- package/templates/project-claude/fragments/growth-marketing/tagline.md +1 -0
- package/templates/project-claude/fragments/growth-marketing/workflow.md +11 -0
- package/templates/project-claude/fragments/project-management/active-rules.md +7 -0
- package/templates/project-claude/fragments/project-management/agents.md +6 -0
- package/templates/project-claude/fragments/project-management/boundaries.md +16 -0
- package/templates/project-claude/fragments/project-management/commands.md +10 -0
- package/templates/project-claude/fragments/project-management/plugins.md +6 -0
- package/templates/project-claude/fragments/project-management/skills.md +5 -0
- package/templates/project-claude/fragments/project-management/stack.md +4 -0
- package/templates/project-claude/fragments/project-management/tagline.md +1 -0
- package/templates/project-claude/fragments/project-management/workflow.md +12 -0
- package/templates/project-claude/fragments/ssr-htmx/active-rules.md +11 -0
- package/templates/project-claude/fragments/ssr-htmx/agents.md +5 -0
- package/templates/project-claude/fragments/ssr-htmx/boundaries.md +20 -0
- package/templates/project-claude/fragments/ssr-htmx/commands.md +6 -0
- package/templates/project-claude/fragments/ssr-htmx/plugins.md +2 -0
- package/templates/project-claude/fragments/ssr-htmx/skills.md +3 -0
- package/templates/project-claude/fragments/ssr-htmx/stack.md +6 -0
- package/templates/project-claude/fragments/ssr-htmx/tagline.md +1 -0
- package/templates/project-claude/fragments/ssr-htmx/workflow.md +8 -0
- package/templates/project-claude/fragments/ssr-nextjs/active-rules.md +12 -0
- package/templates/project-claude/fragments/ssr-nextjs/agents.md +5 -0
- package/templates/project-claude/fragments/ssr-nextjs/boundaries.md +20 -0
- package/templates/project-claude/fragments/ssr-nextjs/commands.md +6 -0
- package/templates/project-claude/fragments/ssr-nextjs/plugins.md +2 -0
- package/templates/project-claude/fragments/ssr-nextjs/skills.md +5 -0
- package/templates/project-claude/fragments/ssr-nextjs/stack.md +5 -0
- package/templates/project-claude/fragments/ssr-nextjs/tagline.md +1 -0
- package/templates/project-claude/fragments/ssr-nextjs/workflow.md +8 -0
- package/templates/project-claude/fragments/tooling/active-rules.md +11 -0
- package/templates/project-claude/fragments/tooling/agents.md +5 -0
- package/templates/project-claude/fragments/tooling/boundaries.md +17 -0
- package/templates/project-claude/fragments/tooling/commands.md +4 -0
- package/templates/project-claude/fragments/tooling/skills.md +4 -0
- package/templates/project-claude/fragments/tooling/stack.md +5 -0
- package/templates/project-claude/fragments/tooling/tagline.md +1 -0
- package/templates/project-claude/fragments/tooling/workflow.md +5 -0
- package/templates/rules/api-contract.md +33 -0
- package/templates/rules/change-management.md +80 -0
- package/templates/rules/cli-development.md +39 -0
- package/templates/rules/code-style.md +23 -0
- package/templates/rules/data-analysis.md +61 -0
- package/templates/rules/database.md +29 -0
- package/templates/rules/design-workflow.md +17 -0
- package/templates/rules/error-handling.md +23 -0
- package/templates/rules/gates-taxonomy.md +21 -0
- package/templates/rules/git-policy.md +102 -0
- package/templates/rules/htmx.md +42 -0
- package/templates/rules/nextjs.md +35 -0
- package/templates/rules/playwright-launch.md +66 -0
- package/templates/rules/pyside6.md +59 -0
- package/templates/rules/shadcn.md +33 -0
- package/templates/rules/ship-checklist.md +24 -0
- package/templates/rules/tauri.md +40 -0
- package/templates/rules/test-policy.md +62 -0
- package/templates/settings.json +71 -0
- package/templates/skills/agent-introspection-debugging/SKILL.md +153 -0
- package/templates/skills/continuous-learning-v2/SKILL.md +365 -0
- package/templates/skills/continuous-learning-v2/config.json +8 -0
- package/templates/skills/continuous-learning-v2/hooks/observe.sh +428 -0
- package/templates/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
- package/templates/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/templates/skills/deep-research/SKILL.md +155 -0
- package/templates/skills/deep-research/agents/openai.yaml +7 -0
- package/templates/skills/e2e-testing/SKILL.md +326 -0
- package/templates/skills/e2e-testing/agents/openai.yaml +7 -0
- package/templates/skills/eval-harness/SKILL.md +279 -0
- package/templates/skills/eval-harness/agents/openai.yaml +7 -0
- package/templates/skills/gh-issue-workflow/ISSUE.template.md +58 -0
- package/templates/skills/gh-issue-workflow/SKILL.md +184 -0
- package/templates/skills/investor-materials/SKILL.md +96 -0
- package/templates/skills/investor-outreach/SKILL.md +91 -0
- package/templates/skills/market-research/SKILL.md +75 -0
- package/templates/skills/market-research/agents/openai.yaml +7 -0
- package/templates/skills/nextjs-turbopack/SKILL.md +44 -0
- package/templates/skills/north-star/NORTH_STAR.template.md +114 -0
- package/templates/skills/north-star/SKILL.md +103 -0
- package/templates/skills/python-patterns/SKILL.md +750 -0
- package/templates/skills/python-testing/SKILL.md +816 -0
- package/templates/skills/spec-scaling/SKILL.md +89 -0
- package/templates/skills/strategic-compact/SKILL.md +131 -0
- package/templates/skills/strategic-compact/suggest-compact.sh +54 -0
- package/templates/skills/ui-visual-review/SKILL.md +154 -0
- package/templates/skills/verification-loop/SKILL.md +126 -0
- package/templates/skills/verification-loop/agents/openai.yaml +7 -0
- package/templates/track-mcp-map.tsv +15 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jay (Uzys Jung)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# uzys-agent-harness
|
|
2
|
+
|
|
3
|
+
**Claude Code · Codex · OpenCode · Antigravity 용 트랙 기반 에이전트 하네스.**
|
|
4
|
+
|
|
5
|
+
스택 트랙 하나 고르면 **검증된** 스킬 · 플러그인 · 룰을 사용자가 직접 확인·선택해 프로젝트에 세팅한다. 디폴트 install 은 **project scope** — 명시적으로 선택하지 않는 한 글로벌 영역 미수정.
|
|
6
|
+
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](https://github.com/uzysjung/uzys-agent-harness/releases)
|
|
9
|
+
[](https://github.com/uzysjung/uzys-agent-harness/actions)
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
🇺🇸 [English](./README.md)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 설치
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx -y @uzysjung/agent-harness
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
6-step interactive wizard 가 안내. flag 필요 없음.
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Step 1/6 Tracks ← 스택 선택
|
|
27
|
+
Step 2/6 CLI ← claude / codex / opencode / antigravity
|
|
28
|
+
Step 3/6 Install items ← 추천 항목 (pre-checked) 확인
|
|
29
|
+
Step 4/6 Scope ← Project (default) 또는 Global
|
|
30
|
+
Step 5/6 Confirm
|
|
31
|
+
Step 6/6 Installing
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
설치 후:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
claude
|
|
38
|
+
> /uzys:spec # step 3 에서 "uzys-harness 6-Gate workflow" 체크한 경우에만
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Tracks
|
|
44
|
+
|
|
45
|
+
Step 1 에서 1개 또는 multi 선택. 트랙 선택 결과로 Step 3 의 추천 항목이 결정됨.
|
|
46
|
+
|
|
47
|
+
### Dev tracks
|
|
48
|
+
|
|
49
|
+
| Track | Stack |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `csr-supabase` | Vite + React + Supabase |
|
|
52
|
+
| `csr-fastify` | Vite + React + Fastify |
|
|
53
|
+
| `csr-fastapi` | Vite + React + FastAPI |
|
|
54
|
+
| `ssr-nextjs` | Next.js (App Router) |
|
|
55
|
+
| `ssr-htmx` | HTMX + server-side |
|
|
56
|
+
| `data` | DuckDB + Polars + PySide6 |
|
|
57
|
+
| `full` | dev 트랙 전체 union |
|
|
58
|
+
|
|
59
|
+
### Business tracks
|
|
60
|
+
|
|
61
|
+
| Track | 용도 |
|
|
62
|
+
|---|---|
|
|
63
|
+
| `executive` | 제안서, DD, 발표자료, 재무모델 |
|
|
64
|
+
| `project-management` | PM 워크플로우 + 리뷰 |
|
|
65
|
+
| `growth-marketing` | Growth + 콘텐츠 마케팅 |
|
|
66
|
+
|
|
67
|
+
### Meta
|
|
68
|
+
|
|
69
|
+
| Track | 용도 |
|
|
70
|
+
|---|---|
|
|
71
|
+
| `tooling` | Bash + Markdown 메타프로젝트 (앱 스택 없음) |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 트랙별 설치 항목
|
|
76
|
+
|
|
77
|
+
트랙 선택 결과로 자동 추천. Step 3 에서 pre-checked 상태로 표시 — 설치 전 자유롭게 토글.
|
|
78
|
+
|
|
79
|
+
### Frontend (csr-* / ssr-nextjs / full)
|
|
80
|
+
|
|
81
|
+
| Asset | What | Source |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `react-best-practices` | React 패턴 + 컴포넌트 가이드 | LokeshSakthivel |
|
|
84
|
+
| `shadcn-ui` | Radix 기반 컴포넌트 카피 + Tailwind 테마 | shadcn (official) |
|
|
85
|
+
| `web-design-guidelines` | UX/UI best practice | LokeshSakthivel |
|
|
86
|
+
| `impeccable` | UI 디자인, critique, visual review | pbakaus |
|
|
87
|
+
| `next-skills` (ssr-nextjs only) | Next.js App Router 패턴 | vercel-labs |
|
|
88
|
+
|
|
89
|
+
### Backend (csr-* / ssr-* / full)
|
|
90
|
+
|
|
91
|
+
| Asset | What | Source |
|
|
92
|
+
|---|---|---|
|
|
93
|
+
| `railway-skills` | Railway 배포 + project/service/env 관리 | Railway 공식 |
|
|
94
|
+
| `supabase-agent-skills` (csr-supabase) | Supabase agent skills | Supabase 공식 |
|
|
95
|
+
| `postgres-best-practices` (csr-supabase) | Postgres 패턴 | Supabase 공식 |
|
|
96
|
+
| `supabase-cli` (csr-supabase) | Supabase CLI (`supabase login` OAuth 필요) | npm |
|
|
97
|
+
| `vercel-cli` (csr-supabase) | Vercel CLI | npm |
|
|
98
|
+
| `netlify-cli` (csr-supabase) | Netlify CLI | npm |
|
|
99
|
+
|
|
100
|
+
### Data (data / full)
|
|
101
|
+
|
|
102
|
+
| Asset | What | Source |
|
|
103
|
+
|---|---|---|
|
|
104
|
+
| `polars-K-Dense` | Polars — Rust 기반 fast DataFrame (pandas 대안) | K-Dense-AI |
|
|
105
|
+
| `dask-K-Dense` | Dask — 분산 처리 | K-Dense-AI |
|
|
106
|
+
| `python-resource-management` | 메모리 / CPU 관리 패턴 | wshobson |
|
|
107
|
+
| `python-performance-optimization` | 프로파일링 + vectorize | wshobson |
|
|
108
|
+
| `anthropic-data-plugin` | 시각화 + SQL exploration | Anthropic 공식 |
|
|
109
|
+
|
|
110
|
+
### Business (executive / project-management / growth-marketing)
|
|
111
|
+
|
|
112
|
+
| Asset | What | Source | Tracks |
|
|
113
|
+
|---|---|---|---|
|
|
114
|
+
| `anthropic-document-skills` | pptx / docx / xlsx / pdf 작성 | Anthropic | executive · full |
|
|
115
|
+
| `c-level-skills` | 28 advisory skills (CEO/CFO/COO) | claude-code-skills | executive · full |
|
|
116
|
+
| `business-growth-skills` | Growth · finance · marketing 플레이북 | claude-code-skills | executive · full · growth-marketing |
|
|
117
|
+
| `finance-skills` | 재무 모델 | claude-code-skills | executive · full |
|
|
118
|
+
| `pm-skills` | PM 워크플로우 | claude-code-skills | project-management |
|
|
119
|
+
| `product-skills` | Product discovery + delivery | claude-code-skills | dev + PM |
|
|
120
|
+
| `marketing-skills` / `content-creator` / `demand-gen` / `research-summarizer` | 마케팅 플레이북 | claude-code-skills | growth-marketing |
|
|
121
|
+
|
|
122
|
+
### Dev Tools (모든 dev tracks)
|
|
123
|
+
|
|
124
|
+
| Asset | What | Source |
|
|
125
|
+
|---|---|---|
|
|
126
|
+
| `playwright-skill` | Playwright E2E 테스트 작성 | testdino-hq |
|
|
127
|
+
| `find-skills` | 설치된 skills 검색 · ranking | vercel-labs |
|
|
128
|
+
| `agent-browser` | 에이전트용 브라우저 자동화 CLI | npm |
|
|
129
|
+
| `architecture-decision-record` | ADR 작성 | yonatangross |
|
|
130
|
+
| `karpathy-coder` | Pre-commit quality gate hook | claude-code-skills |
|
|
131
|
+
| `product-skills` | Product engineering | claude-code-skills |
|
|
132
|
+
|
|
133
|
+
### Workflow (opt-in — step 3 에서 선택)
|
|
134
|
+
|
|
135
|
+
| Asset | What | 활성 시 |
|
|
136
|
+
|---|---|---|
|
|
137
|
+
| `uzys-harness 6-Gate workflow` | `/uzys:spec` → `/uzys:plan` → `/uzys:build` → `/uzys:test` → `/uzys:review` → `/uzys:ship` (hook 으로 게이트 강제) | 6-gate workflow (아래 참조) |
|
|
138
|
+
| `addy-agent-skills` | `/spec` `/plan` `/build` `/test` `/review` `/ship` `/code-simplify` | addyosmani 워크플로우 |
|
|
139
|
+
| `superpowers` | Agentic skills 프레임워크 (Anthropic 공식 marketplace) | obra/superpowers |
|
|
140
|
+
| `gsd-orchestrator` | 대형 프로젝트 오케스트레이션 | get-shit-done-cc |
|
|
141
|
+
|
|
142
|
+
### Security & ECC (opt-in)
|
|
143
|
+
|
|
144
|
+
| Asset | What | Source |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| `trailofbits-skills` | Differential 보안 리뷰 | Trail of Bits |
|
|
147
|
+
| `ecc-plugin` | ECC plugin (`prune-ecc.sh` 로 project-scoped) | affaan-m |
|
|
148
|
+
| `ecc-prune` | ECC 를 curated 셋 (4 agents + 8 skills + 3 commands) 으로 trim | 본 프로젝트 |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Trust tiers (검증 등급)
|
|
153
|
+
|
|
154
|
+
모든 외부 자산은 **trust tier** 를 가지며 Step 3 에서 배지로 표시된다:
|
|
155
|
+
|
|
156
|
+
- **★ official** — Anthropic 공식 marketplace + 본 하네스 자체 자산.
|
|
157
|
+
- **vetted** — GitHub star ≥ 1000 + 활성 유지보수 커뮤니티 자산. track 적합 시 pre-checked.
|
|
158
|
+
- **⚠ experimental** — star 1000 미만. opt-in 만 (pre-check 안 함), 카테고리 하단 표시.
|
|
159
|
+
|
|
160
|
+
tier 는 **정보 제공일 뿐 차단하지 않는다** — 최종 선택은 항상 사용자. 권장 자산(official/vetted + track 적합)이 상단 정렬.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 6-Gate workflow (opt-in 시에만)
|
|
165
|
+
|
|
166
|
+
6-gate workflow 는 **default OFF**. Step 3 에서 `uzys-harness 6-Gate workflow` 체크 시 활성 (또는 비대화형 `--with uzys-harness`).
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
/uzys:spec → /uzys:plan → /uzys:build → /uzys:test → /uzys:review → /uzys:ship
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
| Gate | 목적 |
|
|
173
|
+
|---|---|
|
|
174
|
+
| `/uzys:spec` | 코드 이전 build 대상 정의 |
|
|
175
|
+
| `/uzys:plan` | spec → 작고 검증 가능한 task 분해 |
|
|
176
|
+
| `/uzys:build` | 점진적 구현 |
|
|
177
|
+
| `/uzys:test` | 동작 증명 |
|
|
178
|
+
| `/uzys:review` | 다중 관점 코드/보안 리뷰 |
|
|
179
|
+
| `/uzys:ship` | 프리런치 체크리스트 + 배포 |
|
|
180
|
+
|
|
181
|
+
각 게이트는 `.claude/hooks/` 의 hook 으로 강제. 이전 게이트 미완료 시 다음 게이트 fail (exit code 2). opt-in 안 했으면 `/uzys:*` 커맨드 미설치, hook 비활성 — 트랙의 다른 자산은 그대로 사용 가능.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Scope
|
|
186
|
+
|
|
187
|
+
Step 4 에서 install write 위치 선택.
|
|
188
|
+
|
|
189
|
+
| | Project (default) | Global (opt-in) |
|
|
190
|
+
|---|---|---|
|
|
191
|
+
| `claude plugin` | `--scope project` (`installed_plugins.json` 의 `projectPath` 로 격리) | `--scope user` |
|
|
192
|
+
| `npx skills` | project `node_modules` | `-g` (user-level) |
|
|
193
|
+
| `npm` | `--save-dev` (devDependency) | `-g` |
|
|
194
|
+
| Codex (prompts / skills / config) | 프로젝트 `.codex/` | `~/.codex/` |
|
|
195
|
+
| Antigravity (skills / workflows) | 프로젝트 `.agents/` | `~/.gemini/antigravity/` |
|
|
196
|
+
| `~/.claude/skills/` · `~/.codex/` · `~/.opencode/` · `~/.gemini/` · `npm root -g` | **미수정** | 자산별 write |
|
|
197
|
+
|
|
198
|
+
Project scope 는 install 을 본 레포에 가둠. 동일 머신의 다른 프로젝트는 영향 받지 않음.
|
|
199
|
+
|
|
200
|
+
Claude CLI 자체는 scope 와 무관하게 `~/.claude/plugins/cache/` 에 plugin 파일을 write — 단 `installed_plugins.json` 메타데이터가 `projectPath` 로 격리하므로 다른 프로젝트에서 안 보임.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Uninstall
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
npx -y @uzysjung/agent-harness uninstall
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
`.claude/.harness-install.json` (install 시 생성) 을 읽어 자동 reverse.
|
|
211
|
+
|
|
212
|
+
- Project-scope 자산: 자동 제거 (`claude plugin uninstall --scope project`, `npm uninstall --save-dev`, `.codex/` cleanup 등).
|
|
213
|
+
- 프로젝트 루트 `CLAUDE.md`: install 시점과 내용이 동일할 때만 제거 (sha256). 설치 후 직접 수정했다면 안내와 함께 보존.
|
|
214
|
+
- Global-scope 자산: advisory 만 출력 — 사용자가 직접 제거. uninstall 이 명시적 동의 없이 다른 프로젝트나 글로벌 설정을 절대 안 건드림.
|
|
215
|
+
|
|
216
|
+
Flag:
|
|
217
|
+
|
|
218
|
+
| Flag | What |
|
|
219
|
+
|---|---|
|
|
220
|
+
| `--dry-run` | reverse list 만 출력, 변경 없음 |
|
|
221
|
+
| `--keep-templates` | external 자산만 제거, `.claude/`, `.codex/`, `.opencode/` 보존 |
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 동작 방식
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
┌──────────────────────────────────────────────────────────┐
|
|
229
|
+
│ npx agent-harness │
|
|
230
|
+
│ │ │
|
|
231
|
+
│ ▼ │
|
|
232
|
+
│ ┌─ 6-step wizard ──────────────────────────────────┐ │
|
|
233
|
+
│ │ Track(s) → CLI(s) → Items → Scope → Confirm │ │
|
|
234
|
+
│ └──────────────────┬───────────────────────────────┘ │
|
|
235
|
+
│ ▼ │
|
|
236
|
+
│ ┌─ Phase 1: Templates ─────────────────────────────┐ │
|
|
237
|
+
│ │ .claude/{rules,agents,hooks,commands,skills} │ │
|
|
238
|
+
│ │ CLAUDE.md (merged) · .mcp.json │ │
|
|
239
|
+
│ └──────────────────┬───────────────────────────────┘ │
|
|
240
|
+
│ ▼ │
|
|
241
|
+
│ ┌─ Phase 2: External assets ───────────────────────┐ │
|
|
242
|
+
│ │ claude plugin / npx skills / npm / shell-script │ │
|
|
243
|
+
│ │ Step 4 에서 선택한 scope 따름 │ │
|
|
244
|
+
│ └──────────────────┬───────────────────────────────┘ │
|
|
245
|
+
│ ▼ │
|
|
246
|
+
│ ┌─ Phase 3: install log ───────────────────────────┐ │
|
|
247
|
+
│ │ .claude/.harness-install.json │ │
|
|
248
|
+
│ │ (uninstall 의 source) │ │
|
|
249
|
+
│ └──────────────────────────────────────────────────┘ │
|
|
250
|
+
└──────────────────────────────────────────────────────────┘
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## CLI 지원
|
|
256
|
+
|
|
257
|
+
| CLI | 지원 |
|
|
258
|
+
|---|---|
|
|
259
|
+
| Claude Code | First class — 모든 자산 + hook |
|
|
260
|
+
| Codex (OpenAI) | Skills + `AGENTS.md`. 슬래시 프롬프트 `/uzys-*` 는 global `~/.codex/prompts/`(opt-in)에서 작동; project `.codex/prompts/` 는 upstream [#9848](https://github.com/openai/codex/issues/9848) 대비 pre-position (아직 미작동) |
|
|
261
|
+
| OpenCode | Skills + AGENTS.md 통합 |
|
|
262
|
+
| Antigravity (Google) | Project: `.agents/rules/` (context, 항상) + `.agents/skills/` + `.agents/workflows/` (6-Gate opt-in). Global (opt-in `--with-antigravity-global` + `--scope global`): `~/.gemini/antigravity/{skills,global_workflows}/uzys-*` (v26.66.0+) |
|
|
263
|
+
|
|
264
|
+
Step 2 에서 1개 또는 multi 선택.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## 심화
|
|
269
|
+
|
|
270
|
+
- [docs/USAGE.md](./docs/USAGE.md) — 워크플로우 상세, install 내부, CI flag, ECC 통합, Codex/OpenCode 설정
|
|
271
|
+
- [docs/NORTH_STAR.md](./docs/NORTH_STAR.md) — 디자인 원칙
|
|
272
|
+
- [docs/decisions/](./docs/decisions/) — ADR (아키텍처 결정)
|
|
273
|
+
- [docs/REFERENCE.md](./docs/REFERENCE.md) — 트랙별 자산 매트릭스 상세
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## License
|
|
278
|
+
|
|
279
|
+
MIT.
|
package/README.md
ADDED
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
# uzys-agent-harness
|
|
2
|
+
|
|
3
|
+
**Track-based agent harness for Claude Code, Codex, OpenCode, and Antigravity.**
|
|
4
|
+
|
|
5
|
+
Pick a stack track. Get a curated set of **vetted** skills, plugins, and rules — you review and choose what installs — wired into your project. Project scope by default; no global pollution unless you ask.
|
|
6
|
+
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](https://github.com/uzysjung/uzys-agent-harness/releases)
|
|
9
|
+
[](https://github.com/uzysjung/uzys-agent-harness/actions)
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
🇰🇷 [한국어](./README.ko.md)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx -y @uzysjung/agent-harness
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
A 6-step interactive wizard guides everything. No flags needed.
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Step 1/6 Tracks ← pick your stack
|
|
27
|
+
Step 2/6 CLI ← claude / codex / opencode / antigravity
|
|
28
|
+
Step 3/6 Install items ← review pre-checked recommendations
|
|
29
|
+
Step 4/6 Scope ← Project (default) or Global
|
|
30
|
+
Step 5/6 Confirm
|
|
31
|
+
Step 6/6 Installing
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
After install:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
claude
|
|
38
|
+
> /uzys:spec # only if you checked "uzys-harness 6-Gate workflow" in step 3
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Non-interactive install (CI / scripts / Docker)
|
|
42
|
+
|
|
43
|
+
The wizard needs a TTY. For CI pipelines, onboarding scripts, or containers, use flags — the same path our own verification CI runs on:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx -y @uzysjung/agent-harness install \
|
|
47
|
+
--track tooling --cli claude --scope project \
|
|
48
|
+
--with uzys-harness --with bmad-method
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
| Flag | Meaning |
|
|
52
|
+
|------|---------|
|
|
53
|
+
| `--track <name>` | Track to install (repeatable) |
|
|
54
|
+
| `--cli <target>` | `claude` / `codex` / `opencode` / `antigravity` (repeatable) |
|
|
55
|
+
| `--scope <s>` | `project` (default) or `global` |
|
|
56
|
+
| `--with <asset-id>` / `--without <asset-id>` | Add / remove any catalog asset by id (repeatable) — ids in the [compatibility matrix](docs/COMPATIBILITY.md) |
|
|
57
|
+
|
|
58
|
+
> v26.81.0 (ADR-022): per-asset flags like `--with-bmad` were removed — `--with <asset-id>` is the single opt-in surface. Behavior flags (`--with-karpathy-hook`, `--with-codex-prompts`, `--with-antigravity-global`, `--with-prune`, …) remain.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Tracks
|
|
63
|
+
|
|
64
|
+
Pick one or more at step 1. Each track determines which skills/plugins/rules are pre-checked in step 3.
|
|
65
|
+
|
|
66
|
+
### Dev tracks
|
|
67
|
+
|
|
68
|
+
| Track | Stack |
|
|
69
|
+
|---|---|
|
|
70
|
+
| `csr-supabase` | Vite + React + Supabase |
|
|
71
|
+
| `csr-fastify` | Vite + React + Fastify |
|
|
72
|
+
| `csr-fastapi` | Vite + React + FastAPI |
|
|
73
|
+
| `ssr-nextjs` | Next.js (App Router) |
|
|
74
|
+
| `ssr-htmx` | HTMX + server-side |
|
|
75
|
+
| `data` | DuckDB + Polars + PySide6 |
|
|
76
|
+
| `full` | union of all dev tracks |
|
|
77
|
+
|
|
78
|
+
### Business tracks
|
|
79
|
+
|
|
80
|
+
| Track | Use |
|
|
81
|
+
|---|---|
|
|
82
|
+
| `executive` | proposals, due diligence, decks, financial models |
|
|
83
|
+
| `project-management` | PM workflow + reviews |
|
|
84
|
+
| `growth-marketing` | growth + content marketing |
|
|
85
|
+
|
|
86
|
+
### Meta
|
|
87
|
+
|
|
88
|
+
| Track | Use |
|
|
89
|
+
|---|---|
|
|
90
|
+
| `tooling` | Bash + Markdown meta-projects (no app stack) |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## What gets installed per track
|
|
95
|
+
|
|
96
|
+
External assets are recommended automatically based on your track selection. Step 3 shows them pre-checked; you can toggle anything before install.
|
|
97
|
+
|
|
98
|
+
### Frontend (csr-* / ssr-nextjs / full)
|
|
99
|
+
|
|
100
|
+
| Asset | What | Source |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| `react-best-practices` | React patterns and component guidelines | LokeshSakthivel |
|
|
103
|
+
| `shadcn-ui` | Radix-based component copy + Tailwind theme | shadcn (official) |
|
|
104
|
+
| `web-design-guidelines` | UX/UI best practices | LokeshSakthivel |
|
|
105
|
+
| `impeccable` | UI design, critique, and visual review skills | pbakaus |
|
|
106
|
+
| `next-skills` (ssr-nextjs only) | Next.js App Router patterns | vercel-labs |
|
|
107
|
+
|
|
108
|
+
### Backend (csr-* / ssr-* / full)
|
|
109
|
+
|
|
110
|
+
| Asset | What | Source |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| `railway-skills` | Railway deploy + project/service/env management | Railway official |
|
|
113
|
+
| `supabase-agent-skills` (csr-supabase) | Supabase agent skills | Supabase official |
|
|
114
|
+
| `postgres-best-practices` (csr-supabase) | Postgres patterns | Supabase official |
|
|
115
|
+
| `supabase-cli` (csr-supabase) | Supabase CLI (`supabase login` for OAuth) | npm |
|
|
116
|
+
| `vercel-cli` (csr-supabase) | Vercel CLI | npm |
|
|
117
|
+
| `netlify-cli` (csr-supabase) | Netlify CLI | npm |
|
|
118
|
+
|
|
119
|
+
### Data (data / full)
|
|
120
|
+
|
|
121
|
+
| Asset | What | Source |
|
|
122
|
+
|---|---|---|
|
|
123
|
+
| `polars-K-Dense` | Polars — fast Rust DataFrame (pandas alternative) | K-Dense-AI |
|
|
124
|
+
| `dask-K-Dense` | Dask — distributed processing | K-Dense-AI |
|
|
125
|
+
| `python-resource-management` | Memory / CPU management patterns | wshobson |
|
|
126
|
+
| `python-performance-optimization` | Profiling + vectorization | wshobson |
|
|
127
|
+
| `anthropic-data-plugin` | Visualization + SQL exploration | Anthropic official |
|
|
128
|
+
|
|
129
|
+
### Business (executive / project-management / growth-marketing)
|
|
130
|
+
|
|
131
|
+
| Asset | What | Source | Tracks |
|
|
132
|
+
|---|---|---|---|
|
|
133
|
+
| `anthropic-document-skills` | pptx / docx / xlsx / pdf authoring | Anthropic | executive · full |
|
|
134
|
+
| `c-level-skills` | 28 advisory skills (CEO/CFO/COO) | claude-code-skills | executive · full |
|
|
135
|
+
| `business-growth-skills` | Growth, finance, marketing playbooks | claude-code-skills | executive · full · growth-marketing |
|
|
136
|
+
| `finance-skills` | Financial models | claude-code-skills | executive · full |
|
|
137
|
+
| `pm-skills` | PM workflows | claude-code-skills | project-management |
|
|
138
|
+
| `product-skills` | Product discovery + delivery | claude-code-skills | dev + PM |
|
|
139
|
+
| `marketing-skills` / `content-creator` / `demand-gen` / `research-summarizer` | Marketing playbooks | claude-code-skills | growth-marketing |
|
|
140
|
+
|
|
141
|
+
### Dev Tools (all dev tracks)
|
|
142
|
+
|
|
143
|
+
| Asset | What | Source |
|
|
144
|
+
|---|---|---|
|
|
145
|
+
| `playwright-skill` | E2E test authoring with Playwright | testdino-hq |
|
|
146
|
+
| `find-skills` | Search and rank installed skills | vercel-labs |
|
|
147
|
+
| `agent-browser` | Browser automation CLI for agents | npm |
|
|
148
|
+
| `architecture-decision-record` | ADR authoring | yonatangross |
|
|
149
|
+
| `karpathy-coder` | Pre-commit quality gate hook | claude-code-skills |
|
|
150
|
+
| `product-skills` | Product engineering | claude-code-skills |
|
|
151
|
+
|
|
152
|
+
### Workflow (opt-in — pick one or more at step 3)
|
|
153
|
+
|
|
154
|
+
> **Which one?** See the [Workflow curation guide](docs/WORKFLOWS.md) — a vetted comparison of all 8 installable workflows (plus honest pointers to Spec Kit / Kiro, which we recommend but don't auto-install).
|
|
155
|
+
|
|
156
|
+
| Asset | What | Activates |
|
|
157
|
+
|---|---|---|
|
|
158
|
+
| `uzys-harness 6-Gate workflow` | `/uzys:spec` → `/uzys:plan` → `/uzys:build` → `/uzys:test` → `/uzys:review` → `/uzys:ship` with hook-enforced gates | The 6-gate flow described below |
|
|
159
|
+
| `superpowers` | Agentic skills framework, Anthropic official marketplace | obra/superpowers |
|
|
160
|
+
| `ecc-plugin` | 60 agents · 230 skills · 75 commands | affaan-m |
|
|
161
|
+
| `gsd-orchestrator` | Orchestration for large projects | get-shit-done-cc |
|
|
162
|
+
| `openspec` | Spec-driven brownfield delta workflow (propose → apply → archive) | Fission-AI |
|
|
163
|
+
| `bmad-method` | Multi-agent agile workflow (PM/Architect/Dev, 12+ agents) | bmad-code-org |
|
|
164
|
+
| `addy-agent-skills` | `/spec` `/plan` `/build` `/test` `/review` `/ship` `/code-simplify` skills | addyosmani's workflow |
|
|
165
|
+
| `wshobson-agents` | Multi-agent orchestration workflows (full-stack/tdd/review), cross-CLI | wshobson |
|
|
166
|
+
|
|
167
|
+
### Security & ECC (opt-in)
|
|
168
|
+
|
|
169
|
+
| Asset | What | Source |
|
|
170
|
+
|---|---|---|
|
|
171
|
+
| `trailofbits-skills` | Differential security review | Trail of Bits |
|
|
172
|
+
| `ecc-plugin` | ECC plugin (project-scoped via `prune-ecc.sh`) | affaan-m |
|
|
173
|
+
| `ecc-prune` | Trim ECC down to a curated set (4 agents + 8 skills + 3 commands) | this project |
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Trust tiers
|
|
178
|
+
|
|
179
|
+
Every external asset carries a **trust tier**, shown as a badge in step 3:
|
|
180
|
+
|
|
181
|
+
- **★ official** — Anthropic-official marketplaces + this harness's own assets.
|
|
182
|
+
- **vetted** — community assets with ≥ 1000 GitHub stars and active maintenance. Pre-checked when they match your track.
|
|
183
|
+
- **⚠ experimental** — under 1000 stars. Opt-in only (not pre-checked), listed at the bottom of each category.
|
|
184
|
+
|
|
185
|
+
Tiers **inform, never block** — you always review and choose what installs. Recommended assets (official/vetted matching your track) sort to the top.
|
|
186
|
+
|
|
187
|
+
> **How is "verified" backed up?** See the [Compatibility & verification matrix](docs/COMPATIBILITY.md) — install methods are checked against real registries/marketplaces, and the core workflow set is verified by **real install in an isolated Docker container** (not a static table). Trust tiers are auto-monitored for star-drift monthly.
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## 6-Gate workflow (only if you opt in)
|
|
192
|
+
|
|
193
|
+
The 6-gate workflow is **off by default**. To enable it, check `uzys-harness 6-Gate workflow` at step 3 (or pass `--with uzys-harness` for non-interactive install).
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
/uzys:spec → /uzys:plan → /uzys:build → /uzys:test → /uzys:review → /uzys:ship
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
| Gate | Purpose |
|
|
200
|
+
|---|---|
|
|
201
|
+
| `/uzys:spec` | Define what you're building before code |
|
|
202
|
+
| `/uzys:plan` | Decompose the spec into small, verifiable tasks |
|
|
203
|
+
| `/uzys:build` | Implement incrementally |
|
|
204
|
+
| `/uzys:test` | Prove it works |
|
|
205
|
+
| `/uzys:review` | Multi-perspective code/security review |
|
|
206
|
+
| `/uzys:ship` | Pre-launch checklist + deploy |
|
|
207
|
+
|
|
208
|
+
Gates are enforced by hooks installed under `.claude/hooks/`. Skipping a gate fails the next one (exit code 2). If you didn't opt in, `/uzys:*` commands aren't installed and the hooks aren't active — you get the rest of the track's assets without the gating.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Scope
|
|
213
|
+
|
|
214
|
+
Step 4 asks where the install writes.
|
|
215
|
+
|
|
216
|
+
| | Project (default) | Global (opt-in) |
|
|
217
|
+
|---|---|---|
|
|
218
|
+
| `claude plugin` | `--scope project` (entries isolated by `projectPath` in `installed_plugins.json`) | `--scope user` |
|
|
219
|
+
| `npx skills` | project `node_modules` | `-g` (user-level) |
|
|
220
|
+
| `npm` | `--save-dev` (devDependency) | `-g` |
|
|
221
|
+
| Codex (prompts / skills / config) | `.codex/` in your project | `~/.codex/` |
|
|
222
|
+
| Antigravity (skills / workflows) | `.agents/` in your project | `~/.gemini/antigravity/` |
|
|
223
|
+
| `~/.claude/skills/` · `~/.codex/` · `~/.opencode/` · `~/.gemini/` · `npm root -g` | **not touched** | written per asset |
|
|
224
|
+
|
|
225
|
+
Project scope keeps the install confined to your repo. Other projects on the same machine are unaffected.
|
|
226
|
+
|
|
227
|
+
Claude CLI itself writes plugin cache under `~/.claude/plugins/cache/` regardless of scope — but the metadata in `installed_plugins.json` isolates entries by `projectPath`, so other projects don't see them.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Uninstall
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
npx -y @uzysjung/agent-harness uninstall
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Reads `.claude/.harness-install.json` (created during install) and reverses what was installed.
|
|
238
|
+
|
|
239
|
+
- Project-scope assets: removed automatically (`claude plugin uninstall --scope project`, `npm uninstall --save-dev`, `.codex/` cleanup, etc.).
|
|
240
|
+
- Project root `CLAUDE.md`: removed only if it still matches the installed version (sha256); kept with a notice if you've edited it since install.
|
|
241
|
+
- Global-scope assets: listed as advisory only — you remove them yourself. Uninstall never touches another project or your global config without explicit action.
|
|
242
|
+
|
|
243
|
+
Flags:
|
|
244
|
+
|
|
245
|
+
| Flag | What |
|
|
246
|
+
|---|---|
|
|
247
|
+
| `--dry-run` | List reverse steps, change nothing |
|
|
248
|
+
| `--keep-templates` | Remove external assets but keep `.claude/`, `.codex/`, `.opencode/` |
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## How it works
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
┌──────────────────────────────────────────────────────────┐
|
|
256
|
+
│ npx agent-harness │
|
|
257
|
+
│ │ │
|
|
258
|
+
│ ▼ │
|
|
259
|
+
│ ┌─ 6-step wizard ──────────────────────────────────┐ │
|
|
260
|
+
│ │ Track(s) → CLI(s) → Items → Scope → Confirm │ │
|
|
261
|
+
│ └──────────────────┬───────────────────────────────┘ │
|
|
262
|
+
│ ▼ │
|
|
263
|
+
│ ┌─ Phase 1: Templates ─────────────────────────────┐ │
|
|
264
|
+
│ │ .claude/{rules,agents,hooks,commands,skills} │ │
|
|
265
|
+
│ │ CLAUDE.md (merged) · .mcp.json │ │
|
|
266
|
+
│ └──────────────────┬───────────────────────────────┘ │
|
|
267
|
+
│ ▼ │
|
|
268
|
+
│ ┌─ Phase 2: External assets ───────────────────────┐ │
|
|
269
|
+
│ │ claude plugin / npx skills / npm / shell-script │ │
|
|
270
|
+
│ │ Honors the scope chosen at step 4 │ │
|
|
271
|
+
│ └──────────────────┬───────────────────────────────┘ │
|
|
272
|
+
│ ▼ │
|
|
273
|
+
│ ┌─ Phase 3: install log ───────────────────────────┐ │
|
|
274
|
+
│ │ .claude/.harness-install.json │ │
|
|
275
|
+
│ │ (drives `uninstall`) │ │
|
|
276
|
+
│ └──────────────────────────────────────────────────┘ │
|
|
277
|
+
└──────────────────────────────────────────────────────────┘
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## CLI support
|
|
283
|
+
|
|
284
|
+
| CLI | Status |
|
|
285
|
+
|---|---|
|
|
286
|
+
| Claude Code | First class — all assets and hooks |
|
|
287
|
+
| Codex (OpenAI) | Skills + `AGENTS.md`. Slash prompts `/uzys-*` work via global `~/.codex/prompts/` (opt-in); project `.codex/prompts/` is pre-positioned for upstream [#9848](https://github.com/openai/codex/issues/9848) (not active yet) |
|
|
288
|
+
| OpenCode | Skills + AGENTS.md integration |
|
|
289
|
+
| Antigravity (Google) | Project: `.agents/rules/` (context, always) + `.agents/skills/` + `.agents/workflows/` (6-Gate opt-in). Global (opt-in via `--with-antigravity-global` + `--scope global`): `~/.gemini/antigravity/{skills,global_workflows}/uzys-*` (v26.66.0+) |
|
|
290
|
+
|
|
291
|
+
Pick one or more at step 2.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Advanced
|
|
296
|
+
|
|
297
|
+
- [docs/USAGE.md](./docs/USAGE.md) — workflow detail, install internals, CI flags, ECC integration, Codex/OpenCode setup
|
|
298
|
+
- [docs/NORTH_STAR.md](./docs/NORTH_STAR.md) — design principles
|
|
299
|
+
- [docs/decisions/](./docs/decisions/) — ADRs (architecture decisions)
|
|
300
|
+
- [docs/REFERENCE.md](./docs/REFERENCE.md) — per-track asset matrix in detail
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## License
|
|
305
|
+
|
|
306
|
+
MIT.
|