@uzysjung/agent-harness 26.154.0 → 26.156.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 +2 -1
- package/README.md +2 -1
- package/dist/{chunk-242TVGMZ.js → chunk-PPJUFG53.js} +25 -13
- package/dist/chunk-PPJUFG53.js.map +1 -0
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/trust-tier-drift.js +1 -1
- package/package.json +1 -1
- package/templates/skills/recurrence-prevention/SKILL.md +28 -16
- package/templates/skills/recurrence-prevention/references/failure-analysis.md +12 -11
- package/templates/skills/user-centered-explanation/SKILL.md +148 -0
- package/dist/chunk-242TVGMZ.js.map +0 -1
- package/templates/skills/clear-korean-communication/SKILL.md +0 -118
package/README.ko.md
CHANGED
|
@@ -65,7 +65,7 @@ npx -y @uzysjung/agent-harness uninstall # 무엇을 뺄지 고른다
|
|
|
65
65
|
|
|
66
66
|
- **스택 기반 큐레이션.** 검증된 옵션 중에서 이 프로젝트에 실제로 필요한 자산만 골라 설치한다. `csr-supabase` 를 고르면 세 묶음이 미리 체크된다 — 모든 track 이 받는 4종(`north-star`·`objective-brief`·`gh-issue-workflow`·`audit-harness-fit`), 개발 track 이 받는 것들(`find-skills`·`agent-browser`·`frontend-design` + 방법론 스킬 5종), 그리고 이 스택이 필요로 하는 React·shadcn·Supabase·Postgres. 카탈로그의 나머지는 처음부터 끼어들지 않는다.
|
|
67
67
|
|
|
68
|
-
- **규율 레이어.** 실제 프로덕션 프로젝트를 에이전트로 운영하며 추출한 룰·훅·방법론 스킬·CI 스캐폴드로 구성된다. 문서 거버넌스와 검증 게이트, 작업 브리프 정규화, 재발 방지 체계를 아우르며, 특히 스킬 14종은 마켓플레이스에 의존하지 않고 이 저장소에서 직접 쓰고 관리한다. 그중 13종은 id 로 지정할 수
|
|
68
|
+
- **규율 레이어.** 실제 프로덕션 프로젝트를 에이전트로 운영하며 추출한 룰·훅·방법론 스킬·CI 스캐폴드로 구성된다. 문서 거버넌스와 검증 게이트, 작업 브리프 정규화, 재발 방지 체계를 아우르며, 특히 스킬 14종은 마켓플레이스에 의존하지 않고 이 저장소에서 직접 쓰고 관리한다. 그중 13종은 id 로 지정할 수 있다(`--with`/`--without`). 이 레이어 덕분에 단순한 skill 모음을 넘어선 하네스로 작동한다.
|
|
69
69
|
|
|
70
70
|
- **4개 CLI, 하나의 어휘.** 1급 지원 대상인 Claude Code 에는 모든 자산·훅·plugin 을 적용하고, Codex, OpenCode, Antigravity 에는 skill 과 rule 레이어를 적용한다. 프로젝트가 특정 CLI 에 묶이지 않는다.
|
|
71
71
|
|
|
@@ -81,6 +81,7 @@ vetted 등급의 조건은 GitHub star 1,000개 이상, 활발한 유지보수,
|
|
|
81
81
|
|
|
82
82
|
무엇을 만드느냐에 따라 11개 track 으로 나눈다:
|
|
83
83
|
|
|
84
|
+
- **스택 미정** — `base` (원칙·방법론·테스트 스킬만, 스택 전용 자산 없음)
|
|
84
85
|
- **프론트엔드 + 백엔드** — `csr-supabase` · `csr-fastify` · `csr-fastapi` · `ssr-nextjs` · `ssr-htmx`
|
|
85
86
|
- **데이터** — `data`
|
|
86
87
|
- **비즈니스** — `executive` · `project-management` · `growth-marketing`
|
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ This tool starts from the stack instead. You pick a track, and it pre-checks the
|
|
|
61
61
|
|
|
62
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`, `agent-browser`, `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
63
|
|
|
64
|
-
- **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
|
|
64
|
+
- **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
65
|
|
|
66
66
|
- **Four CLIs, one vocabulary.** Claude Code is first class — all assets, hooks, and plugins. Codex, OpenCode, and Antigravity get the skills and rules layer. Your project is not locked to one CLI.
|
|
67
67
|
|
|
@@ -79,6 +79,7 @@ Every asset carries its tier as a badge at step 3: **★ official** (Anthropic-o
|
|
|
79
79
|
|
|
80
80
|
Eleven tracks, grouped by what you're building:
|
|
81
81
|
|
|
82
|
+
- **No stack yet** — `base` (principles, method skills, tests; nothing stack-specific)
|
|
82
83
|
- **Frontend + backend** — `csr-supabase` · `csr-fastify` · `csr-fastapi` · `ssr-nextjs` · `ssr-htmx`
|
|
83
84
|
- **Data** — `data`
|
|
84
85
|
- **Business** — `executive` · `project-management` · `growth-marketing`
|
|
@@ -40,6 +40,8 @@ var init_esm_shims = __esm({
|
|
|
40
40
|
// src/types.ts
|
|
41
41
|
init_esm_shims();
|
|
42
42
|
var TRACKS = [
|
|
43
|
+
// #456 (2026-09-20) — 스택 무관: 원칙·방법론·테스트 스킬만. 스택을 아직 안 정한 프로젝트용.
|
|
44
|
+
"base",
|
|
43
45
|
"tooling",
|
|
44
46
|
"csr-supabase",
|
|
45
47
|
"csr-fastify",
|
|
@@ -91,7 +93,7 @@ function anyTrack(tracks, pattern) {
|
|
|
91
93
|
return tracks.some((t) => matchTrack(t, pattern));
|
|
92
94
|
}
|
|
93
95
|
function hasDevTrack(tracks) {
|
|
94
|
-
return anyTrack(tracks, "csr-*|ssr-*|data|full|tooling");
|
|
96
|
+
return anyTrack(tracks, "csr-*|ssr-*|data|full|tooling|base");
|
|
95
97
|
}
|
|
96
98
|
function hasUiTrack(tracks) {
|
|
97
99
|
return anyTrack(tracks, "csr-*|ssr-*|full");
|
|
@@ -102,6 +104,7 @@ function globToRegex(pattern) {
|
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
// src/external-assets.ts
|
|
107
|
+
var DEV_TRACKS_WITH_STACK = TRACKS.filter((t) => t !== "base" && hasDevTrack([t]));
|
|
105
108
|
var CSR_SSR_NEXTJS_FULL = [
|
|
106
109
|
"csr-supabase",
|
|
107
110
|
"csr-fastify",
|
|
@@ -172,14 +175,16 @@ var EXTERNAL_ASSETS = [
|
|
|
172
175
|
// 앞선다 — 본문 게이트(테스트)가 이 리포에만 있기 때문이다. tier official = 자사
|
|
173
176
|
// (star 무관 — trust-tier-drift 가 official 을 건너뛴다). condition 은 이관 전 도달 범위 유지.
|
|
174
177
|
{
|
|
175
|
-
|
|
178
|
+
// #485 — 전신 `clear-korean-communication` 개명. 이름이 "한국어 전용"으로 읽혀 영어 사용자에게
|
|
179
|
+
// 닿지 않았다(사용자 결정 2026-09-20). 본문은 사용자가 검토한 개정안, 답변 언어는 사용자의 언어.
|
|
180
|
+
id: "user-centered-explanation",
|
|
176
181
|
tier: "official",
|
|
177
182
|
// uzys 자사 스킬 리포
|
|
178
|
-
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",
|
|
179
184
|
category: "workflow",
|
|
180
185
|
source: "uzys",
|
|
181
186
|
condition: { kind: "has-dev-track" },
|
|
182
|
-
method: { kind: "internal", key: "
|
|
187
|
+
method: { kind: "internal", key: "user-centered-explanation" }
|
|
183
188
|
},
|
|
184
189
|
{
|
|
185
190
|
id: "north-star",
|
|
@@ -308,7 +313,7 @@ var EXTERNAL_ASSETS = [
|
|
|
308
313
|
{
|
|
309
314
|
// 트랙과 무관한 글쓰기 규율이라 어느 트랙에서도 고를 수 있고, 어느 트랙에도 자동으로는
|
|
310
315
|
// 안 깔린다(opt-in). 한국어로 쓰지 않는 사용자에게 기본 설치되면 그대로 낭비다.
|
|
311
|
-
//
|
|
316
|
+
// user-centered-explanation 과의 경계: 저쪽은 **무엇을 어떤 형식으로 말할지**(설명·승인
|
|
312
317
|
// 요청의 구조)이고, 이쪽은 **한국어로 쓰는 행위 자체**(답변·글쓰기·번역·퇴고)의 표현이다.
|
|
313
318
|
// #428 — 전신 `humanize-korean`(#355, 진단-우선 퇴고)을 개명·교체했다. 범위가 퇴고에서
|
|
314
319
|
// 쓰기·번역까지로 넓어져 이름이 뜻과 어긋났다. 옛 id 로 깐 설치본은 `update` 가 손대지
|
|
@@ -495,7 +500,7 @@ var EXTERNAL_ASSETS = [
|
|
|
495
500
|
description: "frontend-design \u2014 distinctive production-grade UI generation (Anthropic official, avoids generic AI aesthetics)",
|
|
496
501
|
category: "frontend",
|
|
497
502
|
source: "anthropics",
|
|
498
|
-
condition: { kind: "
|
|
503
|
+
condition: { kind: "any-track", tracks: DEV_TRACKS_WITH_STACK },
|
|
499
504
|
method: { kind: "skill", source: "anthropics/skills", skill: "frontend-design" }
|
|
500
505
|
},
|
|
501
506
|
// 2026-08-02 정비 — 프론트엔드 품질 3종 (사용자 지시). 전부 opt-in: frontend-design 이 기본
|
|
@@ -606,7 +611,7 @@ var EXTERNAL_ASSETS = [
|
|
|
606
611
|
description: "find-skills \u2014 search \xB7 rank all installed skills (vercel-labs, all dev tracks)",
|
|
607
612
|
category: "dev-tools",
|
|
608
613
|
source: "vercel-labs",
|
|
609
|
-
condition: { kind: "
|
|
614
|
+
condition: { kind: "any-track", tracks: DEV_TRACKS_WITH_STACK },
|
|
610
615
|
method: { kind: "skill", source: "vercel-labs/skills", skill: "find-skills" }
|
|
611
616
|
},
|
|
612
617
|
// v26.110.0 (ADR-039) — context7 플러그인은 **미등록** (검토 후 철회): templates/mcp.json ·
|
|
@@ -621,7 +626,7 @@ var EXTERNAL_ASSETS = [
|
|
|
621
626
|
// v26.78.0 — Understanding 으로 재분류: 웹 지각(screenshot·DOM). 영상/코드 지각과 같은 축.
|
|
622
627
|
category: "understanding",
|
|
623
628
|
source: "vercel-labs",
|
|
624
|
-
condition: { kind: "
|
|
629
|
+
condition: { kind: "any-track", tracks: DEV_TRACKS_WITH_STACK },
|
|
625
630
|
method: { kind: "npm", pkg: "agent-browser", version: "0.31.0" }
|
|
626
631
|
},
|
|
627
632
|
// v26.78.0 — Understanding 신규 3종 (plugin, opt-in). 에이전트 인지 증강: 영상·코드 지각 + 메모리.
|
|
@@ -1028,7 +1033,7 @@ var EXTERNAL_ASSETS = [
|
|
|
1028
1033
|
];
|
|
1029
1034
|
var DEV_METHOD_SKILL_IDS = [
|
|
1030
1035
|
"compaction-handoff",
|
|
1031
|
-
"
|
|
1036
|
+
"user-centered-explanation",
|
|
1032
1037
|
"audit-service-gaps",
|
|
1033
1038
|
"multi-persona-review",
|
|
1034
1039
|
"recurrence-prevention"
|
|
@@ -1046,8 +1051,10 @@ var INTERNAL_BUNDLED_SKILL_IDS = [
|
|
|
1046
1051
|
];
|
|
1047
1052
|
var CONTINUOUS_SKILLS = [
|
|
1048
1053
|
{
|
|
1049
|
-
|
|
1050
|
-
|
|
1054
|
+
// #493 (#485 분리, 사용자 결정 2026-09-20) — 상주 한 줄의 문안은 사용자가 이슈에 적은 원칙이다:
|
|
1055
|
+
// 평소 설명부터 사용자 행동·결과를 먼저, 재설명·UX 전후·중요한 선택 정리는 스킬로.
|
|
1056
|
+
id: "user-centered-explanation",
|
|
1057
|
+
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"
|
|
1051
1058
|
},
|
|
1052
1059
|
{
|
|
1053
1060
|
id: "model-orchestration",
|
|
@@ -1056,7 +1063,9 @@ var CONTINUOUS_SKILLS = [
|
|
|
1056
1063
|
];
|
|
1057
1064
|
var RENAMED_SKILL_IDS = {
|
|
1058
1065
|
"task-brief": "objective-brief",
|
|
1059
|
-
"humanize-korean": "natural-korean"
|
|
1066
|
+
"humanize-korean": "natural-korean",
|
|
1067
|
+
// #485 (2026-09-20) — 새 이름은 `new-skills` 묶음(#480 ①)이 같은 update 에서 깐다.
|
|
1068
|
+
"clear-korean-communication": "user-centered-explanation"
|
|
1060
1069
|
};
|
|
1061
1070
|
var RETIRED_SKILL_IDS = [
|
|
1062
1071
|
"strategic-compact",
|
|
@@ -1169,6 +1178,7 @@ ${body}
|
|
|
1169
1178
|
${IMPORT_MARKER_END}`;
|
|
1170
1179
|
}
|
|
1171
1180
|
var TRACK_DISPLAY_NAMES = {
|
|
1181
|
+
base: "Base",
|
|
1172
1182
|
tooling: "Tooling",
|
|
1173
1183
|
"csr-supabase": "CSR Supabase",
|
|
1174
1184
|
"csr-fastify": "CSR Fastify",
|
|
@@ -1841,6 +1851,8 @@ var COMMON_RULES = ["git-policy", "change-management", "doc-governance"];
|
|
|
1841
1851
|
var DEV_RULES = ["test-policy", "ship-checklist"];
|
|
1842
1852
|
var UI_RULES = [];
|
|
1843
1853
|
var TRACK_RULES = {
|
|
1854
|
+
base: [],
|
|
1855
|
+
// #456 — 공통 룰만. cli-development 는 tooling·full 전용
|
|
1844
1856
|
"csr-supabase": [],
|
|
1845
1857
|
"csr-fastify": [],
|
|
1846
1858
|
"csr-fastapi": [],
|
|
@@ -2174,4 +2186,4 @@ export {
|
|
|
2174
2186
|
CATEGORIES,
|
|
2175
2187
|
CATEGORY_TITLES
|
|
2176
2188
|
};
|
|
2177
|
-
//# sourceMappingURL=chunk-
|
|
2189
|
+
//# sourceMappingURL=chunk-PPJUFG53.js.map
|