@uzysjung/agent-harness 26.151.0 → 26.152.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 CHANGED
@@ -63,9 +63,9 @@ npx -y @uzysjung/agent-harness uninstall # 무엇을 뺄지 고른다
63
63
 
64
64
  ## 무엇을 얻는가
65
65
 
66
- - **스택 기반 큐레이션.** 검증된 옵션 중에서 이 프로젝트에 실제로 필요한 자산만 골라 설치한다. `csr-supabase` 를 고르면 세 묶음이 미리 체크된다 — 모든 track 이 받는 4종(`north-star`·`objective-brief`·`gh-issue-workflow`·`audit-harness-fit`), 개발 track 이 받는 것들(`find-skills`·`agent-browser`·`frontend-design` + 방법론 스킬 6종), 그리고 이 스택이 필요로 하는 React·shadcn·Supabase·Postgres. 카탈로그의 나머지는 처음부터 끼어들지 않는다.
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종은 마켓플레이스에 의존하지 않고 이 저장소에서 직접 쓰고 관리한다. 그중 12종은 id 로 지정할 수 있고(`--with`/`--without`), 그 12종 가운데 6종은 3단계 화면에서 한 줄로 묶여 함께 켜지고 꺼진다. 이 레이어 덕분에 단순한 skill 모음을 넘어선 하네스로 작동한다.
68
+ - **규율 레이어.** 실제 프로덕션 프로젝트를 에이전트로 운영하며 추출한 룰·훅·방법론 스킬·CI 스캐폴드로 구성된다. 문서 거버넌스와 검증 게이트, 작업 브리프 정규화, 재발 방지 체계를 아우르며, 특히 스킬 14종은 마켓플레이스에 의존하지 않고 이 저장소에서 직접 쓰고 관리한다. 그중 13종은 id 로 지정할 수 있고(`--with`/`--without`), 그 13종 가운데 5종은 3단계 화면에서 한 줄로 묶여 함께 켜지고 꺼진다. 이 레이어 덕분에 단순한 skill 모음을 넘어선 하네스로 작동한다.
69
69
 
70
70
  - **4개 CLI, 하나의 어휘.** 1급 지원 대상인 Claude Code 에는 모든 자산·훅·plugin 을 적용하고, Codex, OpenCode, Antigravity 에는 skill 과 rule 레이어를 적용한다. 프로젝트가 특정 CLI 에 묶이지 않는다.
71
71
 
package/README.md CHANGED
@@ -59,9 +59,9 @@ This tool starts from the stack instead. You pick a track, and it pre-checks the
59
59
 
60
60
  ## What you get
