@uzysjung/agent-harness 26.151.0 → 26.153.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.
Files changed (46) hide show
  1. package/README.ko.md +2 -2
  2. package/README.md +2 -2
  3. package/dist/{chunk-3QBHZUVB.js → chunk-OYNSK6QF.js} +49 -33
  4. package/dist/chunk-OYNSK6QF.js.map +1 -0
  5. package/dist/index.js +157 -243
  6. package/dist/index.js.map +1 -1
  7. package/dist/trust-tier-drift.js +1 -1
  8. package/package.json +1 -1
  9. package/templates/CLAUDE.md +93 -145
  10. package/templates/codex/README.md +6 -7
  11. package/templates/codex/config.toml.template +1 -9
  12. package/templates/rules/change-management.md +2 -3
  13. package/templates/rules/cli-development.md +2 -4
  14. package/templates/rules/doc-governance.md +1 -1
  15. package/templates/skills/audit-harness-fit/README.md +76 -43
  16. package/templates/skills/audit-harness-fit/SKILL.md +62 -47
  17. package/templates/skills/audit-harness-fit/evals/scenarios.yaml +179 -22
  18. package/templates/skills/audit-harness-fit/references/apply.md +74 -45
  19. package/templates/skills/audit-harness-fit/references/audit.md +142 -118
  20. package/templates/skills/audit-harness-fit/references/populate.md +53 -49
  21. package/templates/skills/audit-harness-fit/references/verification.md +131 -100
  22. package/templates/skills/audit-service-gaps/SKILL.md +0 -2
  23. package/templates/skills/clear-korean-communication/SKILL.md +76 -209
  24. package/templates/skills/external-model-consult/scripts/codex-ask.sh +9 -4
  25. package/templates/skills/external-model-consult/scripts/gemini-ask.sh +9 -4
  26. package/templates/skills/model-orchestration/SKILL.md +123 -285
  27. package/templates/skills/objective-brief/SKILL.md +3 -3
  28. package/templates/track-mcp-map.tsv +1 -1
  29. package/dist/chunk-3QBHZUVB.js.map +0 -1
  30. package/templates/agents/build-error-resolver.md +0 -111
  31. package/templates/agents/plan-checker.md +0 -116
  32. package/templates/agents/silent-failure-hunter.md +0 -50
  33. package/templates/codex/hooks/README.md +0 -37
  34. package/templates/codex/hooks/session-start.sh +0 -7
  35. package/templates/codex/hooks/uncommitted-check.sh +0 -7
  36. package/templates/skills/agent-introspection-debugging/SKILL.md +0 -153
  37. package/templates/skills/clear-korean-communication/references/pre-send-checklist.md +0 -37
  38. package/templates/skills/clear-korean-communication/references/why-it-works.md +0 -24
  39. package/templates/skills/clear-korean-communication/references/worked-examples.md +0 -89
  40. package/templates/skills/deep-research/SKILL.md +0 -179
  41. package/templates/skills/deep-research/agents/openai.yaml +0 -7
  42. package/templates/skills/eval-harness/SKILL.md +0 -306
  43. package/templates/skills/eval-harness/agents/openai.yaml +0 -7
  44. package/templates/skills/verification-loop/SKILL.md +0 -250
  45. package/templates/skills/verification-loop/agents/openai.yaml +0 -7
  46. package/templates/skills/verification-loop/references/tracks.md +0 -49
