@su-record/vibe 4.1.6 → 4.1.8

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 (48) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/README.md +8 -3
  5. package/agents/en-chief-editor.md +26 -0
  6. package/agents/en-copy-editor.md +26 -0
  7. package/agents/ko-chief-editor.md +29 -0
  8. package/agents/ko-copy-editor.md +30 -0
  9. package/dist/core/check.js +3 -0
  10. package/dist/core/check.js.map +1 -1
  11. package/dist/core/checks/review.js +99 -0
  12. package/dist/core/checks/review.js.map +1 -0
  13. package/dist/core/checks/run.js +4 -1
  14. package/dist/core/checks/run.js.map +1 -1
  15. package/dist/core/lang.js +16 -0
  16. package/dist/core/lang.js.map +1 -0
  17. package/dist/core/paths.js +23 -5
  18. package/dist/core/paths.js.map +1 -1
  19. package/dist/core/scenarios.js +8 -2
  20. package/dist/core/scenarios.js.map +1 -1
  21. package/dist/core/skills.js +1 -1
  22. package/dist/core/view.js +5 -1
  23. package/dist/core/view.js.map +1 -1
  24. package/dist/install/global.js +32 -69
  25. package/dist/install/global.js.map +1 -1
  26. package/dist/install/hooks.js +121 -0
  27. package/dist/install/hooks.js.map +1 -0
  28. package/dist/install/plugin.js +49 -4
  29. package/dist/install/plugin.js.map +1 -1
  30. package/dist/install/register.js +1 -1
  31. package/dist/install/register.js.map +1 -1
  32. package/package.json +3 -1
  33. package/reviewers/en/chief-editor.md +19 -0
  34. package/reviewers/en/copy-editor.md +19 -0
  35. package/reviewers/ko/chief-editor.md +22 -0
  36. package/reviewers/ko/copy-editor.md +23 -0
  37. package/skills/antislop-en/SKILL.md +323 -0
  38. package/skills/antislop-en/references/editorial-review.md +79 -0
  39. package/skills/antislop-en/references/genres.md +145 -0
  40. package/skills/antislop-ko/SKILL.md +319 -0
  41. package/skills/antislop-ko/references/editorial-review.md +85 -0
  42. package/skills/antislop-ko/references/genres.md +169 -0
  43. package/skills/vibe/SKILL.md +5 -5
  44. package/skills/{vibe.build → vibe-build}/SKILL.md +2 -2
  45. package/skills/{vibe.discover → vibe-discover}/SKILL.md +2 -2
  46. package/skills/{vibe.handoff → vibe-handoff}/SKILL.md +3 -3
  47. package/skills/{vibe.prove → vibe-prove}/SKILL.md +3 -3
  48. package/skills/{vibe.scope → vibe-scope}/SKILL.md +4 -3