61
61
 
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 six method skills), and the ones this stack calls for — React, shadcn, Supabase, Postgres. Not the rest of the catalog.
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 — twelve of them selectable by id with `--with` / `--without`, six of which collapse into one row at step 3 — 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.
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`, five of which collapse into one row at step 3 — 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
 
@@ -195,16 +195,6 @@ var EXTERNAL_ASSETS = [
195
195
  condition: { kind: "has-dev-track" },
196
196
  method: { kind: "internal", key: "audit-service-gaps" }
197
197
  },
198
- {
199
- id: "verification-loop",
200
- tier: "official",
201
- // uzys 자사 스킬 리포
202
- description: "Verification loop \u2014 run proportional verification tracks (UI \xB7 API \xB7 CLI \xB7 library \xB7 docs \xB7 real user flow) and end with evidence plus a fixed verdict; a green build is not proof of user-visible completion",
203
- category: "dev-tools",
204
- source: "uzys",
205
- condition: { kind: "has-dev-track" },
206
- method: { kind: "internal", key: "verification-loop" }
207
- },
208
198
  {
209
199
  id: "multi-persona-review",
210
200
  tier: "official",
@@ -1026,8 +1016,7 @@ var DEV_METHOD_SKILL_IDS = [
1026
1016
  "clear-korean-communication",
1027
1017
  "audit-service-gaps",
1028
1018
  "multi-persona-review",
1029
- "recurrence-prevention",
1030
- "verification-loop"
1019
+ "recurrence-prevention"
1031
1020
  ];
1032
1021
  var INTERNAL_BUNDLED_SKILL_IDS = [
1033
1022
  ...DEV_METHOD_SKILL_IDS,
@@ -1057,7 +1046,12 @@ var RENAMED_SKILL_IDS = {
1057
1046
  var RETIRED_SKILL_IDS = [
1058
1047
  "strategic-compact",
1059
1048
  "continuous-learning-v2",
1060
- "spec-scaling"
1049
+ "spec-scaling",
1050
+ // ADR-090 (#452) — 관측 없는 자산 은퇴. 앞 세 종과 같은 경로로 안내한다.
1051
+ "verification-loop",
1052
+ "deep-research",
1053
+ "eval-harness",
1054
+ "agent-introspection-debugging"
1061
1055
  ];
1062
1056
  var TRUST_TIER = Object.fromEntries(
1063
1057
  EXTERNAL_ASSETS.map((a) => [a.id, a.tier])
@@ -1666,17 +1660,29 @@ function resolveRules(spec) {
1666
1660
  return [...set].sort();
1667
1661
  }
1668
1662
  var ALL_RULES = resolveRules({ tracks: [...TRACKS] });
1669
- var CORE_AGENTS = ["reviewer", "data-analyst", "strategist"];
1670
- var DEV_AGENTS = ["plan-checker", "implementer"];
1671
- var DEV_AGENTS_ECC = ["silent-failure-hunter", "build-error-resolver"];
1672
- var RETIRED_AGENT_IDS = ["code-reviewer", "security-reviewer"];
1663
+ var CORE_AGENTS = ["reviewer"];
1664
+ var DEV_AGENTS = ["implementer"];
1665
+ var TRACK_AGENTS = [
1666
+ ["data-analyst", "data|full"],
1667
+ ["strategist", "executive|full"]
1668
+ ];
1669
+ var RETIRED_AGENTS = [
1670
+ { id: "code-reviewer", instead: "Claude Code \uC758 `/code-review` \uAC00 \uAC19\uC740 \uC77C\uC744 \uD55C\uB2E4" },
1671
+ { id: "security-reviewer", instead: "Claude Code \uC758 `/security-review` \uAC00 \uAC19\uC740 \uC77C\uC744 \uD55C\uB2E4" },
1672
+ // ADR-090 (#452) — spawn 0 · 결함만 관측된 세 종. **대안을 종마다 적는다**: 한 문구로 뭉치면
1673
+ // 자기 에이전트와 상관없는 대안을 읽게 되고, 그건 "대신 쓸 것을 말한다"의 뜻을 잃는다.
1674
+ { id: "plan-checker", instead: "`reviewer` \uAC00 \uACC4\uD68D \uBB38\uC11C\uB3C4 \uAC19\uC740 \uACC4\uC57D\uC73C\uB85C \uAC80\uD1A0\uD55C\uB2E4" },
1675
+ { id: "silent-failure-hunter", instead: "Claude Code \uC758 `/code-review` \uAC00 \uAC19\uC740 \uC77C\uC744 \uD55C\uB2E4" },
1676
+ { id: "build-error-resolver", instead: "\uBAA8\uB378\uC774 \uAE30\uBCF8\uC73C\uB85C \uD558\uB294 \uC77C\uC774\uB77C \uB300\uCCB4 \uC790\uC0B0\uC774 \uC5C6\uB2E4" }
1677
+ ];
1678
+ var RETIRED_AGENT_IDS = RETIRED_AGENTS.map((a) => a.id);
1673
1679
  var ALWAYS_HOOKS = ["session-start.sh", "protect-files.sh"];
1674
1680
  var COMMON_SKILL_DIRS = [];
1675
1681
  var COMMON_SKILL_DIRS_ECC = [];
1676
- var MODIFIED_COMMON_SKILL_DIRS = ["deep-research"];
1682
+ var MODIFIED_COMMON_SKILL_DIRS = [];
1677
1683
  var DEV_SKILL_DIRS = [];
1678
- var DEV_SKILL_DIRS_ECC = ["agent-introspection-debugging"];
1679
- var MODIFIED_DEV_SKILL_DIRS = ["eval-harness"];
1684
+ var DEV_SKILL_DIRS_ECC = [];
1685
+ var MODIFIED_DEV_SKILL_DIRS = [];
1680
1686
  var MODIFIED_ECC_SKILL_DIRS = [...MODIFIED_COMMON_SKILL_DIRS, ...MODIFIED_DEV_SKILL_DIRS];
1681
1687
  var UI_SKILL_DIRS = ["ui-visual-review"];
1682
1688
  var UI_SKILL_DIRS_ECC = ["e2e-testing"];
@@ -1734,12 +1740,12 @@ function buildManifest(spec) {
1734
1740
  applies: dev
1735
1741
  });
1736
1742
  }
1737
- for (const a of DEV_AGENTS_ECC) {
1743
+ for (const [a, pattern] of TRACK_AGENTS) {
1738
1744
  m.push({
1739
1745
  source: `agents/${a}.md`,
1740
1746
  target: `.claude/agents/${a}.md`,
1741
1747
  type: "file",
1742
- applies: (s) => !s.withEcc && hasDevTrack(s.tracks)
1748
+ applies: onTracks(pattern)
1743
1749
  });
1744
1750
  }
1745
1751
  for (const sd of COMMON_SKILL_DIRS) {
@@ -2128,6 +2134,7 @@ export {
2128
2134
  buildAssetSpec,
2129
2135
  resolveRules,
2130
2136
  ALL_RULES,
2137
+ RETIRED_AGENTS,
2131
2138
  RETIRED_AGENT_IDS,
2132
2139
  isCliNeutralTarget,
2133
2140
  buildManifest,
@@ -2141,4 +2148,4 @@ export {
2141
2148
  formatResidentCostLine,
2142
2149
  formatResidentCostBlock
2143
2150
  };
2144
- //# sourceMappingURL=chunk-3QBHZUVB.js.map
2151
+ //# sourceMappingURL=chunk-EQDC2AAU.js.map