@@ -1,179 +0,0 @@
1
- ---
2
- name: deep-research
3
- description: Multi-source deep research using firecrawl and exa MCPs. Searches the web, synthesizes findings, and delivers cited reports with source attribution. Use when the user wants thorough research on any topic with evidence and citations.
4
- origin: ECC
5
- ---
6
-
7
- # Deep Research
8
-
9
- Produce thorough, cited research reports from multiple web sources using firecrawl and exa MCP tools.
10
-
11
- ## When to Activate
12
-
13
- - User asks to research any topic in depth
14
- - Competitive analysis, technology evaluation, or market sizing
15
- - Due diligence on companies, investors, or technologies
16
- - Any question requiring synthesis from multiple sources
17
- - User says "research", "deep dive", "investigate", or "what's the current state of"
18
-
19
- ## Web access
20
-
21
- Use the firecrawl / exa MCP tools when they are configured — they give the best recall. **The
22
- harness does not install either**, so check what you actually have first: without them, run the same
23
- workflow on your CLI's built-in web search and fetch tools (in Claude Code, `WebSearch` /
24
- `WebFetch`). With no web access at all, say so instead of writing a report from memory — an uncited
25
- report is the failure mode this skill exists to prevent.
26
-
27
- ## Workflow
28
-
29
- ### Step 1: Understand the Goal
30
-
31
- Ask 1-2 quick clarifying questions:
32
- - "What's your goal — learning, making a decision, or writing something?"
33
- - "Any specific angle or depth you want?"
34
-
35
- If the user says "just research it" — skip ahead with reasonable defaults.
36
-
37
- ### Step 2: Plan the Research
38
-
39
- Break the topic into 3-5 research sub-questions. Example:
40
- - Topic: "Impact of AI on healthcare"
41
- - What are the main AI applications in healthcare today?
42
- - What clinical outcomes have been measured?
43
- - What are the regulatory challenges?
44
- - What companies are leading this space?
45
- - What's the market size and growth trajectory?
46
-
47
- ### Step 3: Execute Multi-Source Search
48
-
49
- For EACH sub-question, search using available MCP tools:
50
-
51
- **With firecrawl:**
52
- ```
53
- firecrawl_search(query: "<sub-question keywords>", limit: 8)
54
- ```
55
-
56
- **With exa:**
57
- ```
58
- web_search_exa(query: "<sub-question keywords>", numResults: 8)
59
- web_search_advanced_exa(query: "<keywords>", numResults: 5, startPublishedDate: "2025-01-01")
60
- ```
61
-
62
- **Search strategy:**
63
- - Use 2-3 different keyword variations per sub-question
64
- - Mix general and news-focused queries
65
- - Aim for 15-30 unique sources total
66
- - Prioritize: academic, official, reputable news > blogs > forums
67
-
68
- ### Step 4: Deep-Read Key Sources
69
-
70
- For the most promising URLs, fetch full content:
71
-
72
- **With firecrawl:**
73
- ```
74
- firecrawl_scrape(url: "<url>")
75
- ```
76
-
77
- **With exa:**
78
- ```
79
- crawling_exa(url: "<url>", tokensNum: 5000)
80
- ```
81
-
82
- Read 3-5 key sources in full for depth. Do not rely only on search snippets.
83
-
84
- ### Step 5: Synthesize and Write Report
85
-
86
- Structure the report:
87
-
88
- ```markdown
89
- # [Topic]: Research Report
90
- *Generated: [date] | Sources: [N] | Confidence: [High/Medium/Low]*
91
-
92
- ## Executive Summary
93
- [3-5 sentence overview of key findings]
94
-
95
- ## 1. [First Major Theme]
96
- [Findings with inline citations]
97
- - Key point ([Source Name](url))
98
- - Supporting data ([Source Name](url))
99
-
100
- ## 2. [Second Major Theme]
101
- ...
102
-
103
- ## 3. [Third Major Theme]
104
- ...
105
-
106
- ## Key Takeaways
107
- - [Actionable insight 1]
108
- - [Actionable insight 2]
109
- - [Actionable insight 3]
110
-
111
- ## Sources
112
- 1. [Title](url) — [one-line summary]
113
- 2. ...
114
-
115
- ## Research Ledger — [N] confirmed · [M] killed
116
-
117
- | Killed claim/direction | Why rejected | Source that killed it |
118
- |---|---|---|
119
- | [what you looked into] | [contradicting evidence / legal or licensing block / vendor-only claim] | [url] |
120
-
121
- > **Caveats**: [which numbers are vendor-promotional or self-reported, which sources are
122
- > preprints, which claims you could not verify verbatim and are therefore follow-up work]
123
-
124
- ## Methodology
125
- Searched [N] queries across web and news. Analyzed [M] sources.
126
- Sub-questions investigated: [list]
127
- ```
128
-
129
- ### The ledger is not optional
130
-
131
- A report that lists only what survived hides the most reusable part of the work. Record it as
132
- `N confirmed · M killed`, and for each killed item write **why** — contradicting evidence, a
133
- legal block, or a claim that turned out to be vendor-promotional. Two things follow:
134
-
135
- - **Nobody re-researches a dead end.** Next quarter the same idea resurfaces; the ledger answers
136
- it in one line instead of another research cycle.
137
- - **A kill count is evidence of rigor.** `22 confirmed · 0 killed` means you were collecting
138
- support, not testing claims. Zero kills is a signal to re-examine, not a clean result.
139
-
140
- The caveat block does the same job for what survived but is *weakly* sourced: vendor numbers with
141
- no independent verification, preprints whose self-reported performance you cite architecture from
142
- but not results, beta APIs. Naming them keeps a soft source from hardening into a fact downstream.
143
-
144
- ### Step 6: Deliver
145
-
146
- - **Short topics**: Post the full report in chat
147
- - **Long reports**: Post the executive summary + key takeaways, save full report to a file
148
-
149
- ## Parallel Research with Subagents
150
-
151
- For broad topics, use Claude Code's Task tool to parallelize:
152
-
153
- ```
154
- Launch 3 research agents in parallel:
155
- 1. Agent 1: Research sub-questions 1-2
156
- 2. Agent 2: Research sub-questions 3-4
157
- 3. Agent 3: Research sub-question 5 + cross-cutting themes
158
- ```
159
-
160
- Each agent searches, reads sources, and returns findings. The main session synthesizes into the final report.
161
-
162
- ## Quality Rules
163
-
164
- 1. **Every claim needs a source.** No unsourced assertions.
165
- 2. **Cross-reference.** If only one source says it, flag it as unverified.
166
- 3. **Recency matters.** Prefer sources from the last 12 months.
167
- 4. **Acknowledge gaps.** If you couldn't find good info on a sub-question, say so.
168
- 5. **No hallucination.** If you don't know, say "insufficient data found."
169
- 6. **Separate fact from inference.** Label estimates, projections, and opinions clearly.
170
-
171
- ## Examples
172
-
173
- ```
174
- "Research the current state of nuclear fusion energy"
175
- "Deep dive into Rust vs Go for backend services in 2026"
176
- "Research the best strategies for bootstrapping a SaaS business"
177
- "What's happening with the US housing market right now?"
178
- "Investigate the competitive landscape for AI code editors"
179
- ```
@@ -1,7 +0,0 @@
1
- interface:
2
- display_name: "Deep Research"
3
- short_description: "Multi-source deep research with firecrawl and exa MCPs"
4
- brand_color: "#6366F1"
5
- default_prompt: "Research the given topic using firecrawl and exa, produce a cited report"
6
- policy:
7
- allow_implicit_invocation: true
@@ -1,306 +0,0 @@
1
- ---
2
- name: eval-harness
3
- description: Formal evaluation framework for Claude Code sessions implementing eval-driven development (EDD) principles
4
- origin: ECC
5
- tools: Read, Write, Edit, Bash, Grep, Glob
6
- ---
7
-
8
- # Eval Harness Skill
9
-
10
- A formal evaluation framework for Claude Code sessions, implementing eval-driven development (EDD) principles.
11
-
12
- ## When to Activate
13
-
14
- - Setting up eval-driven development (EDD) for AI-assisted workflows
15
- - Defining pass/fail criteria for Claude Code task completion
16
- - Measuring agent reliability with pass@k metrics
17
- - Creating regression test suites for prompt or agent changes
18
- - Benchmarking agent performance across model versions
19
-
20
- ## Philosophy
21
-
22
- Eval-Driven Development treats evals as the "unit tests of AI development":
23
- - Define expected behavior BEFORE implementation
24
- - Run evals continuously during development
25
- - Track regressions with each change
26
- - Use pass@k metrics for reliability measurement
27
-
28
- ## Eval Types
29
-
30
- ### Capability Evals
31
- Test if Claude can do something it couldn't before:
32
- ```markdown
33
- [CAPABILITY EVAL: feature-name]
34
- Task: Description of what Claude should accomplish
35
- Success Criteria:
36
- - [ ] Criterion 1
37
- - [ ] Criterion 2
38
- - [ ] Criterion 3
39
- Expected Output: Description of expected result
40
- ```
41
-
42
- ### Regression Evals
43
- Ensure changes don't break existing functionality:
44
- ```markdown
45
- [REGRESSION EVAL: feature-name]
46
- Baseline: SHA or checkpoint name
47
- Tests:
48
- - existing-test-1: PASS/FAIL
49
- - existing-test-2: PASS/FAIL
50
- - existing-test-3: PASS/FAIL
51
- Result: X/Y passed (previously Y/Y)
52
- ```
53
-
54
- ## Grader Types
55
-
56
- ### 1. Code-Based Grader
57
- Deterministic checks using code:
58
- ```bash
59
- # Check if file contains expected pattern
60
- grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"
61
-
62
- # Check if tests pass
63
- npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"
64
-
65
- # Check if build succeeds
66
- npm run build && echo "PASS" || echo "FAIL"
67
- ```
68
-
69
- ### 2. Model-Based Grader
70
- Use Claude to evaluate open-ended outputs:
71
- ```markdown
72
- [MODEL GRADER PROMPT]
73
- Evaluate the following code change:
74
- 1. Does it solve the stated problem?
75
- 2. Is it well-structured?
76
- 3. Are edge cases handled?
77
- 4. Is error handling appropriate?
78
-
79
- Score: 1-5 (1=poor, 5=excellent)
80
- Reasoning: [explanation]
81
- ```
82
-
83
- ### 3. Human Grader
84
- Flag for manual review:
85
- ```markdown
86
- [HUMAN REVIEW REQUIRED]
87
- Change: Description of what changed
88
- Reason: Why human review is needed
89
- Risk Level: LOW/MEDIUM/HIGH
90
- ```
91
-
92
- ## Metrics
93
-
94
- ### pass@k
95
- "At least one success in k attempts"
96
- - pass@1: First attempt success rate
97
- - pass@3: Success within 3 attempts
98
- - Typical target: pass@3 > 90%
99
-
100
- ### pass^k
101
- "All k trials succeed"
102
- - Higher bar for reliability
103
- - pass^3: 3 consecutive successes
104
- - Use for critical paths
105
-
106
- ## Eval Workflow
107
-
108
- ### 1. Define (Before Coding)
109
-
110
- Write the spec to a file (`.claude/evals/<feature>.md`) before implementing. Give every eval a
111
- stable ID — `C1..Cn` for capability, `R1..Rn` for regression — so the same identifier carries
112
- from definition to the post-implementation status line, and a reviewer can check them off one by
113
- one. Prose-only lists ("Can create new user account") can't be referenced or scored.
114
-
115
- ````markdown
116
- # EVAL: <feature name> (<phase/PR>)
117
-
118
- **Feature**: <one line>
119
- **Baseline**: commit <sha> # what "regression" is measured against
120
- **Target**: pass@1 = 100% for capability evals
121
-
122
- ## Capability Evals
123
-
124
- ### C1: <name>
125
- - <concrete, checkable expectation — inputs → expected output>
126
-
127
- ### C2: <name>
128
- - <expectation>
129
-
130
- ## Regression Evals
131
-
132
- ### R1: <existing behavior that must not move>
133
- - <expectation>
134
-
135
- ## Test Command
136
- ```bash
137
- pytest tests/test_<area>.py -v -k "<selector>"
138
- ```
139
-
140
- ## Status (after implementation)
141
- - C1-Cn: PASS via <tests (N개) / route check / manual>
142
- - R1-Rn: PASS
143
-
144
- **Overall: pass@1 = <x>%**
145
- ````
146
-
147
- Two fields carry most of the weight. **Baseline commit** makes "regression" falsifiable — without
148
- it, R-evals are opinions about the past. **Test Command** makes the spec re-runnable by someone
149
- who didn't write it; an eval nobody can re-run is documentation, not a gate.
150
-
151
- Fill the Status section *after* implementing, in the same file. A spec whose status is still empty
152
- at merge time means the evals were written and never used.
153
-
154
- ### 2. Implement
155
- Write code to pass the defined evals.
156
-
157
- ### 3. Evaluate
158
- ```bash
159
- # Run capability evals
160
- [Run each capability eval, record PASS/FAIL]
161
-
162
- # Run regression evals
163
- npm test -- --testPathPattern="existing"
164
-
165
- # Generate report
166
- ```
167
-
168
- ### 4. Report
169
- ```markdown
170
- EVAL REPORT: feature-xyz
171
- ========================
172
-
173
- Capability Evals:
174
- create-user: PASS (pass@1)
175
- validate-email: PASS (pass@2)
176
- hash-password: PASS (pass@1)
177
- Overall: 3/3 passed
178
-
179
- Regression Evals:
180
- login-flow: PASS
181
- session-mgmt: PASS
182
- logout-flow: PASS
183
- Overall: 3/3 passed
184
-
185
- Metrics:
186
- pass@1: 67% (2/3)
187
- pass@3: 100% (3/3)
188
-
189
- Status: READY FOR REVIEW
190
- ```
191
-
192
- ## Integration Patterns
193
-
194
- ### Pre-Implementation
195
- ```
196
- /eval define feature-name
197
- ```
198
- Creates eval definition file at `.claude/evals/feature-name.md`
199
-
200
- ### During Implementation
201
- ```
202
- /eval check feature-name
203
- ```
204
- Runs current evals and reports status
205
-
206
- ### Post-Implementation
207
- ```
208
- /eval report feature-name
209
- ```
210
- Generates full eval report
211
-
212
- ## Eval Storage (.md + .log Pair Format)
213
-
214
- 각 평가 항목은 **`<topic>.md` (설계) + `<topic>.log` (실행 결과)** 쌍으로 저장. 강제. 단독 .md만 있으면 재현 불가.
215
-
216
- ```
217
- .claude/
218
- evals/
219
- feature-xyz.md # Eval definition (Capability/Regression/Test 3섹션 필수)
220
- feature-xyz.log # Eval run history (실행 시각, grader, pass/fail)
221
- session-YYYYMMDD.md # 세션 단위 회고 + 차기 backlog
222
- session-YYYYMMDD.log # 동일 세션의 grader 출력
223
- baseline.json # Regression baselines (선택)
224
- ```
225
-
226
- > eval 산출물은 `docs/evals/*.{md,log}` 로 모은다 — 실행 로그와 판정을 같은 자리에 둔다.
227
-
228
- ### .md 파일 의무 섹션 (3개)
229
-
230
- ```markdown
231
- # Eval: <topic>
232
-
233
- ## Capability
234
- [새 능력 — Claude/agent가 무엇을 할 수 있는지]
235
- - AC: [측정 가능 기준]
236
- - Grader: code-based / model-based / human
237
-
238
- ## Regression
239
- [기존 기능 보호 — 변경으로 깨지면 안 되는 baseline]
240
- - Baseline: <SHA or checkpoint>
241
- - Tests: [목록]
242
-
243
- ## Test
244
- [실행 절차 — 누가 다시 돌려도 동일 결과 나와야 함]
245
- - Setup: [사전 조건]
246
- - Run: `bash run-eval.sh <topic>` 또는 명시적 명령
247
- - Expected: [기대 출력]
248
- ```
249
-
250
- ### .log 파일 형식
251
-
252
- 각 실행마다 append. 시간순 누적.
253
-
254
- ```
255
- === 2026-04-19 14:32 (run #1) ===
256
- Capability: 3/3 PASS (pass@1)
257
- Regression: 5/5 PASS (pass^3)
258
- Status: SHIP READY
259
-
260
- === 2026-04-20 09:15 (run #2 — after refactor) ===
261
- Capability: 3/3 PASS
262
- Regression: 4/5 PASS (login-flow regressed at SHA abc123)
263
- Status: BLOCKED — fix login-flow first
264
- ```
265
-
266
- ## Best Practices
267
-
268
- 1. **Define evals BEFORE coding** - Forces clear thinking about success criteria
269
- 2. **Run evals frequently** - Catch regressions early
270
- 3. **Track pass@k over time** - Monitor reliability trends
271
- 4. **Use code graders when possible** - Deterministic > probabilistic
272
- 5. **Human review for security** - Never fully automate security checks
273
- 6. **Keep evals fast** - Slow evals don't get run
274
- 7. **Version evals with code** - Evals are first-class artifacts
275
-
276
- ## Example: Adding Authentication
277
-
278
- ```markdown
279
- ## EVAL: add-authentication
280
-
281
- ### Phase 1: Define (10 min)
282
- Capability Evals:
283
- - [ ] User can register with email/password
284
- - [ ] User can login with valid credentials
285
- - [ ] Invalid credentials rejected with proper error
286
- - [ ] Sessions persist across page reloads
287
- - [ ] Logout clears session
288
-
289
- Regression Evals:
290
- - [ ] Public routes still accessible
291
- - [ ] API responses unchanged
292
- - [ ] Database schema compatible
293
-
294
- ### Phase 2: Implement (varies)
295
- [Write code]
296
-
297
- ### Phase 3: Evaluate
298
- Run: /eval check add-authentication
299
-
300
- ### Phase 4: Report
301
- EVAL REPORT: add-authentication
302
- ==============================
303
- Capability: 5/5 passed (pass@3: 100%)
304
- Regression: 3/3 passed (pass^3: 100%)
305
- Status: SHIP IT
306
- ```
@@ -1,7 +0,0 @@
1
- interface:
2
- display_name: "Eval Harness"
3
- short_description: "Eval-driven development with pass/fail criteria"
4
- brand_color: "#EC4899"
5
- default_prompt: "Set up eval-driven development with pass/fail criteria"
6
- policy:
7
- allow_implicit_invocation: true