@@ -0,0 +1,319 @@
1
+ ---
2
+ name: antislop-ko
3
+ description: AI 상투문과 번역투를 걷어내고 목적·독자·장르에 맞는 한국어 글을 작성·진단·수정·전환하는 작문 기술. 대통령 담화문, 지면 칼럼, 기사, 보고서, 방송·영상 대본, 기술 문서, 블로그 등 사람이 읽거나 듣는 한국어 산출물에 사용한다.
4
+ metadata:
5
+ tags: [writing, korean, editing, composition, localization]
6
+ category: content
7
+ ---
8
+
9
+ # 한국어 작문 Skill (antislop-ko)
10
+
11
+ `antislop-ko`는 **범용 한국어 작문 기술**이다. 특정 인물이나
12
+ 한 가지 말투를 흉내 내지 않는다. 목적, 독자, 매체, 장르에 맞는 한국어를 선택한다.
13
+
14
+ ## When to Use
15
+
16
+ - 새 글을 처음부터 쓴다.
17
+ - 원문을 바꾸지 않고 진단한다.
18
+ - 사실과 의도를 지키며 필요한 부분만 고친다.
19
+ - 다른 길이·매체·장르의 한국어로 바꾼다.
20
+ - 외국어 원문을 번역투 없는 한국어로 옮긴다.
21
+
22
+ 한국어를 만들거나 고치는 요청에는 기본으로 적용한다. 코드, 구조화 자료, 검색어,
23
+ 분류 결과처럼 사람이 읽을 글이 아닌 출력에는 적용하지 않는다.
24
+
25
+ 요청이 `써 줘`면 작성, `살펴봐·평가해`면 진단, `고쳐·다듬어`면 수정,
26
+ `옮겨·바꿔 써`면 전환으로 처리한다. 사용자가 요구하지 않은 진단표나 작업 설명을
27
+ 본문 앞뒤에 붙이지 않고 완성된 산출물을 먼저 내놓는다.
28
+
29
+ ## Prerequisites
30
+
31
+ 별도 프로그램이나 인증 정보는 필요 없다. 최신 어문 규범의 확인이 필요한 요청에서는
32
+ 국립국어원 어문 규범과 표준국어대사전을 조회할 수 있어야 한다.
33
+
34
+ ## How to Run
35
+
36
+ 한국어 글 작성·진단·수정·전환 요청에 자동으로 적용한다. 명시적으로 불러야 한다면
37
+ `/antislop-ko`을 지정하고 목적, 독자, 장르, 근거와 형식을 함께 준다.
38
+
39
+ 기자·칼럼니스트·편집 책임자에게 제출할 원고처럼 반려 비용이 큰 작업에서는 초안 작성 뒤
40
+ 이 스킬 폴더의 `references/editorial-review.md`([독립 편집 검증](references/editorial-review.md))를
41
+ 읽고, 원고에 `review` 검사를 묶은 시나리오를 두어 하네스(`vibe check`)가 `ko-copy-editor`(교열
42
+ 심사자)와 `ko-chief-editor`(편집장 심사자)를 차례로 띄우게 한다. 두 심사자가 모두 `PASS`하기
43
+ 전에는 최종본으로 내보내지 않는다.
44
+
45
+ ## Quick Reference
46
+
47
+ <!-- runtime:start -->
48
+ ## 범용 한국어 작문 기술 실행 요약
49
+
50
+ 사람이 읽는 한국어를 만들거나 고칠 때 다음을 지킨다.
51
+
52
+ - 사실·수치·인용·불확실성·원문의 뜻과 형식을 먼저 지킨다. 없는 사실, 장면, 감정, 인용을 보태지 않는다.
53
+ - 쓰기 전에 목적, 독자, 매체, 화자, 근거의 경계를 정하고 자료에서 이 글에만 있는 사실·장면·판단·용어를 뽑는다. 그것만으로 뼈대를 세운다.
54
+ - 첫 문장부터 구체적인 대상·사건·쟁점으로 들어간다. 시대 선언, 주제의 중요성, 작성 예고로 분량을 채우지 않는다.
55
+ - 문단마다 중심 판단을 하나 두고 사실→해석, 주장→근거, 문제→결정처럼 실제 관계로 잇는다. 접속어로 관계를 꾸며내지 않는다.
56
+ - 모든 문장은 새 사실·판단·근거·조건·행동·장면 또는 필요한 연결을 하나 이상 보태야 한다. 다른 주제에도 붙는 문장, 앞말의 재진술, 빈 감탄은 지운다.
57
+ - 주체와 책임, 시점, 조건, 비교 기준, 지시 대상을 밝힌다. 조사·호응·수식 관계와 높임이 자연스러운 한국어 문장을 쓴다.
58
+ - 구체적인 동사를 우선한다. 불필요한 명사화·피동·복수 표지·번역투는 풀되 법률·학술 개념, 고유명사, 코드, 정착된 전문 용어는 보존한다.
59
+ - 실제 대조가 없는 `A가 아니라 B`, 근거 없는 최상급과 가치 평가, 기계적인 삼단 나열, 같은 길이·종결의 반복, 표어식 결말을 쓰지 않는다.
60
+ - 장르의 정보 단위와 호흡을 지킨다. 담화문은 책임과 약속, 지면 칼럼은 관점과 논증, 방송 대본은 한 번 듣고 이해되는 말이 중심이다.
61
+ - 제출용 원고는 매체·독자·분량·논지·근거·필자 자격·표기 원칙을 먼저 잠근다. 알려지지 않은 편집 방침을 임의로 꾸미지 않는다.
62
+ - 편집자가 사실 확인 없이 믿어야 하는 문장, 근거와 결론 사이를 건너뛴 문장, 문맥상 선행 대상이 없는 지시어, 앞 문단과 기능이 겹치는 문단을 남기지 않는다.
63
+ - 전문가에게 제출하는 보고서는 결론·판단 기준·근거·한계·조치가 서로 추적되게 쓴다. 자료에 없는 확신이나 권위를 문체로 연출하지 않는다.
64
+ - 초안 뒤 조용히 세 번 감사한다. ① 사실·조건·형식 보존 ② 문장별 정보 기여 ③ 상투문·번역투·리듬 반복. 감사 설명 없이 완성 원고만 낸다.
65
+ - 문맥·논지·근거·제출 규격이 모호해 편집 반려 위험을 안전하게 없앨 수 없으면 원고를 완성한 척하지 말고 `needs-human`으로 멈춘다.
66
+ <!-- runtime:end -->
67
+
68
+ ## Procedure
69
+
70
+ ### 편집 계약
71
+
72
+ 외부 제출용 원고를 쓰기 전에 다음을 내부 작업 기준으로 확정한다.
73
+
74
+ 1. **게재 자리**: 매체, 지면·화면·음성 여부, 꼭지의 성격과 분량.
75
+ 2. **독자와 효용**: 독자가 이미 아는 것, 새로 알아야 할 것, 읽은 뒤 판단할 것.
76
+ 3. **논지**: 한 문장으로 말할 수 있는 핵심 판단과 그 판단을 뒤집을 수 있는 반증.
77
+ 4. **근거**: 출처가 확인된 사실·수치·인용과 필자의 해석·경험을 구분하는 선.
78
+ 5. **목소리**: 필자의 자격, 사안과의 거리, 높임말, 단정할 수 있는 범위.
79
+ 6. **편집 규격**: 제목·부제·소제목·인용·숫자·고유명사·출처 표기 방식.
80
+
81
+ 매체의 문체표나 최근 게재 원고가 주어지면 그 규칙을 일반 원칙보다 우선한다. 둘이 충돌하거나
82
+ 핵심 항목이 비어 있어 결과가 크게 달라지면 한 번만 묻는다. 답을 받지 못한 상태에서 제출 가능한
83
+ 최종본이라고 표시하지 않는다.
84
+
85
+ 외부 제출용 원고는 작성자 자신의 감사로 끝내지 않는다. 이 스킬 폴더의
86
+ `references/editorial-review.md`([독립 편집 검증](references/editorial-review.md))를 읽고 `review`
87
+ 검사로 하네스가 `ko-copy-editor`, `ko-chief-editor` 를 별도 심사자로 돌리게 한다. 하네스도 에이전트도
88
+ 쓸 수 없으면 독립 검증을 거쳤다고 말하지 말고, 최종 제출 전에 사람의 편집 검토가 필요하다고 밝힌다.
89
+
90
+ ### 1. 먼저 잠글 것
91
+
92
+ 쓰기 전에 다음을 확인한다. 주어지지 않은 항목은 합리적으로 정하되, 결과를 크게
93
+ 바꾸는 모호함만 질문한다.
94
+
95
+ 1. 글의 목적: 알림, 설명, 설득, 기록, 서사, 대화 중 무엇인가.
96
+ 2. 독자: 무엇을 알고 있으며 무엇을 결정하거나 느껴야 하는가.
97
+ 3. 장르와 매체: 기사, 보고서, 연설, 소설, 대본, 기술 문서, 게시물 등 무엇인가.
98
+ 4. 근거의 경계: 확인된 사실, 인용, 추정, 예시를 어떻게 구분할 것인가.
99
+ 5. 형식: 길이, 높임말, 제목, 목록, 표, 마크다운, 호출 행동 등 무엇을 지켜야 하는가.
100
+
101
+ 브랜드 말투나 인물의 목소리가 따로 주어지면 그 요청을 따른다. 주어지지 않았다면
102
+ 글의 목적과 장르가 말투를 결정한다.
103
+
104
+ ### 2. 품질의 우선순위
105
+
106
+ 아래 순서로 판단한다. 뒤의 장점을 얻으려고 앞의 조건을 훼손하지 않는다.
107
+
108
+ 1. **진실성과 의미**: 사실, 조건, 수치, 인용과 불확실성을 지킨다.
109
+ 2. **목적 적합성**: 독자가 읽은 뒤 알아야 할 것과 해야 할 것이 분명하다.
110
+ 3. **구성과 논리**: 정보의 순서, 문단의 중심, 근거와 결론의 관계가 드러난다.
111
+ 4. **문장 정확성**: 맞춤법, 띄어쓰기, 조사, 호응, 시제와 지시 대상이 정확하다.
112
+ 5. **표현의 자연스러움**: 한국어 어순과 어휘로 곧바로 이해된다.
113
+ 6. **리듬과 목소리**: 장르에 맞는 속도, 높낮이, 반복과 여백이 살아 있다.
114
+
115
+ 짧은 문장이 언제나 좋은 것도, 긴 문장이 언제나 나쁜 것도 아니다. 한 문장에 서로
116
+ 다른 판단이 겹치거나 수식 관계가 흐려질 때 나눈다. 짧은 문장이 같은 박자로 이어져
117
+ 메모처럼 들리면 합친다.
118
+
119
+ ### 3. 한국어 문장 원칙
120
+
121
+ ### 표준어와 어문 규범
122
+
123
+ - 현행 한글 맞춤법, 표준어 규정, 외래어 표기법과 문장 부호 규정을 기준으로 삼는다.
124
+ - 규범 판단이 필요한 말은 기억에 기대어 고치지 말고 국립국어원 어문 규범과 표준국어대사전의
125
+ 현재 용례를 확인한다. 허용 표기가 여럿이면 매체의 표기 원칙과 문서 안의 일관성을 따른다.
126
+ - 의존 명사와 조사, 본용언과 보조 용언, 합성어와 구를 구분해 띄어 쓴다. 확신할 수 없는
127
+ 띄어쓰기는 발음이나 느낌으로 정하지 않는다.
128
+ - 시제와 시간 기준, 높임의 대상, 인용 주체를 문단 안에서 일관되게 유지한다. 주체를 높이는
129
+ 말과 객체를 높이는 말을 뒤섞거나 높임을 겹치지 않는다.
130
+ - 영어식 무생물 주어, 과도한 `-들`, `가지다`, `통해`, `대한`, `기반으로`, 불필요한 피동은
131
+ 한국어의 행위 주체와 관계가 드러나게 고친다. 다만 정확한 원인·수단 관계까지 바꾸지 않는다.
132
+ - 숫자, 단위, 날짜, 외래 인명·지명, 작품명과 인용 부호는 해당 장르의 표기 관행을 정한 뒤
133
+ 끝까지 같은 방식으로 쓴다.
134
+
135
+ ### 문장 뼈대
136
+
137
+ - 주어와 서술어, 목적어와 서술어가 실제로 호응하는지 본다.
138
+ - 한국어에서 자연스럽게 생략되는 주어를 억지로 되풀이하지 않는다. 다만 행동 주체가
139
+ 바뀌거나 책임 소재가 중요하면 밝힌다.
140
+ - 수식어는 꾸미는 말 가까이에 둔다. 여러 관형절이 한 명사를 에워싸면 문장을 푼다.
141
+ - 한 문장에는 중심 판단을 하나 둔다. 예외와 조건은 적용 대상을 알아볼 수 있게 붙인다.
142
+ - 조사 하나로 관계가 선명해지면 쉼표나 문장 분할보다 조사를 고친다.
143
+
144
+ ### 번역투와 명사 중심 표현
145
+
146
+ 다음 꼴을 발견하면 자동으로 지우지 말고, 누가 무엇을 하는지 흐리는지 확인한다.
147
+
148
+ - `~에 대해`, `~을 통해`, `~에 기반한`, `~의 경우`, `~하는 데 있어`
149
+ - `~을 제공한다`, `~을 가지고 있다`, `~에 위치한다`, `~를 가능하게 한다`
150
+ - `~되어지다`, 불필요한 피동과 사동, 책임 주체를 감춘 표현
151
+ - `~하는 것`, `~임`, `~에 대한 ~의 ~`가 이어지는 명사 덩어리
152
+
153
+ 행위와 주체가 중요한 문장은 동사로 푼다. 법률·행정·학술 문서에서 개념을 정확히
154
+ 가리키는 명사화는 유지한다.
155
+
156
+ ### 어휘
157
+
158
+ - 넓고 멋있어 보이는 말보다 문맥에 맞는 구체적인 동사와 명사를 쓴다.
159
+ - `매우`, `혁신적인`, `효과적인` 같은 평가는 근거가 있을 때만 쓴다.
160
+ - 같은 대상을 다른 동의어로 바꿔 부르지 않는다. 용어를 일관되게 쓴다.
161
+ - 관용구와 속담은 뜻과 분위기가 맞을 때만 쓴다.
162
+ - 독자가 모를 전문 용어는 처음 나올 때 짧게 풀어 쓴다.
163
+
164
+ ### 외래어와 외국어
165
+
166
+ 외국어의 존재가 아니라 **독자의 이해와 표현의 정확성**을 판단한다.
167
+
168
+ 1. 고유명사, 제품명, 코드, 표준 약어인가? 그대로 둔다.
169
+ 2. 해당 분야에서 정착된 용어이며 한국어로 바꾸면 더 모호해지는가? 그대로 두고 필요하면 설명한다.
170
+ 3. 자연스러운 한국어가 같은 뜻을 더 곧바로 전하는가? 한국어를 쓴다.
171
+ 4. 여러 뜻이 가능한가? 문맥에 맞춰 `문제·쟁점·사안`, `갱신·수정·새 소식`처럼 구체화한다.
172
+
173
+ 예: `API`, `JSON`, `Python`, `GitHub`은 억지로 번역하지 않는다. 반면 `인사이트를
174
+ 업데이트하고 피드백한다`는 문맥에 따라 `새로 얻은 통찰을 반영하고 의견을 나눈다`처럼
175
+ 뜻을 밝혀 쓴다. 낱말 비율이나 금지 목록만으로 판정하지 않는다.
176
+
177
+ ### 맞춤법과 문장 부호
178
+
179
+ - 맞춤법, 띄어쓰기와 표준어는 국립국어원 규범을 따르되 인물의 대사, 인용과 의도적인
180
+ 비표준 표현은 함부로 고치지 않는다.
181
+ - 의존 명사, 조사와 어미를 구분하고 `것·수·데·바` 같은 말의 띄어쓰기를 문맥에서 확인한다.
182
+ - 쉼표는 호흡 표시가 아니라 문장 관계를 밝힐 때 쓴다. 쉼표로 긴 문장을 버티지 않는다.
183
+ - 큰따옴표·작은따옴표·괄호·가운뎃점은 문서 안에서 한 방식으로 쓴다.
184
+ - 높임말과 종결 어미는 독자와 상황에 맞춰 정한 뒤 한 글 안에서 까닭 없이 오가지 않는다.
185
+
186
+ ### 4. 문단과 구성
187
+
188
+ - 한 문단에는 한 중심 생각을 둔다. 첫 문장이나 앞 문맥에서 그 중심을 알아볼 수 있어야 한다.
189
+ - 주장 뒤에는 근거, 사례, 수치, 관찰 가운데 필요한 것을 붙인다.
190
+ - 문단 사이의 관계가 바뀔 때만 접속 표현을 쓴다. `또한`, `한편`, `따라서`를 장식처럼 붙이지 않는다.
191
+ - 독자가 알아야 하는 순서와 작성자가 알아낸 순서를 구분한다.
192
+ - 도입은 주제와 읽을 이유를 밝힌다. 과장된 질문이나 선언으로 억지로 붙잡지 않는다.
193
+ - 맺음은 앞의 내용을 되풀이하는 표어가 아니라 결론, 판단, 여운 또는 다음 행동으로 끝낸다.
194
+
195
+ 설득 공식은 목적에 맞을 때만 쓴다. 기사, 회의록, 보고서, 설명문에 광고의 문제-자극-해결
196
+ 구조나 행동 촉구를 자동으로 넣지 않는다.
197
+
198
+ ### 5. 리듬과 목소리
199
+
200
+ - 문장 길이와 종결 형태를 내용의 무게에 맞게 바꾼다.
201
+ - 의도적인 반복은 강조, 기억, 감정의 상승에 기여할 때 살린다.
202
+ - 같은 대조 구문, 삼단 나열, 단정형 종결이 습관처럼 되풀이되면 다른 관계로 푼다.
203
+ - 소리 내어 읽었을 때 숨이 막히는 곳, 뜻과 무관하게 끊기는 곳, 조사와 음절이 부딪히는 곳을 고친다.
204
+ - 저자의 개성은 문장 길이나 유행어 하나가 아니라 관찰의 선택, 어휘, 거리감, 리듬에서 나온다.
205
+
206
+ ## Pitfalls
207
+
208
+ ### AI 상투문을 걷어내는 기준
209
+
210
+ AI 상투문은 특정 낱말이 아니라 **근거 없이 어디에나 붙일 수 있는 문장**이다. 다음 순서로
211
+ 찾아 고친다.
212
+
213
+ 1. 문장마다 이 글에서 맡은 역할을 확인한다. 새 사실, 판단, 근거, 조건, 행동, 장면이나
214
+ 문장 사이의 관계를 보태지 않으면 지운다.
215
+ 2. 주제만 바꿔도 성립하는 도입과 결말을 지운다. `현대 사회에서`, `그 어느 때보다`,
216
+ `우리에게 시사하는 바가 크다` 같은 말은 구체적인 사실이나 판단으로 대체할 근거가
217
+ 있을 때만 다시 쓴다.
218
+ 3. 실제 논리 관계가 없는 대조, 삼단 나열과 접속어를 푼다. 문장을 일부러 비대칭으로
219
+ 만드는 것이 아니라 생각의 실제 구조를 따른다.
220
+ 4. 추상 명사와 평가어가 이어지면 누가 무엇을 했고 무엇이 달라졌는지 쓴다. 근거가 없으면
221
+ 강한 말로 메우지 않는다.
222
+ 5. 모든 문장을 매끈한 한 가지 말투로 평탄화하지 않는다. 원문에 관찰 방식, 거리감,
223
+ 전문 분야의 어휘나 의도적인 리듬이 있으면 보존한다.
224
+ 6. `이 글에서는`, `살펴보았다`, `결론적으로 알 수 있다`처럼 글의 진행을 중계하는 문장은
225
+ 독자의 길잡이로 꼭 필요하지 않으면 본문에서 뺀다.
226
+ 7. `중요하다`, `필요하다`, `기대된다`, `주목된다`로 끝나는 문장은 누가 왜 그렇게 판단하는지,
227
+ 무엇이 달라지는지 밝힌다. 밝힐 근거가 없으면 문장 자체를 지운다.
228
+ 8. 인접한 문단이 모두 주장-설명-강조의 같은 모양이거나 모든 문장이 비슷한 음절 수로 끝나면
229
+ 생각의 실제 무게에 맞춰 합치거나 나눈다. 일부러 문장 길이를 무작위로 바꾸지는 않는다.
230
+ 9. 제목과 소제목은 내용을 분류하거나 논지를 전진시킬 때만 둔다. 짧은 글을 잘게 쪼개거나
231
+ 제목과 첫 문장에서 같은 말을 되풀이하지 않는다.
232
+
233
+ 금지어 목록을 기계적으로 적용하지 않는다. 같은 표현도 정확한 사실 관계를 나타내거나
234
+ 장르상 필요한 경우에는 쓸 수 있다. 판단 기준은 낱말의 존재가 아니라 그 문장이 글에
235
+ 실질적인 내용을 보태는가이다.
236
+
237
+ 다음 모양은 금지어처럼 지우지 말고, 실제 논리나 리듬이 없을 때만 고친다.
238
+
239
+ - 근거 없는 `중요하다·혁신적이다·주목해야 한다`와 내용 없는 자신감
240
+ - 실제 대조가 없는데 반복하는 `A가 아니라 B다`, `단순한 A를 넘어 B다`
241
+ - 모든 문단을 같은 길이와 같은 삼단 나열로 맞추는 습관
242
+ - `또한·한편·결국·핵심은`으로 관계를 설명한 척하는 문장
243
+ - 앞 내용을 표어로 한 번 더 말하는 결말과 억지 행동 촉구
244
+
245
+ 장르별 판단이 필요하면 [장르별 작문법](references/genres.md)에서 해당 절만 읽는다.
246
+
247
+ ## Procedure by Task
248
+
249
+ ### 작성
250
+
251
+ 1. 목적·독자·근거·형식을 잠근다.
252
+ 2. 독자가 따라갈 정보 순서를 잡는다.
253
+ 3. 첫 초안에서는 내용을 빠뜨리지 않는다.
254
+ 4. 문단, 문장, 어휘, 리듬 순서로 다듬는다.
255
+ 5. 의미와 형식이 보존됐는지 대조한다.
256
+
257
+ 근거에 없는 사실, 수치, 인용, 경험을 그럴듯하게 만들지 않는다. 설명용 가정이나 예시는
258
+ 처음과 결론에서 실제 사실과 구분한다.
259
+
260
+ 초안을 낸 뒤에는 다음 네 번만 고친다. 첫째, 빠진 사실과 논리의 비약을 찾는다. 둘째,
261
+ 문단의 순서와 중심을 바로잡는다. 셋째, 호응·조사·수식 관계와 어휘를 고친다. 넷째,
262
+ 소리 내어 읽으며 리듬과 군더더기를 다듬는다. 뒤 단계에서 앞 단계의 정확성을 해치면 되돌린다.
263
+
264
+ ### 진단
265
+
266
+ 원문을 바꾸지 않는다. 다음 순서로 답한다.
267
+
268
+ - 보존할 점
269
+ - 발견 사항: 심각도, 정확한 위치, 독자에게 미치는 영향, 고치는 이유
270
+ - 사람이 결정할 사항
271
+ - 종합 판정
272
+
273
+ 취향과 오류를 구분한다. 위치와 독자 영향을 말할 수 없는 문제는 지적하지 않는다.
274
+
275
+ ### 수정
276
+
277
+ - 이미 정확하고 자연스러운 부분은 유지한다.
278
+ - 각 수정이 해결하는 문제를 설명할 수 있어야 한다.
279
+ - 단지 다르게 보이기 위한 동의어 교체, 문장 분할, 구두점 변경을 하지 않는다.
280
+ - 모호해서 사실이나 의도를 안전하게 결정할 수 없으면 `needs-human`으로 멈춘다.
281
+
282
+ ### 한국어로 옮기기
283
+
284
+ 외국어 문장의 껍데기를 따라가지 말고 의미 단위로 다시 세운다. 정보 순서와 문장 경계는
285
+ 바꿀 수 있지만 사실, 논리, 조건, 태도와 전문 용어의 정확성은 유지한다.
286
+
287
+ ## Preservation Contract
288
+
289
+ 작성 근거나 원문이 있을 때 다음 항목을 추가·삭제·강화·약화하지 않는다.
290
+
291
+ - 사실, 인용, 저자의 입장과 불확실성
292
+ - 숫자, 날짜, 버전, 단위, 비교와 조건
293
+ - 명령어, 경로, URL, 오류 코드, 제품명과 식별자
294
+ - 예외, 제한, 위험, 승인, 되돌리는 방법과 다음 행동
295
+ - 행동 주체, 소유자, 인계 관계와 발행 권한
296
+ - 제목 단계, 목록, 표, 링크, 코드 블록 등 요청된 문서 구조
297
+
298
+ 수정 뒤 원문과 대조한다. 자동 검사나 의미 감사에서 거절된 수정문은 사용하지 않는다.
299
+ 실패를 `수정할 필요 없음`으로 기록하지 않는다.
300
+
301
+ ## Verification
302
+
303
+ - 사실과 의미가 근거 안에 있는가?
304
+ - 목적, 독자, 장르가 문장과 구성에 드러나는가?
305
+ - 주체, 조건, 지시 대상과 문장 호응이 선명한가?
306
+ - 문단마다 중심이 있고 앞뒤 관계가 이어지는가?
307
+ - 더 정확하고 자연스러운 한국어가 있는데 외래 표현을 습관적으로 쓰지 않았는가?
308
+ - 정착된 전문 용어와 고유명사를 억지로 바꾸지 않았는가?
309
+ - 문장 길이, 종결, 대조와 나열이 한 가지 틀로 반복되지 않는가?
310
+ - 요청된 사실·수치·주소·코드·마크다운·승인 조건이 모두 남아 있는가?
311
+ - 첫 문장과 마지막 문장을 다른 주제의 글에 옮겨도 성립하지 않는가?
312
+ - 각 문장이 앞 문장에 없던 정보나 판단을 실제로 보태는가?
313
+ - 화려한 평가어를 지웠을 때 남는 사실과 논리가 충분한가?
314
+ - 문단의 길이와 문장 종결이 내용 때문이 아니라 틀처럼 반복되지는 않는가?
315
+ - 제목·도입·본문·결말이 같은 주장을 표현만 바꿔 반복하지 않는가?
316
+ - 모든 대명사와 지시어의 선행 대상, 모든 평가의 판단 주체와 근거를 바로 찾을 수 있는가?
317
+ - 편집자가 삭제해도 정보나 논지가 달라지지 않는 문장과 문단이 남아 있지 않은가?
318
+ - 결론에서 근거로, 수치와 인용에서 출처로 거슬러 올라갈 수 있는가?
319
+ - 매체의 분량·표기·어조 규칙을 확인했는가? 확인하지 못했다면 그 사실을 숨기지 않았는가?
@@ -0,0 +1,85 @@
1
+ # 독립 편집 검증
2
+
3
+ 이 절차는 기자, 칼럼니스트, 편집 책임자나 외부 기관에 제출할 한국어 원고에 적용한다.
4
+ 일상적인 메일, 메모와 초안에는 자동으로 적용하지 않는다.
5
+
6
+ ## 원칙
7
+
8
+ - 작성자와 심사자는 서로 다른 에이전트여야 한다. 작성자가 심사자 역할을 흉내 내며 자체 판정하지 않는다.
9
+ - 심사자에게 작성 과정, 작성자의 자기평가와 의도한 정답을 주지 않는다.
10
+ - 심사자는 원고를 대신 써 주지 않는다. 정확한 반려 지점, 독자에게 미치는 영향과 수정 조건만 반환한다.
11
+ - 문체 취향과 결함을 구분한다. 위치와 영향을 특정할 수 없는 취향 차이는 반려 사유가 아니다.
12
+ - 형식에 맞는 모든 반려 항목은 수정하거나 사람에게 넘긴다. 작성 에이전트가 임의로 무효화하거나
13
+ 일부만 골라 반영할 수 없다.
14
+
15
+ ## 심사자
16
+
17
+ 두 심사자는 vibe 패키지의 `reviewers/ko/` 에 프롬프트로 들어 있고, 같은 내용이 클라이언트 에이전트로도
18
+ 설치된다 (Claude Code 는 `agents/ko-copy-editor.md`·`agents/ko-chief-editor.md`, Codex 는 플러그인 트리의
19
+ `agents/*.toml`).
20
+
21
+ | 단계 | 심사자 | 역할 |
22
+ |---|---|---|
23
+ | 1차 | `ko-copy-editor` | 교열 심사자: 문장·규범·표기 결함 판정 |
24
+ | 2차 | `ko-chief-editor` | 편집장 심사자: 게재·제출 가능 여부 판정 |
25
+
26
+ ## 하네스가 심사한다
27
+
28
+ vibe 안에서는 심사를 모델이 돌리지 않는다. 원고에 `review` 검사를 묶은 시나리오를 두고 `vibe check` 로
29
+ 하네스가 두 심사자를 차례로 띄운다.
30
+
31
+ ```yaml
32
+ - id: column-review
33
+ then: the column passes the copy editor and the chief editor
34
+ check: { type: review, path: out/column.md, contract: out/contract.md, evidence: out/evidence.md }
35
+ ```
36
+
37
+ - `path` 는 심사할 원고 전문, `contract` 는 편집 계약, `evidence` 는 근거 장부다. 둘은 생략할 수 있지만
38
+ 제출용 원고에는 둘 다 파일로 둔다. `lang` 을 적지 않으면 원고의 문자로 판별한다.
39
+ - 하네스는 `reviewers/ko/copy-editor.md` 를 먼저, 통과하면 `reviewers/ko/chief-editor.md` 를 띄운다.
40
+ 응답 전체가 정확히 `PASS` 한 줄일 때만 그 단계가 통과다. `REJECT` 목록과 형식이 다른 응답은 모두
41
+ 실패이고, 응답은 evidence 의 `tail` 에 남는다.
42
+ - 같은 실패가 두 번 이어지면 하네스가 STUCK 으로 멈추고 인박스에 묻는다. 작성자는 `REJECT` 항목을
43
+ 최소 범위로 고친 뒤 `vibe check` 를 다시 돌린다. 근거와 충돌하거나 취향만을 강요하는 항목이라
44
+ 수정할 수 없으면 버리지 말고 충돌 내용과 함께 `vibe ask` 로 넘긴다.
45
+
46
+ ## 심사자 입력 묶음
47
+
48
+ 하네스는 각 심사자에게 다음만 전달한다. 작성 과정과 작성자의 자기평가는 넣지 않는다.
49
+
50
+ 1. 편집 계약: 매체, 꼭지, 독자, 목적, 분량, 어조, 표기 원칙과 마감 상태.
51
+ 2. 근거 장부: 사실·수치·인용과 출처, 필자의 경험·해석, 확인하지 못한 사항.
52
+ 3. 심사할 원고 전문: 제목, 본문, 표, 주석과 출처를 생략하지 않는다.
53
+
54
+ 입력 묶음에 실제 제출 규격이나 핵심 근거가 없으면 심사자는 심사를 진행한 척하지 말고 `NEEDS-HUMAN` 으로
55
+ 돌려보낸다. 하네스는 그것도 실패로 기록한다.
56
+
57
+ ## vibe 밖에서
58
+
59
+ 하네스 없이 이 스킬만 있는 환경에서는 같은 두 심사자를 별도 에이전트로 직접 띄운다 (Claude Code 는
60
+ Agent 도구, Codex 는 서브에이전트 스폰). 1차가 `PASS` 한 뒤에만 2차를 부르고, 완료된 호출 결과만
61
+ 판정에 쓴다. 에이전트를 띄울 수 없으면 독립 검증을 거쳤다고 말하지 말고 사람의 편집 검토가 필요하다고
62
+ 밝힌다.
63
+
64
+ ## 위임 실패 처리
65
+
66
+ - 완료된 에이전트 호출 결과만 판정에 사용한다. 백그라운드 작업의 시작 응답, 진행 로그와
67
+ 에이전트의 자기보고는 `PASS`가 아니다.
68
+ - `PASS`는 앞뒤 공백을 제거한 전체 응답이 정확히 `PASS` 한 줄일 때만 인정한다. `PASS` 뒤에
69
+ 설명·경고·조건이 붙으면 통과가 아니다. 그 밖의 응답은 완전한 `REJECT` 형식을 갖춰야 하며,
70
+ 도구 오류, 시간 초과, 빈 응답, 잘린 응답과 형식이 다른 응답은 모두 심사 실패다.
71
+ - 심사 실패 때 같은 입력으로 같은 종류의 심사를 한 번만 다시 돌린다. 재시도도 실패하면
72
+ 독립 심사를 통과하지 못한 것으로 보고 `needs-human`으로 멈춘다.
73
+ - `REJECT` 항목이 정해진 필드를 빠뜨렸으면 형식 오류로 처리한다. 작성자가 의미를 추측해 고치지 않는다.
74
+
75
+ ## 종료 조건
76
+
77
+ - 1차와 2차가 같은 판본에 차례로 `PASS`해야 최종본이다.
78
+ - 한 번이라도 수정하면 이전 `PASS`는 무효다.
79
+ - 작성자는 형식에 맞는 `REJECT` 항목을 면제할 권한이 없다. 수정할 수 없는 항목 하나만 있어도
80
+ 최종본을 내보내지 않고 `needs-human`으로 멈춘다.
81
+ - 전체 수정 주기는 최대 세 번이다. 세 번째에도 `REJECT`이면 unresolved 항목과 필요한 사람의
82
+ 결정을 적어 `needs-human`으로 멈춘다.
83
+ - 심사자가 근거와 충돌하는 수정을 요구하면 따르지 않는다. 충돌 지점과 원문 근거를 남겨
84
+ `needs-human`으로 넘긴다.
85
+ - 최종 응답에는 사용자가 요구한 원고만 먼저 제시한다. 심사 과정과 판정표는 요청받았을 때만 붙인다.
@@ -0,0 +1,169 @@
1
+ # 장르별 작문법
2
+
3
+ 공통 원칙은 상위 `SKILL.md`에 있다. 이 문서는 장르 때문에 달라지는 판단만
4
+ 덧붙인다. 어느 절도 특정 인물의 고정 문체를 요구하지 않는다.
5
+
6
+ ## 기사·뉴스
7
+
8
+ - 첫머리에 가장 중요한 새 사실과 그 영향을 둔다.
9
+ - 사실, 발언, 해석을 문장 차원에서 구분하고 출처를 붙인다.
10
+ - 제목은 본문보다 세게 단정하지 않는다. 인과관계가 확인되지 않았으면 원인처럼 쓰지 않는다.
11
+ - 배경은 현재 소식을 이해하는 데 필요한 만큼만 뒤에 보탠다.
12
+
13
+ ## 칼럼·수필
14
+
15
+ - 관점과 판단의 주체를 숨기지 않는다.
16
+ - 사례는 주장을 꾸미는 장식이 아니라 생각을 움직이는 근거로 쓴다.
17
+ - 개인 경험에서 일반 결론으로 건너갈 때 그 한계를 밝힌다.
18
+ - 결말은 이미 한 말을 표어로 반복하기보다 판단의 변화나 남은 질문을 보여 준다.
19
+
20
+ ## 인쇄물·지면 글
21
+
22
+ - 제목, 부제, 본문, 상자글처럼 지면의 위계를 문장에도 반영한다.
23
+ - 앞뒤 면을 오가지 않아도 이해되도록 약어와 지시어를 관리한다.
24
+ - 좁은 칼럼에서는 긴 숫자·주소·영문 덩어리가 읽기 흐름을 깨지 않는지 본다.
25
+ - 소리보다 눈으로 읽는 매체이므로 문단 경계와 문장 부호를 분명히 한다.
26
+
27
+ ### 지류 신문 칼럼
28
+
29
+ - 논제를 한 문장으로 좁히고 필자의 판단을 숨기지 않는다. 여러 현안을 백화점처럼 늘어놓지 않는다.
30
+ - 도입은 현장, 인물, 수치, 발언, 문서나 명확한 쟁점 가운데 하나에서 시작한다. 시대 진단과
31
+ 거대한 질문으로 분위기부터 만들지 않는다.
32
+ - 사례는 논지의 증거여야 한다. 흥미로운 일화를 붙인 뒤 논증과 연결하지 않는 구성을 피한다.
33
+ - 사실과 해석, 필자의 가치 판단을 문장 차원에서 구분한다. 반론은 허수아비로 만들지 말고
34
+ 가장 강한 형태로 소개한 뒤 답한다.
35
+ - 지면의 제한 안에서 한 문단이 논지를 한 칸씩 전진시켜야 한다. 같은 판단을 표현만 바꿔
36
+ 반복하면 문단을 합치거나 덜어낸다.
37
+ - 결말은 교훈, 독자 훈계, 막연한 희망으로 닫지 않는다. 앞선 근거에서 도출한 판단, 남은
38
+ 모순, 구체적인 선택이나 되돌아볼 장면으로 끝낸다.
39
+
40
+ ## 연설문·담화문
41
+
42
+ - 청중이 한 번 듣고 따라갈 수 있도록 핵심어와 논리 단계를 되짚어 준다.
43
+ - 낭독자의 숨과 강조 지점을 고려해 문장 길이를 조절한다.
44
+ - 호칭, 책임 주체, 약속과 요청을 분명히 한다.
45
+ - 반복과 병렬은 기억과 감정의 흐름을 만들 때만 사용한다.
46
+
47
+ ### 대통령 담화문
48
+
49
+ - 취임사·기념사·정책 연설·위기 담화·사과문을 구분한다. 국가적 말투라는 이유로 모든 원고를
50
+ 장엄한 수사와 애국적 상징으로 채우지 않는다.
51
+ - 첫머리에서 청중을 정확히 호명하고 발언의 계기와 사안을 밝힌다. 의례적 감사와 역사적
52
+ 수사는 사건 이해에 필요할 때만 둔다.
53
+ - 확인된 상황, 정부의 판단, 국가와 대통령의 책임, 이미 내린 결정, 앞으로 할 조치, 국민에게
54
+ 요청할 일을 서로 섞지 않는다.
55
+ - 잘못이나 피해가 있는 담화에서는 피해와 책임을 능동문으로 밝힌다. `유감스럽게 생각한다`,
56
+ `혼란이 있었다`처럼 행위자와 피해를 지우는 말로 사과를 대신하지 않는다.
57
+ - 정책 약속에는 행동 주체, 대상, 수단과 확인 가능한 시점을 붙인다. 권한 밖의 결과나 측정하지
58
+ 않은 효과를 단정하지 않는다.
59
+ - 국민 통합, 역사, 희생을 말할 때 실제 사안과 연결한다. `위대한 국민`, `새로운 도약`,
60
+ `하나 된 힘`을 근거 없이 반복해 감정을 대신하지 않는다.
61
+ - 낭독 시 한 호흡에 핵심 판단 하나가 들리게 한다. 호칭 반복, 병렬과 후렴은 논리 구획이나
62
+ 책임의 강조에 필요할 때만 쓴다.
63
+ - 끝맺음은 막연한 동참 호소보다 정부가 먼저 할 일과 국민이 확인할 기준을 남긴다.
64
+
65
+ ## 소설·서사
66
+
67
+ - 설명으로 감정을 이름 붙이기 전에 행동, 감각, 선택과 장면으로 드러낼 수 있는지 본다.
68
+ - 서술 시점과 인물이 알 수 있는 정보의 범위를 지킨다.
69
+ - 인물마다 관찰과 어휘의 범위가 같아지지 않게 한다.
70
+ - 낯선 표현과 비문을 구분한다. 의도적인 파격은 효과가 있을 때 보존한다.
71
+
72
+ ## 대본·대화
73
+
74
+ - 실제 입말처럼 보이게 군더더기를 늘리는 것이 아니라, 인물의 목적과 관계가 대사에 나타나게 한다.
75
+ - 인물들이 이미 아는 사실을 독자에게 설명하려고 부자연스럽게 말하지 않게 한다.
76
+ - 행동 지문은 촬영·연기·청취에 필요한 정보만 담는다.
77
+ - 자막이나 음성용이면 한 호흡의 길이, 동음이의어, 화면과 말의 중복을 확인한다.
78
+
79
+ ### 뉴스·시사 리포트
80
+
81
+ - 첫 문장에 가장 새로운 사실을 놓고 출처와 시점을 붙인다. 앵커 도입, 기자 리포트와 인터뷰가
82
+ 같은 정보를 세 번 되풀이하지 않게 역할을 나눈다.
83
+ - 화면으로 확인되는 장면은 말로 묘사만 하지 않는다. 내레이션은 화면에 없는 원인, 규모,
84
+ 전후 관계와 의미를 보탠다.
85
+ - 숫자는 한 호흡에 비교할 수 있는 만큼만 제시하고 기준을 먼저 말한다. 인용은 발언자의 지위와
86
+ 발언 맥락을 잃지 않게 자른다.
87
+ - 사실 보도와 기자의 해석을 구분하며 의혹, 추정, 확인 불가 상태를 단정형 종결로 바꾸지 않는다.
88
+
89
+ ### 다큐멘터리·교양 내레이션
90
+
91
+ - 장면이 먼저 말하게 두고, 내레이션은 시간의 이동과 보이지 않는 맥락을 연결한다.
92
+ - 감정을 `가슴 아픈`, `놀라운`으로 미리 지시하지 않는다. 인물의 행동, 목소리, 환경과 선택이
93
+ 감정을 만들게 한다.
94
+ - 문어체 자료를 그대로 읽지 말고 귀로 구별되는 어순으로 다시 쓴다. 같은 소리가 겹치는 말,
95
+ 긴 관형절과 괄호 설명은 푼다.
96
+
97
+ ### 숏폼·온라인 영상
98
+
99
+ - 첫 문장은 허위 긴박감이나 과장된 질문이 아니라 시청자가 얻을 구체적인 정보나 갈등을 준다.
100
+ - 초 단위 길이보다 발화 속도와 화면 전환을 함께 본다. 한 장면에는 말의 기능을 하나만 둔다.
101
+ - `충격`, `소름`, `무조건`, `아직도 모르세요?` 같은 압박 문구를 사실의 강도로 바꿔 쓰지 않는다.
102
+ - 자막은 음성을 전사하지 말고 고유명사, 수치, 대비점처럼 눈으로 확인할 정보만 압축한다.
103
+
104
+ ### 인터뷰·토크·드라마 대사
105
+
106
+ - 질문은 답을 미리 넣거나 두 쟁점을 한꺼번에 묻지 않는다. 후속 질문은 직전 답변의 구체적인
107
+ 말에서 출발한다.
108
+ - 모든 인물이 완성된 논설문처럼 말하지 않게 한다. 지식 범위, 관계, 목적과 감정에 따라 어휘,
109
+ 생략, 망설임과 문장 길이를 달리한다.
110
+ - 입말을 흉내 내려고 군더더기와 유행어를 뿌리지 않는다. 대사마다 상대에게 하려는 일이 있어야 한다.
111
+
112
+ ## 공공·법률 문서
113
+
114
+ - 권리, 의무, 금지, 예외, 기한과 책임 주체를 정확히 밝힌다.
115
+ - 쉬운 말로 바꾸더라도 법적 개념과 적용 범위를 넓히거나 좁히지 않는다.
116
+ - 정의한 용어는 동의어로 바꾸지 않고 끝까지 같은 말로 쓴다.
117
+ - 독자가 해야 할 일은 조건, 절차, 기한, 문의처 순으로 찾을 수 있게 한다.
118
+
119
+ ## 기술 문서
120
+
121
+ - 사용자가 얻을 결과와 전제 조건을 먼저 밝힌다.
122
+ - 명령어, 경로, 버전, 코드, 옵션 이름은 원문 그대로 보존한다.
123
+ - 한 단계에는 확인 가능한 행동 하나를 두고 예상 결과와 실패 시 조치를 적는다.
124
+ - `API`, `JSON`, 제품명처럼 정착된 용어는 유지하되 처음 보는 독자에게 필요한 뜻은 풀어 쓴다.
125
+
126
+ ## 보고서·회의록·운영 기록
127
+
128
+ - 관찰한 사실, 해석, 결정, 미결 사항을 구분한다.
129
+ - 결론과 근거가 떨어져 있으면 서로 찾을 수 있게 제목이나 참조를 둔다.
130
+ - 담당자, 기한, 의존 관계와 승인 상태를 빠뜨리지 않는다.
131
+ - 회의록은 발언의 문체보다 결정과 책임을 정확히 보존한다.
132
+
133
+ ### 편집 책임자에게 제출하는 보고서
134
+
135
+ - 첫 화면이나 첫 면에서 보고 목적, 핵심 결론, 판단이 필요한 사안을 찾을 수 있게 한다. 배경부터
136
+ 길게 설명해 결론을 숨기지 않는다.
137
+ - 사실, 취재·조사 결과, 해석, 제안과 미확인 사항을 문장과 표의 표지로 구분한다. 출처 없는
138
+ `업계에서는`, `대체로`, `관계자에 따르면`을 쓰지 않는다.
139
+ - 결론마다 바로 확인할 수 있는 근거를 붙이거나 절·표·출처를 가리킨다. 근거가 결론을 일부만
140
+ 지지하면 범위를 좁히고 한계를 밝힌다.
141
+ - 수치에는 기준 시점, 모집단, 단위, 비교 대상과 출처를 붙인다. 같은 개념을 다른 용어로 바꾸거나
142
+ 같은 용어를 서로 다른 뜻으로 쓰지 않는다.
143
+ - 자료를 나열한 뒤 독자에게 판단을 떠넘기지 않는다. 자료가 무엇을 뜻하는지, 어떤 선택지가
144
+ 있으며 무엇을 권하는지, 그 판단의 비용과 위험이 무엇인지 분명히 쓴다.
145
+ - 문단마다 삭제 검사를 한다. 문단을 빼도 결론·근거·조건·행동이 달라지지 않으면 삭제하거나
146
+ 필요한 문단에 합친다.
147
+ - 제목은 보고서의 실제 상태를 드러낸다. 검토안, 잠정 결론, 확정 결정, 조사 중인 사안을
148
+ 같은 확정형 제목으로 포장하지 않는다.
149
+
150
+ ## 카드뉴스·발표 자료
151
+
152
+ - 화면 하나에는 중심 주장이나 정보 하나만 두고, 제목과 본문이 같은 말을 되풀이하지 않게 한다.
153
+ - 짧게 줄이더라도 주체, 조건, 비교 기준과 출처를 생략해 뜻을 바꾸지 않는다.
154
+ - 낱장만 보아도 핵심 맥락을 이해할 수 있게 하되, 앞뒤 장의 흐름과 결론은 이어지게 한다.
155
+ - 발표 대본은 화면 문구를 그대로 읽지 말고 근거, 예시와 전환 이유를 말로 풀어 준다.
156
+
157
+ ## 메일·실무 문장
158
+
159
+ - 첫 문단에서 용건과 수신자가 해야 할 일을 찾을 수 있게 한다.
160
+ - 필요한 배경, 요청이나 답변, 기한과 책임 주체를 구분해 쓴다.
161
+ - 정중함을 이유로 핵심 판단을 흐리거나 불필요한 완곡어를 겹치지 않는다.
162
+ - 제목은 본문의 용건과 상태를 정확히 드러내고, 답장이 필요한지 알 수 있게 한다.
163
+
164
+ ## 블로그·사회관계망 게시물
165
+
166
+ - 제목과 첫 문단이 실제 내용을 정확히 예고하게 한다.
167
+ - 독자의 관심을 얻으려고 근거보다 센 단정, 가짜 긴박감, 과장된 질문을 쓰지 않는다.
168
+ - 검색어는 문맥에 자연스럽게 포함하고 같은 표현을 기계적으로 되풀이하지 않는다.
169
+ - 행동 요청은 글의 목적에 필요할 때만 한 가지로 분명히 쓴다.
@@ -19,11 +19,11 @@ If `vibe` is not on PATH, run `npm i -g @su-record/vibe` once; every command bel
19
19
 
