@uzysjung/agent-harness 26.152.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 (28) hide show
  1. package/dist/{chunk-EQDC2AAU.js → chunk-OYNSK6QF.js} +20 -11
  2. package/dist/chunk-OYNSK6QF.js.map +1 -0
  3. package/dist/index.js +89 -45
  4. package/dist/index.js.map +1 -1
  5. package/dist/trust-tier-drift.js +1 -1
  6. package/package.json +1 -1
  7. package/templates/CLAUDE.md +93 -145
  8. package/templates/codex/README.md +6 -7
  9. package/templates/codex/config.toml.template +1 -9
  10. package/templates/skills/audit-harness-fit/README.md +76 -43
  11. package/templates/skills/audit-harness-fit/SKILL.md +62 -47
  12. package/templates/skills/audit-harness-fit/evals/scenarios.yaml +179 -22
  13. package/templates/skills/audit-harness-fit/references/apply.md +74 -45
  14. package/templates/skills/audit-harness-fit/references/audit.md +142 -118
  15. package/templates/skills/audit-harness-fit/references/populate.md +53 -49
  16. package/templates/skills/audit-harness-fit/references/verification.md +131 -100
  17. package/templates/skills/clear-korean-communication/SKILL.md +76 -209
  18. package/templates/skills/external-model-consult/scripts/codex-ask.sh +9 -4
  19. package/templates/skills/external-model-consult/scripts/gemini-ask.sh +9 -4
  20. package/templates/skills/model-orchestration/SKILL.md +123 -267
  21. package/templates/skills/objective-brief/SKILL.md +3 -3
  22. package/dist/chunk-EQDC2AAU.js.map +0 -1
  23. package/templates/codex/hooks/README.md +0 -37
  24. package/templates/codex/hooks/session-start.sh +0 -7
  25. package/templates/codex/hooks/uncommitted-check.sh +0 -7
  26. package/templates/skills/clear-korean-communication/references/pre-send-checklist.md +0 -37
  27. package/templates/skills/clear-korean-communication/references/why-it-works.md +0 -24
  28. package/templates/skills/clear-korean-communication/references/worked-examples.md +0 -89
@@ -1,123 +1,154 @@
1
- # User Journeys, Verification, and Model Delegation
1
+ # User Journeys, Verification, and Execution Routes
2
2
 
3
3
  ## Contents
4
4
 
