@kaydash9999/banker-plugins 0.13.0 → 0.15.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 (82) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +82 -0
  4. package/README.md +50 -17
  5. package/codex/manifest.json +11 -8
  6. package/codex/transform-matrix.md +16 -4
  7. package/commands/front-qa.md +8 -5
  8. package/commands/setup.md +13 -4
  9. package/hooks/graceful-pause.mjs +222 -0
  10. package/hooks/hooks.json +2 -1
  11. package/hooks/register.mjs +12 -0
  12. package/package.json +4 -1
  13. package/skills/3d-intro-build/SKILL.md +1 -1
  14. package/skills/3d-intro-setup/SKILL.md +1 -1
  15. package/skills/all-in-one/SKILL.md +160 -55
  16. package/skills/append_wiki/SKILL.md +1 -1
  17. package/skills/arch-diagram/SKILL.md +1 -1
  18. package/skills/audit-mock/SKILL.md +1 -1
  19. package/skills/audit-security/SKILL.md +1 -1
  20. package/skills/audit-web-page/SKILL.md +1 -1
  21. package/skills/cleansing-memory/SKILL.md +1 -1
  22. package/skills/compact-copy/SKILL.md +14 -13
  23. package/skills/compact-wiki/SKILL.md +1 -1
  24. package/skills/curation/SKILL.md +36 -3
  25. package/skills/deep-init/SKILL.md +1 -1
  26. package/skills/deep-research/SKILL.md +1 -1
  27. package/skills/docs-setup/SKILL.md +1 -1
  28. package/skills/humanizer/SKILL.md +1 -1
  29. package/skills/interval-report/SKILL.md +1 -1
  30. package/skills/lineage/SKILL.md +146 -16
  31. package/skills/lineage/lineage.py +1091 -107
  32. package/skills/make-notion-guide/SKILL.md +1 -1
  33. package/skills/motion-graphic-make/SKILL.md +1 -1
  34. package/skills/motion-graphic-setup/SKILL.md +1 -1
  35. package/skills/nothing-design/SKILL.md +1 -1
  36. package/skills/obsidizer/SKILL.md +1 -1
  37. package/skills/omc-reference/SKILL.md +68 -33
  38. package/skills/payload-mon/SKILL.md +66 -0
  39. package/skills/payload-mon/scripts/payload-mon.mjs +377 -0
  40. package/skills/payload-mon/scripts/payload-size.mjs +238 -0
  41. package/skills/pdf-vision-extract/SKILL.md +1 -1
  42. package/skills/play-qa/SKILL.md +1 -1
  43. package/skills/ralph-qa/SKILL.md +263 -112
  44. package/skills/ralph-qa/references/gemini-read-only.toml +9 -0
  45. package/skills/ralph-qa/references/gemini-seat.mjs +175 -0
  46. package/skills/ralph-qa/references/payload-scan.mjs +130 -0
  47. package/skills/ralph-qa/references/verifier-probe.mjs +872 -780
  48. package/skills/ready-compact/SKILL.md +114 -67
  49. package/skills/refresh-git-ignore/SKILL.md +1 -1
  50. package/skills/refresh-readme/SKILL.md +3 -3
  51. package/skills/rfp-author/SKILL.md +3 -3
  52. package/skills/setup-bypass-permissions/SKILL.md +123 -0
  53. package/skills/setup-bypass-permissions/agents/openai.yaml +4 -0
  54. package/skills/setup-bypass-permissions/scripts/bypass-permissions.mjs +381 -0
  55. package/skills/setup-bypass-permissions/scripts/fallback/bypass-permissions.ps1 +247 -0
  56. package/skills/setup-bypass-permissions/scripts/fallback/bypass-permissions.py +241 -0
  57. package/skills/{harness-factory → setup-harness-factory}/SKILL.md +3 -3
  58. package/skills/setup-insane-search/SKILL.md +1 -1
  59. package/skills/setup-java/SKILL.md +1 -1
  60. package/skills/setup-lsp/SKILL.md +1 -1
  61. package/skills/setup-mcp/SKILL.md +1 -1
  62. package/skills/setup-node/SKILL.md +1 -1
  63. package/skills/setup-omc/SKILL.md +11 -4
  64. package/skills/setup-omc-hud/SKILL.md +26 -1
  65. package/skills/setup-omc-hud/scripts/claude-update-last.mjs +247 -0
  66. package/skills/setup-playwright/SKILL.md +1 -1
  67. package/skills/setup-pwsh/SKILL.md +1 -1
  68. package/skills/setup-python/SKILL.md +1 -1
  69. package/skills/setup-sandbox/SKILL.md +1 -1
  70. package/skills/setup-stitch/SKILL.md +1 -1
  71. package/skills/setup-tmux/SKILL.md +1 -1
  72. package/skills/smart-compact/SKILL.md +10 -9
  73. package/skills/summary-wiki/SKILL.md +1 -1
  74. package/skills/tone-compact/SKILL.md +203 -0
  75. package/skills/tone-compact/scripts/tone-compact.mjs +499 -0
  76. package/skills/ultra-init/SKILL.md +53 -42
  77. package/skills/ultra-interview/SKILL.md +1 -1
  78. package/skills/ultra-ui-qa/SKILL.md +1 -1
  79. package/skills/update-banker/SKILL.md +1 -1
  80. package/skills/vertical-pptx/SKILL.md +1 -1
  81. package/skills/vertical-pptx-setup/SKILL.md +1 -1
  82. package/skills/visual-ralph/SKILL.md +1 -1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-playwright