20
20
  | state | stage | skill |
21
21
  |---|---|---|
22
- | NONE · ABANDONED · DRAFT without intent | discover | `vibe.discover` |
23
- | DRAFT with intent | scope | `vibe.scope` |
24
- | APPROVED · RUNNING with remaining | build | `vibe.build` |
25
- | RUNNING without remaining · STUCK | prove | `vibe.prove` |
26
- | DONE | handoff | `vibe.handoff` |
22
+ | NONE · ABANDONED · DRAFT without intent | discover | `vibe-discover` |
23
+ | DRAFT with intent | scope | `vibe-scope` |
24
+ | APPROVED · RUNNING with remaining | build | `vibe-build` |
25
+ | RUNNING without remaining · STUCK | prove | `vibe-prove` |
26
+ | DONE | handoff | `vibe-handoff` |
27
27
 
28
28
  5. Load that skill and follow it.
29
29
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: vibe.build
2
+ name: vibe-build
3
3
  description: Build — implement approved scenarios one at a time; after each one, `vibe check <id>` lets the harness judge. Never say "done".
4
4
  user-invocable: false
5
5
  ---
@@ -17,7 +17,7 @@ user-invocable: false
17
17
  - Blocked (`status: blocked`): a parent has not passed; `vibe check {id}` runs unpassed parents first, so fix the parent named in `blockedBy`.
