@uzysjung/agent-harness 26.155.0 → 26.157.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 +12 -1
- package/README.md +12 -1
- package/dist/{chunk-SC6ORMHV.js → chunk-HHCNPPGS.js} +19 -10
- package/dist/chunk-HHCNPPGS.js.map +1 -0
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/trust-tier-drift.js +1 -1
- package/package.json +1 -1
- package/templates/rules/test-policy.md +13 -1
- package/templates/skills/audit-harness-fit/references/audit.md +18 -0
- package/templates/skills/audit-harness-fit/references/verification.md +15 -0
- package/templates/skills/recurrence-prevention/SKILL.md +63 -44
- package/templates/skills/recurrence-prevention/references/failure-analysis.md +12 -11
- package/templates/skills/user-centered-explanation/SKILL.md +148 -0
- package/dist/chunk-SC6ORMHV.js.map +0 -1
- package/templates/skills/clear-korean-communication/SKILL.md +0 -118
package/README.ko.md
CHANGED
|
@@ -55,6 +55,17 @@ npx -y @uzysjung/agent-harness uninstall # 무엇을 뺄지 고른다
|
|
|
55
55
|
제거되지 않으며, 제거는 오직 이 명령에서만 일어난다. 자세한 내용은
|
|
56
56
|
[uninstall](docs/USAGE.md#uninstall-v26640) 참고.
|
|
57
57
|
|
|
58
|
+
### 스킬 하나만 받기 (하네스 없이)
|
|
59
|
+
|
|
60
|
+
번들 스킬은 [skills CLI](https://github.com/vercel-labs/skills) 로 하나씩도 받는다 — 하네스도 트랙도 필요 없다:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx skills add uzysjung/uzys-agent-harness --skill user-centered-explanation -a claude-code
|
|
64
|
+
# 목록 보기: npx skills add uzysjung/uzys-agent-harness --list
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`.claude-plugin/plugin.json` 이 skills CLI 에 번들 위치(`templates/skills/`)를 알려 준다 — 하네스가 내보내는 모든 스킬의 원본이라, 설치기가 복사하는 것과 같은 파일(`references/` 포함)을 받는다. 갱신은 같은 명령을 다시 돌리면 된다. 2026-09-20 순정 `node:20` 컨테이너에서 확인. 스킬 디렉터리 페이지: [skills.sh/uzysjung/uzys-agent-harness](https://skills.sh/uzysjung/uzys-agent-harness) (설치 집계로 자동 등재되며, 리포 루트의 `skills.sh.json` 이 페이지의 묶음을 정한다).
|
|
68
|
+
|
|
58
69
|
## 왜
|
|
59
70
|
|
|
60
71
|
코딩 에이전트는 계속 발전하지만, 한 번 설치한 skill 과 MCP 는 실제 사용과 무관하게 매 세션 context window 를 점유한다. awesome-list 에 수백 개의 선택지가 있어도 내 기술 스택에 맞는 항목을 찾아주지는 않는다. 결국 전부 설치해 매 세션 불필요한 비용을 치르거나, 프로젝트를 시작할 때마다 직접 목록을 확인하고 골라야 한다.
|
|
@@ -63,7 +74,7 @@ npx -y @uzysjung/agent-harness uninstall # 무엇을 뺄지 고른다
|
|
|
63
74
|
|
|
64
75
|
## 무엇을 얻는가
|
|
65
76
|
|
|
66
|
-
- **스택 기반 큐레이션.** 검증된 옵션 중에서 이 프로젝트에 실제로 필요한 자산만 골라 설치한다. `csr-supabase` 를 고르면 세 묶음이 미리 체크된다 — 모든 track 이 받는 4종(`north-star`·`objective-brief`·`gh-issue-workflow`·`audit-harness-fit`), 개발 track 이 받는 것들(`find-skills`·`
|
|
77
|
+
- **스택 기반 큐레이션.** 검증된 옵션 중에서 이 프로젝트에 실제로 필요한 자산만 골라 설치한다. `csr-supabase` 를 고르면 세 묶음이 미리 체크된다 — 모든 track 이 받는 4종(`north-star`·`objective-brief`·`gh-issue-workflow`·`audit-harness-fit`), 개발 track 이 받는 것들(`find-skills`·`frontend-design` + 방법론 스킬 5종), 그리고 이 스택이 필요로 하는 React·shadcn·Supabase·Postgres. 카탈로그의 나머지는 처음부터 끼어들지 않는다.
|
|
67
78
|
|
|
68
79
|
- **규율 레이어.** 실제 프로덕션 프로젝트를 에이전트로 운영하며 추출한 룰·훅·방법론 스킬·CI 스캐폴드로 구성된다. 문서 거버넌스와 검증 게이트, 작업 브리프 정규화, 재발 방지 체계를 아우르며, 특히 스킬 14종은 마켓플레이스에 의존하지 않고 이 저장소에서 직접 쓰고 관리한다. 그중 13종은 id 로 지정할 수 있다(`--with`/`--without`). 이 레이어 덕분에 단순한 skill 모음을 넘어선 하네스로 작동한다.
|
|
69
80
|
|
package/README.md
CHANGED
|
@@ -51,6 +51,17 @@ npx -y @uzysjung/agent-harness uninstall # pick what to remove
|
|
|
51
51
|
|
|
52
52
|
Run in a terminal, `uninstall` asks what to take out — item by item, or everything. It reverses what it safely can and *prints* the rest — global-scope assets, and files outside `.claude/` such as `.mcp.json` — instead of editing files that hold your own content. Unchecking something in the installer never removes it; removal only happens here. See [uninstall](docs/USAGE.md#uninstall-v26640).
|
|
53
53
|
|
|
54
|
+
### One skill, without the harness
|
|
55
|
+
|
|
56
|
+
Every bundled skill is also installable on its own with the [skills CLI](https://github.com/vercel-labs/skills) — no harness, no track:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npx skills add uzysjung/uzys-agent-harness --skill user-centered-explanation -a claude-code
|
|
60
|
+
# see what is there: npx skills add uzysjung/uzys-agent-harness --list
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`.claude-plugin/plugin.json` points the skills CLI at the bundle (`templates/skills/`), the single source for every skill the harness ships — you get the same file the installer would copy, `references/` and all. Re-run the same command to refresh. Verified in a clean `node:20` container on 2026-09-20. The repo page on the skills directory: [skills.sh/uzysjung/uzys-agent-harness](https://skills.sh/uzysjung/uzys-agent-harness) (listed automatically from installs; `skills.sh.json` at the repo root groups the page).
|
|
64
|
+
|
|
54
65
|
## Why
|
|
55
66
|
|
|
56
67
|
Coding agents keep getting stronger on their own. But every skill and MCP you install sits in the context window each session whether you use it or not, and the awesome-lists carry hundreds of options with no way to tell which ones your stack actually calls for. So you either install everything and pay for it every session, or read through the lists yourself each time you start a project.
|
|
@@ -59,7 +70,7 @@ This tool starts from the stack instead. You pick a track, and it pre-checks the
|
|
|
59
70
|
|
|
60
71
|
## What you get
|
|
61
72
|
|
|
62
|
-
- **Curation by tech stack.** Of the vetted options, you install only what this project calls for. Pick `csr-supabase` and step 3 pre-checks three groups: the four that every track gets (`north-star`, `objective-brief`, `gh-issue-workflow`, `audit-harness-fit`), the dev-track set (`find-skills`, `
|
|
73
|
+
- **Curation by tech stack.** Of the vetted options, you install only what this project calls for. Pick `csr-supabase` and step 3 pre-checks three groups: the four that every track gets (`north-star`, `objective-brief`, `gh-issue-workflow`, `audit-harness-fit`), the dev-track set (`find-skills`, `frontend-design`, and the five method skills), and the ones this stack calls for — React, shadcn, Supabase, Postgres. Not the rest of the catalog.
|
|
63
74
|
|
|
64
75
|
- **A discipline layer.** Rules, hooks, method skills, and CI scaffolds distilled from running real production projects with agents: doc governance, verification gates, normalized task briefs, recurrence prevention. Fourteen of those skills are written and maintained in this repo rather than pulled from a marketplace — thirteen of them selectable by id with `--with` / `--without` — so the harness ships the method, not just a pointer to one. This layer is what makes it a harness rather than a skill pack.
|
|
65
76
|
|
|
@@ -175,14 +175,16 @@ var EXTERNAL_ASSETS = [
|
|
|
175
175
|
// 앞선다 — 본문 게이트(테스트)가 이 리포에만 있기 때문이다. tier official = 자사
|
|
176
176
|
// (star 무관 — trust-tier-drift 가 official 을 건너뛴다). condition 은 이관 전 도달 범위 유지.
|
|
177
177
|
{
|
|
178
|
-
|
|
178
|
+
// #485 — 전신 `clear-korean-communication` 개명. 이름이 "한국어 전용"으로 읽혀 영어 사용자에게
|
|
179
|
+
// 닿지 않았다(사용자 결정 2026-09-20). 본문은 사용자가 검토한 개정안, 답변 언어는 사용자의 언어.
|
|
180
|
+
id: "user-centered-explanation",
|
|
179
181
|
tier: "official",
|
|
180
182
|
// uzys 자사 스킬 리포
|
|
181
|
-
description: "
|
|
183
|
+
description: "User-centered explanation \u2014 explain problems, changes, and choices as what the user does and sees (impact and cause first, then evidence), in the user's language; covers decisions, approval requests, and AS-IS/TO-BE contrasts of screens and flows",
|
|
182
184
|
category: "workflow",
|
|
183
185
|
source: "uzys",
|
|
184
186
|
condition: { kind: "has-dev-track" },
|
|
185
|
-
method: { kind: "internal", key: "
|
|
187
|
+
method: { kind: "internal", key: "user-centered-explanation" }
|
|
186
188
|
},
|
|
187
189
|
{
|
|
188
190
|
id: "north-star",
|
|
@@ -311,7 +313,7 @@ var EXTERNAL_ASSETS = [
|
|
|
311
313
|
{
|
|
312
314
|
// 트랙과 무관한 글쓰기 규율이라 어느 트랙에서도 고를 수 있고, 어느 트랙에도 자동으로는
|
|
313
315
|
// 안 깔린다(opt-in). 한국어로 쓰지 않는 사용자에게 기본 설치되면 그대로 낭비다.
|
|
314
|
-
//
|
|
316
|
+
// user-centered-explanation 과의 경계: 저쪽은 **무엇을 어떤 형식으로 말할지**(설명·승인
|
|
315
317
|
// 요청의 구조)이고, 이쪽은 **한국어로 쓰는 행위 자체**(답변·글쓰기·번역·퇴고)의 표현이다.
|
|
316
318
|
// #428 — 전신 `humanize-korean`(#355, 진단-우선 퇴고)을 개명·교체했다. 범위가 퇴고에서
|
|
317
319
|
// 쓰기·번역까지로 넓어져 이름이 뜻과 어긋났다. 옛 id 로 깐 설치본은 `update` 가 손대지
|
|
@@ -624,7 +626,10 @@ var EXTERNAL_ASSETS = [
|
|
|
624
626
|
// v26.78.0 — Understanding 으로 재분류: 웹 지각(screenshot·DOM). 영상/코드 지각과 같은 축.
|
|
625
627
|
category: "understanding",
|
|
626
628
|
source: "vercel-labs",
|
|
627
|
-
|
|
629
|
+
// #489 (사용자 결정 2026-09-20 a) — 기본 체크에서 opt-in 으로. computer-use 가 같은 일을 하고,
|
|
630
|
+
// 셋 중 설치 비용이 가장 크다(npm devDep → 안 쓰는 프로젝트에 node_modules 만 남는다).
|
|
631
|
+
// 3단계에는 그대로 뜨되 체크 해제, `--with agent-browser` 로 켠다. 기존 설치본은 영향 없음.
|
|
632
|
+
condition: { kind: "opt-in" },
|
|
628
633
|
method: { kind: "npm", pkg: "agent-browser", version: "0.31.0" }
|
|
629
634
|
},
|
|
630
635
|
// v26.78.0 — Understanding 신규 3종 (plugin, opt-in). 에이전트 인지 증강: 영상·코드 지각 + 메모리.
|
|
@@ -1031,7 +1036,7 @@ var EXTERNAL_ASSETS = [
|
|
|
1031
1036
|
];
|
|
1032
1037
|
var DEV_METHOD_SKILL_IDS = [
|
|
1033
1038
|
"compaction-handoff",
|
|
1034
|
-
"
|
|
1039
|
+
"user-centered-explanation",
|
|
1035
1040
|
"audit-service-gaps",
|
|
1036
1041
|
"multi-persona-review",
|
|
1037
1042
|
"recurrence-prevention"
|
|
@@ -1049,8 +1054,10 @@ var INTERNAL_BUNDLED_SKILL_IDS = [
|
|
|
1049
1054
|
];
|
|
1050
1055
|
var CONTINUOUS_SKILLS = [
|
|
1051
1056
|
{
|
|
1052
|
-
|
|
1053
|
-
|
|
1057
|
+
// #493 (#485 분리, 사용자 결정 2026-09-20) — 상주 한 줄의 문안은 사용자가 이슈에 적은 원칙이다:
|
|
1058
|
+
// 평소 설명부터 사용자 행동·결과를 먼저, 재설명·UX 전후·중요한 선택 정리는 스킬로.
|
|
1059
|
+
id: "user-centered-explanation",
|
|
1060
|
+
whenToApply: "when explaining a development problem, change, or choice to the user, explain what the user does and sees before internal implementation \u2014 in every answer and report, not only when approval is asked for; for a detailed re-explanation, a UX before/after comparison, or laying out an important decision, apply this skill"
|
|
1054
1061
|
},
|
|
1055
1062
|
{
|
|
1056
1063
|
id: "model-orchestration",
|
|
@@ -1059,7 +1066,9 @@ var CONTINUOUS_SKILLS = [
|
|
|
1059
1066
|
];
|
|
1060
1067
|
var RENAMED_SKILL_IDS = {
|
|
1061
1068
|
"task-brief": "objective-brief",
|
|
1062
|
-
"humanize-korean": "natural-korean"
|
|
1069
|
+
"humanize-korean": "natural-korean",
|
|
1070
|
+
// #485 (2026-09-20) — 새 이름은 `new-skills` 묶음(#480 ①)이 같은 update 에서 깐다.
|
|
1071
|
+
"clear-korean-communication": "user-centered-explanation"
|
|
1063
1072
|
};
|
|
1064
1073
|
var RETIRED_SKILL_IDS = [
|
|
1065
1074
|
"strategic-compact",
|
|
@@ -2180,4 +2189,4 @@ export {
|
|
|
2180
2189
|
CATEGORIES,
|
|
2181
2190
|
CATEGORY_TITLES
|
|
2182
2191
|
};
|
|
2183
|
-
//# sourceMappingURL=chunk-
|
|
2192
|
+
//# sourceMappingURL=chunk-HHCNPPGS.js.map
|