3
- description: "(banker) Playwright + headless 브라우저를 OS·권한·conda 감지 후 설치(RHEL8/Rocky8·non-root·no-conda·xvfb 폴백). 'setup-playwright'/'playwright 설치' 또는 /banker:setup 시 사용."
3
+ description: "Playwright 와 헤드리스 브라우저를 OS, 권한, conda 유무에 맞춰 설치. RHEL8, Rocky8, root 권한이 없는 환경도 지원하고 필요하면 xvfb 를 씀. 'setup-playwright'/'playwright 설치' 또는 `/banker:setup` 시 사용."
4
4
  ---
5
5
 
6
6
  # setup-playwright — Playwright + headless 브라우저 설치 (OS·권한 적응형)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-pwsh
3
- description: "(banker) Windows PowerShell 7 + Git + $PROFILE(UTF-8 무BOM) 환경을 winget 으로 설치·검증(비-Windows 는 감지 후 no-op). 'setup-pwsh'/'PowerShell 설치'/'pwsh 환경 설정' 또는 /banker:setup 시 사용."
3
+ description: "Windows 에 PowerShell 7 과 Git 을 winget 으로 설치하고, `$PROFILE` 을 BOM 없는 UTF-8 로 설정한 뒤 검증. Windows 가 아니면 감지만 하고 아무것도 바꾸지 않음. 'setup-pwsh'/'PowerShell 설치'/'pwsh 환경 설정' 또는 `/banker:setup` 시 사용."
4
4
  ---
5
5
 
6
6
  # setup-pwsh: Windows PowerShell 7 환경 설치
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-python
3
- description: "(banker) Python 3.11+ 런타임 + pipx·uv 설치(OS별 PEP668·RHEL8 3.6 회피). 라이브러리(pptx·pymupdf)는 docs-setup 담당, 본 스킬은 런타임만. 'setup-python'/'Python 설치'/'pipx·uv 설치' 또는 /banker:setup 시 사용."
3
+ description: "Python 3.11 이상과 pipx, uv 를 설치. OS별 PEP 668 제약과 RHEL8 의 기본 3.6 을 피해 감. 라이브러리(python-pptx, pymupdf)는 `docs-setup` 이 맡고 이 스킬은 런타임만 설치. 'setup-python'/'Python 설치'/'pipx 설치'/'uv 설치' 또는 `/banker:setup` 시 사용."
4
4
  ---
5
5
 