18
18
  4. When a project-local skill (`vibe skill list`) applies to the scenario, follow it and run `vibe skill used {name}` — prune decisions read the ledger.
19
19
  5. Record a fixed failure with `vibe regress record --scenario {id} --title "…" --check-from-evidence {run}`.
20
- 6. When `remaining` is empty, move to `vibe.prove`.
20
+ 6. When `remaining` is empty, move to `vibe-prove`.
21
21
 
22
22
  ## Irreversible actions
23
23
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: vibe.discover
2
+ name: vibe-discover
3
3
  description: Discover — turn a vague request into "what counts as success". At most three questions, each with a default. Surface anomalies in the sample before being asked.
4
4
  user-invocable: false
5
5
  ---
@@ -31,7 +31,7 @@ user-invocable: false
31
31
  - {existing systems, data, deadlines}
32
32
  ```
33
33
 
34
- 5. Once at least one success condition is a checkable statement, move to `vibe.scope`.
34
+ 5. Once at least one success condition is a checkable statement, move to `vibe-scope`.
35
35
 
36
36
  ## Message format
37
37
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: vibe.handoff
2
+ name: vibe-handoff
3
3
  description: Report and hand off — say what was built and which checks passed when, and leave a document the operator can run alone. The harness actually runs the commands in that document.
4
4
  user-invocable: false
5
5
  ---
@@ -8,7 +8,7 @@ user-invocable: false
8
8
 
9
9
  ## Procedure
10
10
 
11
- 1. Confirm `vibe state --json` is DONE. Otherwise go back to `vibe.prove`.
11
+ 1. Confirm `vibe state --json` is DONE. Otherwise go back to `vibe-prove`.
12
12
  2. Write the completion report (to the user, in the user's language):
13
13
 
14
14
  ```
@@ -22,5 +22,5 @@ Done: {intent title}
22
22
 
23
23
  3. Write the handoff document `HANDOFF.md` (or the location the user chose), in English. Four sections are mandatory: **How to run**, **When it fails (alerts · rerun)**, **How to roll back**, **Contacts / owner**. Say so first if any is missing.
24
24
  4. The commands in the handoff document must be proven to run (`run` check). If an approved scenario already covers the handoff check, run `vibe check` on it. If not, ask the user whether to add a handoff scenario and re-approve.
25
- 5. A final irreversible action (deploy, send) follows the token procedure in `vibe.build` exactly.
25
+ 5. A final irreversible action (deploy, send) follows the token procedure in `vibe-build` exactly.
26
26
  6. If something should be kept for the next request (a repeated question, a customer convention), propose `vibe knowledge add`.