5
5
  - [Start from the usage scene](#start-from-the-usage-scene)
6
6
  - [Choose sufficient evidence](#choose-sufficient-evidence)
7
- - [Bundle verification by completed scene](#bundle-verification-by-completed-scene)
7
+ - [Choose timing and change boundaries](#choose-timing-and-change-boundaries)
8
8
  - [Reuse evidence with explicit invalidation](#reuse-evidence-with-explicit-invalidation)
9
- - [Delegate only when the judgment warrants it](#delegate-only-when-the-judgment-warrants-it)
9
+ - [Choose a suitable execution route](#choose-a-suitable-execution-route)
10
10
  - [Demonstrate improvement honestly](#demonstrate-improvement-honestly)
11
11
 
12
12
  ## Start from the usage scene
13
13
 
14
14
  Use confirmed requirements and accessible product evidence to identify **actor,
15
- precondition, action/input, observable outcome, and consequential failure/recovery**.
16
- Actors can be end users, operators, API consumers, or scheduled jobs. An assumption
17
- about a persona or goal remains an assumption, not a requirement inferred from code.
18
-
19
- Propose the smallest working end-to-end implementation slice for the requested
20
- outcome. A visible screen is not complete when its required persistence, retrieval,
21
- authorization, or error recovery is absent. Extend only with requested capabilities.
22
- This skill proposes how to implement and verify; it does not change product code.
15
+ precondition, action/input, observable outcome, and consequential failure/recovery**
16
+ where relevant to the change. Actors include end users, operators, API consumers,
17
+ and scheduled jobs. Reuse established context; keep assumed goals distinct from
18
+ accepted requirements. An isolated contract change can use its existing contract
19
+ without reopening the whole product brief.
20
+
21
+ Propose the smallest coherent implementation slice that delivers the requested
22
+ outcome. Required persistence, retrieval, authorization, and recovery belong in
23
+ that slice even when the visible screen already works. Choose boundaries that
24
+ support useful feedback and manageable risk; extend only with requested capabilities.
25
+ This skill proposes implementation and verification guidance, not product-code edits.
23
26
 
24
27
  ## Choose sufficient evidence
25
28
 
26
- Map each affected scene or critical contract to a check and an observable pass
27
- condition. Reuse existing coverage. A compact form is:
29
+ Map each affected scene or critical contract to an observable pass condition and
30
+ sufficient evidence. Reuse existing coverage. A compact form, when useful, is:
28
31
 
29
- | Scene / contract | Observable pass condition | Existing check or proposed check | Required or optional; execution / review owner |
32
+ | Scene / contract | Observable pass condition | Existing or proposed evidence | Required gate / optional check; owner where relevant |
30
33
  |---|---|---|---|
31
34
 
32
- Choose the narrowest reliable level: unit for isolated logic, integration for real
33
- boundaries, and E2E for journeys requiring whole-path evidence. A slice being end-to-end
34
- does not mean every test must be E2E. Avoid testing every private function, arbitrary
35
- coverage targets, duplicate layers that prove nothing new, and running the entire
36
- suite after each edit solely because a prompt demands it.
37
-
38
- For example, saving a record and later retrieving it may need persistence integration
39
- coverage and one representative UI journey; validation edge cases can stay at unit
40
- level. This is an example, not a fixed test prescription for every product.
41
-
42
- Scale optional checks with impact, affected dependencies, uncertainty, and reversibility.
43
- Include credible negative/recovery paths and non-visible contracts such as authorization,
44
- data integrity, payments, concurrency, migration, and interoperability when affected.
45
- Happy-path screenshots do not establish those contracts. Avoid expanding to every
46
- hypothetical edge case unrelated to the change.
47
-
48
- Required tests and independent-review gates remain binding. Identify their policy /
49
- CI source: an explicit project test policy can be mandatory even without CI enforcement.
50
- Distinguish those gates from generic requests to "think again"; if their status is
51
- unclear, retain them pending a policy decision. When a required gate seems
52
- disproportionate, propose a separate policy decision;
53
- do not disable it, lower its threshold, or relabel it to make cleanup succeed.
54
- Document checks are sufficient for document-only effects unless applicable policy
55
- or actual dependencies require broader checks. State checks not run and why.
56
-
57
- ## Bundle verification by completed scene
58
-
59
- Implementation and verification follow the scene, not the edit. While a scene is being
60
- built, run only the quick checks for the parts being changed — except when a scene first
61
- crosses an unproven external boundary, which is checked then. When the scene's changes are
62
- complete, bundle them and verify once from usage: the scene's observable outcome, its
63
- integration boundaries, the non-visible contracts it touches, and one representative
64
- journey. Re-verify the parts a later change affects, plus anything the reuse rules below
65
- require a new run for; when the affected scope cannot be established confidently, widen the
66
- bundle check instead of narrowing it. Treat instructions that force a
67
- full run or an independent review after every edit as a finding under the audit area on
68
- user-journey implementation and proportionate testing — they cost development speed without
69
- adding evidence — unless a required gate names that cadence explicitly.
70
-
71
- Bundling is not deferral. A scene is one actor reaching one observable outcome; when its
72
- changes outgrow what one review can hold, split it into smaller scenes rather than
73
- verifying later, and do not start the next scene on top of an unverified one. Keep each
74
- change committed on its own so a failed bundle bisects to the change that broke it, and
75
- keep merge and deployment gates where they are — a scene is verified before it crosses
76
- either. The non-visible contracts listed above — money and payments, permissions, data and
77
- its migrations, and any irreversible operation among them — are **separate verification
78
- targets**: they get their own independent check before merge regardless of how the scene is
79
- bundled, and a representative journey passing does not stand in for them.
35
+ Choose the reliable level or combination with the lowest reasonable total burden:
36
+ unit checks for isolated logic, integration for real boundaries, and E2E when a
37
+ whole-path claim needs evidence. Include setup, selection, execution, diagnosis,
38
+ and maintenance effort. A fast, reliable full suite can be simpler than elaborate
39
+ selection. A user-facing slice does not require every assertion to be E2E.
40
+
41
+ For example, saving and retrieving a record may use persistence integration coverage
42
+ and a representative UI journey, with input validation at unit level. This is an
43
+ illustration, not a universal test prescription. Target changed behavior, credible
44
+ failure/recovery paths, and affected dependencies rather than every private function,
45
+ a coverage quota, or unrelated hypothetical edge case.
46
+
47
+ Treat consequential contracts such as authorization, payments, integrity, concurrency,
48
+ migration, and interoperability as explicit verification targets when affected.
49
+ Each needs evidence adequate to its claim; a happy-path screenshot alone cannot
50
+ establish these properties. One test or execution can cover several contracts when
51
+ its assertions and conditions actually support each. Separate targets do not by
52
+ themselves require separate runs or separate reviewers. Add checks for evidence gaps,
53
+ credible risk, or applicable policy; required review independence is a separate issue.
54
+
55
+ Identify binding tests and independent-review gates from their policy / CI source.
56
+ Explicit project policy can bind even without CI enforcement. Preserve those gates;
57
+ route disproportionate mandatory requirements to a separate policy decision. Retain
58
+ an unclear gate pending clarification while continuing work independent of it.
59
+ Generic requests to "think again" are assessed for evidence value, not presumed gates.
60
+ Document-only effects normally need document checks unless policy or dependencies
61
+ require more. State checks not run and the resulting limits.
62
+
63
+ ## Choose timing and change boundaries
64
+
65
+ Choose verification timing and batch size for useful feedback, uncertainty, impact,
66
+ and recoverability. Resolve costly assumptions and unproven boundaries early enough
67
+ to avoid building substantial work on an unsupported contract. Run quick local checks,
68
+ incremental tests, or a broader bundle when they offer the best feedback for the task.
69
+ Use existing tools and evidence before introducing new process overhead.
70
+
71
+ Work may proceed in parallel when it is isolated or relies on sufficiently established
72
+ contracts. Make consequential unverified assumptions visible and contain their impact.
73
+ As a change grows beyond reliable review or recovery, split it or verify the uncertain
74
+ boundary sooner. Complete the evidence required for acceptance and applicable merge /
75
+ release gates before crossing those boundaries.
76
+
77
+ Organize edits into coherent, reviewable, recoverable units. Follow the project's
78
+ commit policy and actual authorization; logical change boundaries are not a command
79
+ to commit each edit. Existing diffs, checkpoints, or version history can support
80
+ recovery where appropriate. Commit and push actions remain outside this cleanup.
81
+
82
+ Assess a prescribed cadence by the evidence it adds and its total cost. Checking a
83
+ changed state can be useful even after a small edit; repeating a check with unchanged
84
+ relevant conditions may add nothing. Per-edit full suites, continuous checks, batched
85
+ verification, and targeted runs can each be suitable. Retain explicitly required
86
+ cadence and propose policy changes separately. Choose a method instead of replacing
87
+ one universal schedule with another.
80
88
 
81
89
  ## Reuse evidence with explicit invalidation
82
90
 
83
- Use existing logs or results to identify what was checked, the affected source state,
84
- inputs/dependencies, relevant environment, and result. Add only missing material
85
- provenance; do not require a new fingerprinting or evidence-management framework.
86
- A result is reusable when those relevant conditions and its coverage still hold.
87
-
88
- Recheck the affected scope when code, configuration, dependencies, meaningful inputs,
89
- environment, or acceptance criteria change; when evidence does not cover the contract;
90
- when a failure or credible nondeterminism remains; or when policy requires a new run.
91
- Do not rerun unaffected optional checks merely because time passed, another reviewer
92
- arrived, or a response is about to be sent. A stale result cannot certify a new diff.
93
- Stop optional verification when acceptance conditions have sufficient evidence and
94
- there is no relevant unresolved failure or risk. Do not claim all work safe forever.
95
-
96
- ## Delegate only when the judgment warrants it
97
-
98
- Propose or use a more capable available model for a difficult design trade-off,
99
- a blocked diagnosis, or high-impact journey review when likely to improve the answer.
100
- Prefer the existing routing policy and actual environment. Routine implementation /
101
- checks stay with the current agent; a model's label, price, or recency is not evidence
102
- that it is better at the task. Do not prescribe an unverified model name or CLI flag.
103
-
104
- Before actually delegating, confirm the tool/model exists and the data sharing,
105
- permission, and cost boundaries permit it. A read-only audit may propose delegation
106
- without making a new external call. Send a bounded question with the scene, constraints,
107
- diff / necessary evidence, acceptance criteria, uncertainty, and requested review output.
108
- Ask for the specific decision or missing test, not a repeated open-ended "check everything".
109
-
110
- Model judgment complements executable evidence, never substitutes for it. Keep author
111
- and reviewer independent where required; changing a model label in the author's own
112
- self-review is not independent review. Do not introduce a new universal review gate.
113
- If no suitable model/reviewer is available, disclose that fact, use a permitted human
114
- or other route where available, and leave required review pending. Continue work that
115
- does not depend on the unmet gate. Never claim delegation happened when it did not.
91
+ Use existing results to establish what was checked, relevant source state, inputs /
92
+ dependencies, environment, and result. Add missing material provenance only. Existing
93
+ records are sufficient when they support that determination; a new evidence-management
94
+ or fingerprinting framework is not a prerequisite.
95
+
96
+ Reuse a result when its coverage and relevant conditions still hold. Reassess and
97
+ recheck affected scope when code, configuration, dependencies, meaningful inputs,
98
+ environment, or acceptance criteria change; coverage is insufficient; a failure or
99
+ credible nondeterminism remains; or policy requires a new run. A changed dependency
100
+ can invalidate evidence beyond the edited file. When impact is uncertain, widen the
101
+ check enough to address that uncertainty.
102
+
103
+ Reuse unaffected optional results when another reviewer arrives, a response is due,
104
+ or time passes without a relevant validity limit. Time-sensitive credentials, data,
105
+ or environment guarantees may themselves expire. Finish optional verification when
106
+ acceptance conditions have sufficient evidence and remaining uncertainty is within
107
+ accepted risk boundaries. Report residual uncertainty; a past pass does not certify
108
+ a new state.
109
+
110
+ ## Choose a suitable execution route
111
+
112
+ Reuse the established routing policy and current route by default. Change routes
113
+ when task-specific evidence supports a better quality / effort trade-off. Options
114
+ can include an existing deterministic tool, the current agent, a specialist, a
115
+ lower-cost capable model, a more capable model, or an authorized human reviewer.
116
+ Routine tasks need no repeated model comparison.
117
+
118
+ Consider expected answer quality, reliability, latency, total cost, context-transfer
119
+ and review effort, data boundaries, and required independence. Delegate when the
120
+ likely benefit justifies the handoff. A model's name, price, or recency alone does
121
+ not establish task fitness; use configured capabilities and relevant observations.
122
+
123
+ Before an actual call, establish that the tool / model exists and applicable data,
124
+ permission, and cost boundaries permit it. Reuse valid configuration and approvals.
125
+ A read-only audit can propose a route without invoking it. Send a bounded question
126
+ with the scene or contract, constraints, necessary evidence, uncertainty, acceptance
127
+ criteria, and requested decision. Minimize sensitive context and unnecessary repetition.
128
+
129
+ Model judgment complements executable evidence. Do not present an opinion as a test
130
+ result, self-review as required independent review, or a proposed handoff as executed.
131
+ Where independence is required, use a genuinely separate permitted reviewer/process;
132
+ a different model label alone does not supply it. Keep required review pending when
133
+ no suitable route is available, identify an allowed alternative, and continue work
134
+ that does not depend on the unmet gate. This guidance adds no universal review gate.
116
135
 
117
136
  ## Demonstrate improvement honestly
118
137
 
119
- For an uncertain simplification, propose a small representative comparison only if
120
- needed: did the agent complete the same scene with fewer avoidable questions/checks
121
- while retaining acceptance evidence and safeguards? Reuse existing observations.
122
- Label expected benefits as hypotheses until observed; byte counts and model agreement
123
- are not behavioral validation. Do not make every guidance edit wait for an experiment.
138
+ Distinguish a well-supported guidance proposal from observed improvement in delivery.
139
+ Structural validity, fewer words, fewer tool calls, and model agreement do not by
140
+ themselves prove better outcomes. Use existing observations first; select a small
141
+ representative comparison only when it can resolve a material uncertainty.
142
+
143
+ For an authorized comparison, hold the accepted outcome, quality criteria, and
144
+ safeguards constant. Compare completion and relevant regressions first, then useful
145
+ available measures of elapsed work, cost, avoidable questions, and rework. A method
146
+ can improve efficiency at retained quality or improve quality within the permitted
147
+ budget. Evidence lost from an affected critical contract is not an efficiency gain.
148
+
149
+ Account for task difficulty, model/tool configuration, and repeated-task familiarity
150
+ when interpreting a result. Report what was observed and its limits; a successful
151
+ case supports its tested scope, not universal superiority. Restore or revise a trial
152
+ that misses acceptance criteria, increases material risk, or loses its expected value.
153
+ [Apply](apply.md) governs authorization and adoption. Clear supported edits can proceed
154
+ without an experiment; comparisons stay bounded to decisions that need them.
@@ -1,251 +1,118 @@
1
1
  ---
2
2
  name: clear-korean-communication
3
3
  description: >-
4
- Make a technical explanation land, and turn the decision at the end of it into
5
- something the reader can approve in one pass. Two halves of one job: (1) EXPLAIN
6
- — fix the referent first (one name often points at two things), lead with who is
7
- affected and what changes, put file paths after the claim as evidence;
8
- (2) DECIDE — present approval/choice moments in the user's four-part format
9
- 전후맥락 (context) → 추천 + 이유 (recommendation) → UI/UX 형태 (a scannable table) → ASIS→TOBE contrast, led by the recommendation so the user can
10
- say yes fast. Run it whenever you explain a bug, a cause, or what your change did
11
- — especially the moment the reader says they don't follow ("뭔 소리야", "쉽게 설명해줘",
12
- "이해가 안 돼", "I don't follow") — and whenever you are about to ask "should I do
13
- this?" ("ASIS TOBE로 설명", "이거 진행할까요?", "should I do A or B"). Do NOT fire
14
- for pure information with no decision in it, for trivial reversible actions you
15
- would just do, or for context-free word/sentence translation — that is ordinary
16
- translation.
4
+ 기술 설명과 선택·승인 요청을 사용자 관점의 한국어로 정리한다.
5
+ 맥락, 문제와 발생 원인, 해결방안과 이유, 추천방안과 이유를 표로 제시한다.
6
+ 사용자가 "뭔 소리야", "쉽게 설명해줘", "왜 문제야",
7
+ "선택지와 추천을 정리해줘"라고 하거나 중요한 선택·승인이 필요할 때 사용한다.
8
+ /clear-korean-communication만 호출하면 현재 대화의 미해결 문제나
9
+ 직전 선택 요청을 기본 표로 정리한다.
17
10
  ---
18
11
 
19
12
  # Clear Korean Communication
20
13
 
21
- A **repair-and-prevent discipline** for the moment your explanation does not land,
22
- plus the **presentation format** for the decision it usually ends in. Not a style
23
- guide — a short diagnostic you run before (and after) explaining something
24
- technical to someone who has not read the code.
14
+ 사용자가 앞선 대화나 코드를 다시 읽지 않아도 다음을 판단할 수 있게 설명한다.
25
15
 
26
- Part 1 (Explain) gets the reader to *understand*. Part 2 (Decide) gets them to
27
- *choose*. Most real messages need Part 1; only genuine approval moments need Part 2.
16
+ **무슨 상황인지 → 무엇이 왜 문제인지 → 어떤 선택지가 있는지 → 무엇을 추천하며 왜 그런지**
28
17
 
29
- ## Why this exists (and why format alone won't save you)
18
+ 설명과 의사결정을 돕는 스킬이며 작업 범위나 승인 정책 자체를 변경하지 않는다.
30
19
 
31
- A correct, well-formatted explanation can still fail completely. Observed case:
32
- an agent explained a bug in the required ASIS→TOBE decision format — tables,
33
- before/after, quantified gap — and the reader replied **"뭔 소린지 모르겠다"**.
34
- The second attempt was explicitly rewritten "from the user's perspective" and
35
- failed *again*. What actually fixed it was one drawing that separated two things
36
- that shared a name.
20
+ ## 적용
37
21
 
38
- The lesson: **when an explanation fails, the usual suspect is not tone, length,
39
- or format. It is that the reader cannot tell what you are talking about.**
40
- Reaching for a nicer format first is why the second attempt fails too.
22
+ 직접 호출되면 현재 대화에서 다음 순서로 대상을 찾는다.
41
23
 
42
- ## Sort the facts before you write
24
+ **사용자가 지정한 주제 → 미해결 문제·직전 선택 요청 → 직전 설명**
43
25
 
44
- Split the input into these four buckets and never mix them in one sentence:
26
+ 대화에서 대상을 알 수 있으면 다시 묻지 않는다. 설명할 대상 자체가 없을 때만 원문이나 주제를 요청한다.
45
27
 
46
- 1. **관찰된 출력 문제** — what you actually saw in a response, log, screen, or test run.
47
- 2. **반복되는 실패 패턴** — the same shape confirmed across several cases.
48
- 3. **원인 가설** — explains the symptom but is not yet verified.
49
- 4. **아직 검증할 수 없는 항목** — model internals, unmeasured effects, long-session
50
- claims you have no operating log for.
28
+ 직접 호출하면 사용자가 별도 형식을 지정하지 않는 한 아래 기본 표로 답한다.
51
29
 
52
- One case is not a general cause. Mark an unverified cause as a hypothesis and say
53
- how it could be checked. Do not present a guess as evidence.
30
+ 중요한 선택이나 승인을 사용자에게 요청할 때도 이 형식을 사용한다. 직접 호출하지 않은 단순 정보 전달이나 완료 보고에는 불필요하게 적용하지 않는다.
54
31
 
55
- ---
32
+ 사용자가 별도 형식을 지정하면 그 형식을 따르되, 판단에 필요한 **맥락·원인·대안·추천 이유**는 유지한다.
56
33
 
57
- # Part 1 — Explain
34
+ ## 설명 원칙
58
35
 
59
- ## Step 1 — Fix the referent (do this before anything else)
36
+ ### 1. 사용자 관점에서 설명한다
60
37
 
61
- Ask: *does any name in my explanation point at more than one thing?*
38
+ 파일·함수·오류명보다 먼저 다음을 연결한다.
62
39
 
63
- This is the dominant failure. Codebases are full of names that legitimately
64
- denote two different objects — and the writer, who holds both in their head,
65
- never notices the collision:
40
+ **사용자가 하려는 일 → 현재 상태 → 문제 또는 제약 → 발생 원인 → 실제 영향**
66
41
 
67
- | Collision shape | Example |
68
- |---|---|
69
- | Same path, two locations | `.claude/` in *this* repo vs `.claude/` in an *installed user's* project |
70
- | Same word, two layers | "config" = the file on disk vs the parsed object |
71
- | Same name, two lifecycles | "the build" = CI job vs local artifact |
72
- | Same entity, two roles | "user" = the human here vs a row in the DB |
42
+ 버그가 아니라 설계 선택, 요구사항 충돌, 환경 제약이라면 그대로 설명한다.
73
43
 
74
- If you find one: **separate and name them before explaining anything else**, and
75
- prefer a small diagram over prose — prose forces the reader to hold the split in
76
- working memory while you keep talking.
44
+ 같은 이름이 서로 다른 대상·위치·단계를 가리키면 먼저 구분하고, 실제 영향을 받는 사람을 기준으로 설명한다.
77
45
 
78
- ```
79
- ① this repo (where we develop) ② the user's project (where it gets installed)
80
- templates/skills/ ──npm──▶ .claude/skills/
81
- ```
46
+ 기술 정보는 판단에 필요한 만큼만 사용하고, 낯선 용어는 해당 맥락에서 이해할 수 있게 풀어 쓴다.
82
47
 
83
- If nothing collides, say so to yourself and move on — do not manufacture a
84
- diagram you don't need.
48
+ ### 2. 사실·가설·판단을 구분한다
85
49
 
86
- ## Step 2 — Lead with one sentence: who, and what changes
50
+ 확인된 사실과 원인, 아직 확인되지 않은 가설, 추천 판단을 섞지 않는다.
87
51
 
88
- Before any table, write **one sentence** naming the affected party and the
89
- concrete change:
52
+ 원인이 확인되지 않았다면 원인을 단정하지 말고 다음을 구분한다.
90
53
 
91
- > "Skills installed in someone's project never update, no matter how many times
92
- > they run update."
54
+ - 확인된 현상과 영향
55
+ - 가능한 원인 또는 가설
56
+ - 방향을 결정하기 위해 추가로 확인할 사항
93
57
 
94
- Test it: could the reader repeat that sentence back after reading it once? If it
95
- needs a second clause to make sense, it is not the lead sentence yet.
58
+ 수치·비용·일정·효과는 근거가 있을 때만 사용한다. 추정치는 가정을 밝히고, 표를 채우기 위해 수치나 대안을 만들지 않는다.
96
59
 
97
- Bad leads, all real patterns:
98
- - opens with a coordinate — *"`update-mode.ts:53-78` の targets array…"*
99
- - opens with mechanism — *"the render loop iterates `updated` keys, so…"*
100
- - opens with what **you** did rather than what **changed** — *"I added a sha256
101
- baseline to the install log."*
60
+ ### 3. 실제 선택 차이를 설명한다
102
61
 
103
- Coordinates and mechanism are **evidence**. They belong after the claim, never
104
- in front of it — to a reader who has not opened the file, `foo.ts:53` carries no
105
- meaning at all.
62
+ 선택지는 개수를 맞추지 말고 실제 선택할 가치가 있는 것만 제시한다. 현상 유지나 보류도 의미 있는 선택이면 포함한다.
106
63
 
107
- Name the role that is actually affected (최종 사용자 / 운영자 / 개발자 / 리뷰어 /
108
- 보안 담당자 / 의사결정자). If the end user's screen does not change, do not invent
109
- an end-user benefit — say who really benefits instead.
64
+ 각 방안은 다음 차이가 드러나게 설명한다.
110
65
 
111
- ## Step 3 — Then escalate, in this order
66
+ **무엇을 하는가 → 왜 해결되는가 → 무엇이 달라지는가 → 어떤 부담이나 위험이 있는가**
112
67
 
113
- Each rung only if the previous one left a real gap:
68
+ 비용, 일정, 품질, 사용성, 안전성, 운영 부담 등 실제 결정을 바꾸는 기준에 집중한다.
114
69
 
115
- 1. **One sentence** — who is affected, what changes.
116
- 2. **Contrast** — before vs after, or expected vs actual. A table if there are
117
- ≥3 dimensions; a two-line before/after if fewer. (If this is an approval
118
- moment, switch to Part 2 — that is where the decision format lives.)
119
- 3. **Evidence** — `file:line`, test output, measured numbers. This is where
120
- precision lives, and where it stops costing comprehension.
70
+ ### 4. 추천은 명확하게 한다
121
71
 
122
- Stop as soon as the reader has what they need. Rungs 2 and 3 are not obligations.
72
+ 사용자의 목적과 현재 제약을 기준으로 가장 적합한 방안을 추천한다.
123
73
 
124
- Separate 이득 / 손실 / 위험, and separate 측정값 from 추정값. If it was not
125
- measured, write "미측정" or "감소가 예상되지만 확인되지 않음" — never a number
126
- invented to fill a cell.
74
+ 추천에는 다음을 포함한다.
127
75
 
128
- ## Step 4 — When they say they don't follow: diagnose, don't rewrite
76
+ - 추천하는 이유
77
+ - 다른 방안보다 적합한 이유
78
+ - 감수해야 할 주요 단점
79
+ - 추천을 바꿀 수 있는 중요한 미확인 조건
129
80
 
130
- The instinct is to rewrite the same content in a softer voice. That reproduces
131
- the same defect with different words — the second failure in the observed case.
132
- Instead, ask which of these is missing, in order:
81
+ 추천은 판단이지 확인된 사실처럼 표현하지 않는다.
133
82
 
134
- | Symptom in their reply | Likely cause | Fix |
135
- |---|---|---|
136
- | "is this X or Y?" | **referent collision** | Step 1 — separate and name |
137
- | "so what?" / "and?" | no stated consequence | Step 2 — who is affected |
138
- | "why does that happen?" | jumped to fix, skipped cause | one causal sentence |
139
- | repeats your term back with a "?" | unexplained jargon | define once, in their words |
83
+ ## 기본 출력
140
84
 
141
- Their question is the diagnostic. **Read what they actually asked** rather than
142
- assuming the explanation was merely too long. In the observed case the reader's
143
- question — *"is this about installing, or about the project directory?"* — named
144
- the defect exactly, and the fix took three lines.
85
+ 표 앞에서 핵심 문제 또는 지금 필요한 판단을 한 문장으로 정리한다.
145
86
 
146
- ---
87
+ | 항목 | 내용 |
88
+ |---|---|
89
+ | **맥락** | 사용자가 하려는 일, 기대 결과, 현재 상태와 이 문제가 나온 배경 |
90
+ | **문제점** | 무엇이 문제인지, 왜 발생했는지, 누구에게 어떤 영향이 있는지 |
91
+ | **해결방안** | 실제 가능한 방안과 각각의 해결 원리, 장점·부담 |
92
+ | **추천방안** | 추천안과 이유, 주요 단점, 필요한 다음 행동 |
93
+
94
+ 선택지 비교가 복잡하면 **해결방안만 별도 비교표로 분리**한다.
95
+
96
+ ASIS → TOBE는 변경 전후 비교가 판단에 도움이 될 때만 추가한다. 기본 네 항목을 대신하지 않는다.
97
+
98
+ 문제가 없거나 조치가 필요 없다면 억지로 해결책을 만들지 말고 그 사실과 이유를 설명한다.
99
+
100
+ ## 질문과 승인
101
+
102
+ 질문·승인 여부는 기존 프로젝트 정책과 사용자 위임 범위를 따른다. 그 안에서 사용자 결정이 필요한 미해결 사항만 질문한다.
103
+
104
+ 이미 위임받은 판단은 합리적인 방안을 선택해 처리하고 이유를 설명한다.
105
+
106
+ 질문이 필요하다면 단순히 "어떻게 할까요?"라고 묻지 말고 다음이 드러나게 한다.
107
+
108
+ **무엇을 결정해야 하는지, 선택지의 차이가 무엇인지, 무엇을 추천하는지**
109
+
110
+ 설명이나 재정리 요청에 `진행할까요?` 같은 불필요한 실행 승인을 덧붙이지 않는다.
111
+
112
+ ## 품질 기준
113
+
114
+ 최종 답변만 읽어도 사용자가 다음을 설명할 수 있어야 한다.
115
+
116
+ **맥락 → 문제와 원인 → 선택지의 차이 → 추천과 그 이유**
147
117
 
148
- # Part 2 — Decide
149
-
150
- Fire this half whenever you are about to:
151
-
152
- - ask for approval before doing something ("이거 이렇게 진행할까요?")
153
- - offer the user a choice between two or more approaches
154
- - propose a change to architecture, config, scope, or plan
155
- - recommend one option over others
156
-
157
- Softer/secondary trigger: reporting "next steps" the user must sign off on ("다음
158
- 진행할 것들"). Do **not** fire for pure information with no decision in it, or for
159
- trivial reversible actions you'd just do.
160
-
161
- ## The four slots
162
-
163
- Cover all four, but **lead with the recommendation** — readers decide off the
164
- conclusion, so put it up top even though it is item 2 in the user's rule.
165
-
166
- ```
167
- 추천 + 이유 (item 2) ← lead here: the recommendation and the explicit ask
168
- 전후맥락 (item 1) ← context: the forces that make this decision necessary now
169
- UI/UX 형태 (item 3) ← one scannable table / option-list, never prose
170
- ASIS→TOBE (item 4) ← current → proposed contrast, gap made concrete
171
- ```
172
-
173
- - **추천 + 이유** — state it as a **concrete commitment in active voice** ("I'll
174
- switch X to Y"), not "we could consider maybe looking at Y". Give the short why
175
- (a line or two), then the **explicit ask**: "Approve A, or pick B?" A proposal
176
- with no actual ask leaves the loop open and guarantees another round.
177
- - **전후맥락** — the forces at play in plain language: the technical, product, or
178
- constraint pressure that makes this decision necessary *now*. Without it a
179
- reader either blindly accepts or blindly rejects.
180
- - **UI/UX 형태** — one scannable table or option list, **never a wall of prose**.
181
- Aligned columns the reader can scan vertically; pre-answer the obvious
182
- objection inline ("왜 B가 아닌가") so they don't have to ask.
183
- - **ASIS→TOBE** — columns *항목 / ASIS (현재) / TOBE (제안) / Gap*. **Quantify the
184
- gap** with a metric or cost — an unquantified gap ("느림 → 빨라짐") is rhetoric,
185
- not a basis for deciding. List trade-offs honestly, **including the downside of
186
- the recommended option**; hidden downsides surface later as distrust. Close with
187
- a one-line tail of what happens on approval ("승인 시 → …").
188
-
189
- ## Don't over-fire the table
190
-
191
- ASIS→TOBE or a comparison table earns its space only when at least one holds:
192
-
193
- - 현재 상태와 변경 후 상태를 비교해야 한다.
194
- - 실제 선택이나 승인이 필요하다.
195
- - 비용·일정·범위·위험 또는 동작 차이가 있다.
196
- - 항목을 정렬하면 판단이 실제로 쉬워진다.
197
-
198
- 단순한 버그 원인, 간단한 테스트 결과, 완료 여부, 선택지가 없는 작업 보고, 한두
199
- 문장으로 충분한 답변에는 쓰지 마라. A table around a one-sentence answer is noise,
200
- and it is the most common way this skill gets misused.
201
-
202
- ## Common failure modes to avoid
203
-
204
- - **Reaching for a nicer format first.** Format is rung 2; referent is rung 0.
205
- - **"Let me redo it from the user's perspective"** as a reflex. Perspective does
206
- not fix referent ambiguity — it just re-narrates the same confusion.
207
- - **Leading with a coordinate.** `file:line` is proof, not an opening.
208
- - **Explaining your work instead of their change.** "I added X" is a changelog
209
- entry; "your Y now does Z" is an explanation.
210
- - **Over-simplifying into vagueness.** Plain ≠ imprecise. Keep the exact numbers
211
- and paths — just put them after the claim.
212
- - **Manufacturing a diagram when nothing collides.** Cost with no benefit.
213
- - **Hedged recommendation** ("고려해볼 수 있습니다") — forces the user to do the
214
- analysis. State a commitment.
215
- - **Recommendation buried under option analysis** — lead with the lead option.
216
- - **Context but no ask** — leaves the loop open. Always end the 추천 with the ask.
217
- - **Prose instead of a table** at a real decision — skips the "UI/UX 형태" item.
218
- - **Unquantified ASIS→TOBE gap** — rhetoric, not a decision basis.
219
- - **Suppressed downsides** to make the proposal look cleaner — surfaces later as
220
- distrust. List trade-offs.
221
-
222
- ## Before you send
223
-
224
- Run the pre-send checklist in
225
- [references/pre-send-checklist.md](references/pre-send-checklist.md) — 14 checks,
226
- one pass, fix and re-check. Never append "검수했습니다" to the answer itself.
227
-
228
- ## References (read on demand, not by default)
229
-
230
- - [references/worked-examples.md](references/worked-examples.md) — the two full
231
- before→after walkthroughs: a failing explanation repaired by the Step 1–4
232
- diagnostic, and a complete four-slot decision with a quantified ASIS→TOBE table.
233
- - [references/pre-send-checklist.md](references/pre-send-checklist.md) — the 14
234
- self-checks to run before sending.
235
- - [references/why-it-works.md](references/why-it-works.md) — the named frameworks
236
- behind each rule (BLUF, RICE, Working Backwards PR/FAQ, ADR, working-memory
237
- limits). Optional: read it when you have to defend the format, not to apply it.
238
-
239
- ## Related skills
240
-
241
- A cross-cutting **communication discipline**, not a workflow. Sibling skills that
242
- produce findings or choices should render them through this one:
243
-
244
- - `audit-service-gaps` — its gap output maps directly onto the ASIS→TOBE table.
245
- - `recurrence-prevention` — when a *misexplanation* keeps recurring, that ladder
246
- decides whether it becomes a note, a rule, or a gate.
247
- - `multi-persona-review` — panel findings are input to Part 2, not a substitute
248
- for the recommendation you owe the user.
249
-
250
- This skill stops at understanding and the ask. Executing the approved change is
251
- someone else's job.
118
+ 같은 내용을 도입·표·결론에서 반복하지 않는다.