6
6
  # setup-python: Python 3.11+ 런타임 + pipx·uv 설치
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-sandbox
3
- description: "(banker) 에이전트 샌드박스 공통 기반(Linux bubblewrap+socat+sysctl userns, macOS Seatbelt, Windows AppContainer)을 OS 감지 후 설치(+rust/cargo·git safe.directory 폴드인). 'setup-sandbox'/'샌드박스 설치'/'bubblewrap 설치' 또는 /banker:setup 시 사용."
3
+ description: "OS 를 감지해 에이전트 샌드박스의 공통 기반을 설치. Linux 는 bubblewrap, socat, userns 설정, macOS 는 Seatbelt, Windows 는 AppContainer. rust 와 cargo 도 설치하고 git 의 `safe.directory` 를 설정. 'setup-sandbox'/'샌드박스 설치'/'bubblewrap 설치' 또는 `/banker:setup` 시 사용."
4
4
  ---
5
5
 
6
6
  # setup-sandbox: 에이전트 샌드박스 설치
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-stitch
3
- description: "(banker) Stitch(Google 디자인 생성) MCP 프록시를 claude mcp add(Codex는 codex mcp add)로 등록(시크릿 미커밋). 'setup-stitch'/'stitch 설치'/'stitch mcp' 또는 /banker:setup 시 사용."
3
+ description: "Google 의 디자인 생성 서비스인 Stitch 의 MCP 프록시를 `claude mcp add`(Codex 는 `codex mcp add`)로 등록. 시크릿은 커밋하지 않음. 'setup-stitch'/'stitch 설치'/'stitch mcp' 또는 `/banker:setup` 시 사용."
4
4
  ---
5
5
 
6
6
  # setup-stitch — Stitch MCP 프록시 등록
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-tmux
3
- description: "(banker) OMC team·worktree 세션과 Codex OMX $team·HUD 가 요구하는 tmux(Windows는 psmux)를 OS 감지 후 설치·소스빌드(Rocky8 3.6a). 'setup-tmux'/'tmux 설치'/'psmux 설치' 또는 /banker:setup 시 사용."
3
+ description: "OMC 의 `team` 과 worktree 세션, OMX 의 `$team` 과 HUD 에 필요한 tmux 를 OS 에 맞춰 설치(Windows 는 psmux). Rocky8 은 3.6a 를 소스에서 빌드. 'setup-tmux'/'tmux 설치'/'psmux 설치' 또는 `/banker:setup` 시 사용."
4
4
  ---
5
5
 
6
6
  # setup-tmux: tmux(Windows는 psmux) 설치
@@ -1,20 +1,21 @@
1
1
  ---
2
2
  name: smart-compact
3
- description: "(banker) 컨텍스트 임계(기본 50%) 초과 시 append-wiki→ready-compact→compact-copy 자동 실행 + /copy·/compact·paste 유저 핸드오프 게이트. 'smart-compact' 활성화 / '--cancel' 해제."
3
+ description: "컨텍스트 사용률이 임계(기본 50%)를 넘으면 `append_wiki` 와 `ready-compact` 를 자동 실행해 마지막 메시지에 resume 프롬프트만 남김. `/copy`, `/compact`, 붙여 넣기는 사용자가 직접 함. 'smart-compact' 로 켜고 `--cancel` 로 끔."
4
4
  ---
5
5
 
6
6
  # smart-compact — 컨텍스트 위생 자동 게이트
7
7
 
8
8
  긴 세션에서 컨텍스트가 임계(기본 **50%**)를 넘으면, compaction 전에 상태를 안전하게 보존하는
9
- 리추얼을 **자동 발동**한다: `append-wiki` → `ready-compact` → `compact-copy` → *(유저)* `/copy`
9
+ 리추얼을 **자동 발동**한다: `append-wiki` → `ready-compact` → *(유저)* `/copy`
10
10
  → `/compact` → paste. `smart-compact` 로 무장, `smart-compact --cancel` 로 해제한다.
11
+ `ready-compact` 는 0.14.0 부터 마지막 메시지를 resume 프롬프트만으로 내므로, 예전처럼 `compact-copy` 를 거치지 않는다.
11
12
 
12
13
  ## ⚠️ 정직한 실현 한계 (Claude Code 실측)
13
14
  "컨텍스트 50%에서 완전 무인 자동"은 **부분만 가능**하다 — 근거:
14
15
  - **감지**: 컨텍스트 사용률은 **statusLine stdin** 의 `context_window.used_percentage` 로만 실시간
15
16
  노출된다(hook은 이 값을 못 받음; auto-compact은 ~95%에서만, 50% 이벤트 없음). → statusLine으로
16
17
  **정확히 50% 감지 가능**.
17
- - **자동 실행 가능(어시스턴트)**: `append-wiki` · `ready-compact` · `compact-copy` — 스킬/도구
18
+ - **자동 실행 가능(어시스턴트)**: `append-wiki` · `ready-compact` — 스킬/도구
18
19
  작업이라 어시스턴트가 수행.
19
20
  - **자동 불가(TUI 전용)**: `/copy` · `/compact` · **paste** 는 인터랙티브 TUI 동작이라 hook·스킬이
20
21
  구동할 수 없다(hook은 슬래시명령 호출 불가, `additionalContext` 주입만 가능). → **이 3단은 유저가
@@ -35,7 +36,7 @@ description: "(banker) 컨텍스트 임계(기본 50%) 초과 시 append-wiki→
35
36
  2. **hook 브리지**: `UserPromptSubmit`(또는 `PreToolUse`) hook이 신호 파일을 읽어 무장·미처리 상태면
36
37
  `additionalContext` 로 "smart-compact: 컨텍스트 ≥임계 — 위생 체인 실행" 을 주입한다(hook은 명령을
37
38
  못 부르므로 어시스턴트에게 **지시만** 한다).
38
- 3. **게이트 동작(어시스턴트)**: 주입을 받으면 자동파트 실행 → 이어 유저에게 TUI 3단을 정확한 명령으로 안내.
39
+ 3. **게이트 동작(어시스턴트)**: 주입을 받으면 자동파트를 실행한다. TUI 3단 안내는 `ready-compact` **전에** 한 줄로 하고, 마지막 메시지는 `ready-compact` 의 프롬프트로 끝낸다(안내를 뒤에 붙이면 `/copy` 가 안내문을 복사한다).
39
40
 
40
41
  **Codex (OMX):**
41
42
  - Codex가 statusline/hook에 컨텍스트%를 노출하는지 **미확인**(문서 부재). 노출되면 위와 동형으로 구성
@@ -46,13 +47,13 @@ description: "(banker) 컨텍스트 임계(기본 50%) 초과 시 append-wiki→
46
47
  무장 후 임계 초과가 감지되면 순서대로:
47
48
 
48
49
  1. **`append-wiki`** — 이번 작업의 비자명 지식을 wiki에 적재(휘발 방지). *(banker `append_wiki`, both)*
49
- 2. **`ready-compact`** — resume 프롬프트 + 내구 메모리 기록. *(banker `ready-compact`, both)*
50
- 3. **`compact-copy`** — resume 프롬프트-only 로 최종 메시지 셰이핑(response.md). *(banker `compact-copy`, both)*
50
+ 2. *(한 줄 안내)* 다음 메시지가 resume 프롬프트이며, 그 뒤 `/copy` → `/compact` → 붙여넣기 순서임을 알린다.
51
+ 3. **`ready-compact`** — 내구 메모리 기록 + resume 프롬프트. 마지막 메시지가 프롬프트뿐이다. *(banker `ready-compact`, both)*
51
52
  4. *(유저 · TUI)* **`/copy`** → **`/compact`** → **paste**(복사된 resume 프롬프트 입력).
52
53
 
53
- 1~3은 어시스턴트가 자동 수행. 4는 어시스턴트가 **정확한 명령을 제시**하고 유저가 실행한다.
54
- (Claude=`/banker:append_wiki`·`/banker:ready-compact`·`/banker:compact-copy`,
55
- Codex=`$banker-append_wiki`·`$banker-ready-compact`·`$banker-compact-copy`; `/copy`·compaction은 양쪽 TUI 내장.)
54
+ 1~3은 어시스턴트가 자동 수행. 4는 유저가 실행한다. 안내는 2에서 끝내고 3 뒤에는 아무것도 붙이지 않는다.
55
+ (Claude=`/banker:append_wiki`·`/banker:ready-compact`,
56
+ Codex=`$banker-append_wiki`·`$banker-ready-compact`; `/copy`·compaction은 양쪽 TUI 내장.)
56
57
 
57
58
  ## 활성화 (idempotent · compose-safe)
58
59
  `smart-compact [--threshold N]` (기본 N=50):
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: summary-wiki
3
- description: "(banker) 지금까지 쌓인 위키 페이지 전량을 docs/ 아래 단일 파일로 개조식 요약. 사용자가 아는 지식과 위키에 쌓인 내용의 차이를 식별하는 sync 검토용. 읽기 전용이며 stale 한 wiki_list 대신 파일을 직접 열거한다. 'summary-wiki'/'위키 요약'/'위키 지식 동기화'/'위키 digest' 시 사용."
3
+ description: "지금까지 쌓인 위키 페이지 전부를 `docs/` 아래 단일 파일로 개조식 요약. 사용자가 아는 지식과 위키 내용의 차이를 찾는 동기화 검토용. 읽기 전용이며, 낡은 목록을 줄 수 있는 `wiki_list` 대신 파일을 직접 열거함. 'summary-wiki'/'위키 요약'/'위키 지식 동기화'/'위키 digest' 시 사용."
4
4
  ---
5
5
 
6
6
  # summary-wiki: 위키 전량을 docs/ 단일 파일로 개조식 요약 (sync 검토용)
@@ -0,0 +1,203 @@
1
+ ---
2
+ name: tone-compact
3
+ description: "답변과 새 문서를 ASD-STE100 에 기반한 한글 개조식으로 간결하게 쓰는 문체 규칙을 켜고 끔. 표와 목록, 원어 발음 표기를 쓰고 장식 기호는 금지. 인자가 없으면 `on`. `off` 할 때까지 모든 세션에 유지. 'tone-compact'/'간결체 켜'/'개조식으로 답해'/'문체 규칙 켜/꺼' 시 사용."
4
+ argument-hint: "on | off | status"
5
+ ---
6
+
7
+ # tone-compact: 간결한 한글 문체 규칙 켜기, 끄기
8
+
9
+ 인자: `$ARGUMENTS`
10
+ - `on`, `off`, `status` 중 하나. 비어 있으면 `on`
11
+ - Codex: 사용자 메시지에서 읽음
12
+
13
+ ## 실행
14
+
15
+ 1. 인자 확인
16
+ - 세 값 이외: 실행하지 않고 사용법 안내
17
+ - 사용자 입력을 셸 명령에 그대로 붙이지 않음
18
+ 2. 스크립트 실행
19
+
20
+ ```bash
21
+ node "<이 스킬 디렉터리 절대경로>/scripts/tone-compact.mjs" <on|off|status> --runtime <claude|codex>
22
+ ```
23
+
24
+ | 런타임 | `--runtime` | 스킬 디렉터리 |
25
+ |---|---|---|
26
+ | Claude Code | `claude` | 스킬 맨 위 "Base directory for this skill:" 경로 |
27
+ | Codex | `codex` | `~/.codex/skills/banker-tone-compact/` 의 절대경로. 프로젝트 범위 설치면 `./.codex/skills/banker-tone-compact/` |
28
+
29
+ 3. 결과 처리
30
+
31
+ | 인자 | 스크립트 성공 | 스크립트 실패 |
32
+ |---|---|---|
33
+ | `on` | 아래 규칙을 이 세션에 바로 적용. 다음 세션부터 자동 적용 | 이 세션에만 적용. 실패 메시지 전달 |
34
+ | `off` | 이 세션에서 바로 적용 중지. 다음 세션부터 미적용 | 이 세션에서 적용 중지. 실패 메시지 전달 |
35
+ | `status` | 상태만 전달. 적용 여부 유지 | 같음 |
36
+
37
+ 4. 종료 코드
38
+
39
+ | 코드 | 뜻 | 처리 |
40
+ |---|---|---|
41
+ | 0 | 완료. 이미 그 상태였던 경우 포함 | 결과 전달 |
42
+ | 1 | 거부 또는 사용법 오류. 아무것도 바꾸지 않음 | 메시지 그대로 전달 |
43
+ | 2 | 예기치 못한 오류 | 메시지 전달 후 `status` 로 확인 |
44
+
45
+ - 출력이 비어 있으면 실행 실패. 성공으로 보고하지 않음
46
+
47
+ <!-- tone-compact:rules:start -->
48
+ # 문체 규칙 (banker tone-compact)
49
+
50
+ - tone-compact 가 켜져 있는 동안 적용
51
+ - tone-compact 에 `off` 를 실행한 뒤에는 이 규칙이 맥락에 남아 있어도 적용하지 않음
52
+
53
+ ## 우선순위
54
+
55
+ | 순위 | 기준 |
56
+ |---|---|
57
+ | 1 | 사용자의 명시 지시 |
58
+ | 2 | 다른 스킬이 정한 산출물 형식 (예: 공문서 양식, 영문 문서) |
59
+ | 3 | 이 규칙 |
60
+
61
+ ## 적용 범위
62
+
63
+ | 대상 | 처리 |
64
+ |---|---|
65
+ | 답변과 보고 | 규칙 적용 |
66
+ | 요약 | 규칙 적용 |
67
+ | 새로 쓰는 문서 | 규칙 적용 |
68
+ | 기존 파일 수정 | 그 파일의 기존 문체 우선 |
69
+
70
+ - 원문 그대로 두는 것. 줄이거나 바꿔 쓰지 않음
71
+ - 코드와 명령
72
+ - 경로
73
+ - 오류 메시지
74
+ - 숫자와 단위
75
+ - 인용문
76
+
77
+ ## ASD-STE100 원칙
78
+
79
+ | 원칙 | 한글 적용 |
80
+ |---|---|
81
+ | 한 낱말 한 뜻 | 같은 대상은 끝까지 같은 용어. 동의어 섞어 쓰기 금지 |
82
+ | 짧은 문장 | 항목 하나에 정보 하나. 절차 문장 20단어 이하, 설명 문장 25단어 이하 (띄어쓰기 단위) |
83
+ | 능동 표현 | 절차는 능동만. 설명도 가능하면 능동. 이중 피동(되어지다) 금지 |
84
+ | 절차 | 항목 하나에 동작 하나. 조건을 먼저 씀 |
85
+ | 경고 | 위험한 동작보다 먼저 씀 |
86
+ | 명사 연결 | 명사 4개 이상 연속 금지 |
87
+ | 문단 | 문단 하나에 주제 하나 |
88
+
89
+ ## 형식
90
+
91
+ - 한글로 간결하게. 첫 줄에 결론
92
+ - 단어 중심 개조식. 조사와 어미를 줄이고 명사형 또는 짧은 종결로 끝냄
93
+ - 줄글 대신 표. 비교와 대응은 표로 정리
94
+ - 표는 항목 2개 이상, 속성 2개 이상일 때 사용. 그 밖은 목록
95
+ - 문장 속 나열 대신 세로 목록. 세 개 이상이면 반드시 목록
96
+ - 표 칸 하나에는 두 개까지만 나열. 세 개 이상이면 행을 나눔
97
+ - em dash 대신 하이픈(-)
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
+ | 직접 만든 줄임말과 약어 | 처음 보는 약어 |
125
+ | 직접 만든 코드명 | 작업 번호 별칭 |
126
+ | 이모지 | 모든 그림 문자 |
127
+ | 감탄사 | "와", "물론입니다" |
128
+ | 빈 칭찬 | "좋은 질문입니다" |
129
+ | 느낌표 | `!` |
130
+ | 도구 실행 중계 | "이제 파일을 읽겠습니다" 처럼 화면에 보이는 동작을 다시 말하기 |
131
+
132
+ - 장식 기호
133
+ - 화살표: `→` `⇒`
134
+ - 가운뎃점: `·`
135
+ - 말줄임표: `…`
136
+ - 참고표와 별표: `※` `★`
137
+ - 체크 표시: `✓` `✗`
138
+ - 도형: `●` `■`
139
+ - em dash 와 en dash: `—` `–`
140
+ - AI 슬롭 표현
141
+ - 빈 인사와 맺음말
142
+ - 질문 되풀이
143
+ - 과장 수식어 (예: 획기적, 완벽한)
144
+ - 근거 없는 확신
145
+ - 같은 내용 반복
146
+ - 굵게 남용
147
+ - 번역투
148
+ - "에 대해"
149
+ - "를 통해"
150
+ - "하는 것이 가능하다"
151
+
152
+ ## 용어
153
+
154
+ - 어색한 번역어 대신 영어 원어의 한글 발음 표기
155
+
156
+ | 사용 | 사용 안 함 |
157
+ |---|---|
158
+ | 캐시 | 임시 저장소 |
159
+ | 커밋 | 위탁 |
160
+ | 훅 | 갈고리 |
161
+ | 페이로드 | 탑재물 |
162
+ | 토큰 | 낱말 조각 |
163
+
164
+ - 널리 쓰는 약어는 그대로 사용 (예: API, URL)
165
+ - 코드 식별자와 파일 이름은 원문 그대로 코드 표기
166
+ <!-- tone-compact:rules:end -->
167
+
168
+ ## 동작
169
+
170
+ | 런타임 | `on` | `off` |
171
+ |---|---|---|
172
+ | Claude Code | `<설정 폴더>/rules/banker-tone-compact.md` 생성. 세션 시작과 compaction 뒤에 자동 로드 | 파일 삭제 |
173
+ | Codex | Codex 가 읽는 전역 지침 파일 끝에 블록 1개 추가 | 그 블록만 제거. 켜기 전 내용으로 복원 |
174
+
175
+ - 설정 폴더
176
+ - Claude Code: `$CLAUDE_CONFIG_DIR`, 없으면 `~/.claude`
177
+ - Codex: `$CODEX_HOME`, 없으면 `~/.codex`
178
+ - Codex 지침 파일
179
+ - `AGENTS.override.md` 에 블록 말고도 내용이 있으면 그 파일
180
+ - 그 밖에는 `AGENTS.md`
181
+ - 규칙 원문: 이 파일의 `tone-compact:rules` 표시 사이 구간 하나. 스크립트가 그대로 복사
182
+ - 이미 켜져 있으면 변경 없음. banker 업데이트로 규칙이 바뀌었으면 `on` 이 새 규칙으로 교체
183
+ - Codex 블록은 `USER:OMX:POLICY` 표시로 감쌈
184
+ - 블록이 남음: `omx setup --merge-agents`, 기본 `omx setup`(team 모드 켜짐, 모델 표만 갱신)
185
+ - 블록이 사라짐: `omx setup --force`, 덮어쓰기 확인, team 모드를 끈 `omx setup`. 그 뒤 `on` 다시 실행
186
+ - UTF-8 이 아닌 지침 파일(CP949, UTF-16): 손대지 않고 거부
187
+ - Codex 파일 변경 전 내용: `<파일>.tone-compact.bak` (이 계정만 읽기 가능)
188
+ - 같은 파일에 있는 다른 도구의 블록은 건드리지 않음
189
+ - `status`: 두 런타임 상태를 모두 표시
190
+ - 한 런타임에서 켜도 다른 런타임은 그대로. 필요하면 그쪽에서도 실행
191
+
192
+ ## 문제 해결
193
+
194
+ | 메시지 | 조치 |
195
+ |---|---|
196
+ | 같은 이름의 다른 파일이 있음 | `rules/banker-tone-compact.md` 가 banker 파일이 아님. 이름 변경 또는 삭제 뒤 다시 실행 |
197
+ | 표시의 짝이 맞지 않음 | 지침 파일에 tone-compact 표시 줄이 한쪽만 있거나 문장 속에 들어 있음. 그 줄 정리 뒤 다시 실행 |
198
+ | 설정 폴더가 없음 | 해당 런타임 미설치. 또는 설정 폴더 환경 변수 값 확인 |
199
+ | 규칙이 이 버전과 다름 | `on` 한 번 실행 |
200
+ | 블록이 Codex 가 읽지 않는 AGENTS.md 에 있음 | `AGENTS.override.md` 가 새로 생김. `on` 실행 시 옮김 |
201
+ | AGENTS.override.md 에 블록만 있어 AGENTS.md 가 가려짐 | override 의 다른 내용이 지워짐. `on` 실행 시 AGENTS.md 로 옮기고 빈 override 삭제 |
202
+ | UTF-8 이 아닌 파일 | 지침 파일을 UTF-8 로 바꾼 뒤 다시 실행 |
203
+ | 쓸 권한이 없음 | 해당 파일과 폴더 권한 확인 |