@kaydash9999/banker-plugins 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +57 -0
- package/README.md +32 -11
- package/codex/manifest.json +8 -5
- package/codex/transform-matrix.md +16 -4
- package/commands/front-qa.md +6 -3
- package/package.json +1 -1
- package/skills/all-in-one/SKILL.md +160 -55
- package/skills/compact-copy/SKILL.md +14 -13
- package/skills/curation/SKILL.md +36 -3
- package/skills/graceful_pause/SKILL.md +95 -0
- package/skills/omc-reference/SKILL.md +67 -32
- package/skills/payload-mon/SKILL.md +66 -0
- package/skills/payload-mon/scripts/payload-mon.mjs +377 -0
- package/skills/payload-mon/scripts/payload-size.mjs +238 -0
- package/skills/ralph-qa/SKILL.md +253 -77
- package/skills/ralph-qa/references/verifier-probe.mjs +860 -0
- package/skills/ready-compact/SKILL.md +114 -67
- package/skills/refresh-readme/SKILL.md +2 -2
- package/skills/rfp-author/SKILL.md +2 -2
- package/skills/setup-omc/SKILL.md +10 -3
- package/skills/setup-omc-hud/SKILL.md +11 -0
- package/skills/smart-compact/SKILL.md +10 -9
- package/skills/tone-compact/SKILL.md +203 -0
- package/skills/tone-compact/scripts/tone-compact.mjs +499 -0
- package/skills/ultra-init/SKILL.md +53 -42
|
@@ -1,67 +1,114 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ready-compact
|
|
3
|
-
description: "(banker)
|
|
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
|
-
|
|
1
|
+
---
|
|
2
|
+
name: ready-compact
|
|
3
|
+
description: "(banker) 진행 상태를 저장하고 이어갈 resume 프롬프트만 출력(설명 없이 프롬프트 본문만이라 /copy 한 번이면 복사). 기본은 같은 세션의 /compact 뒤, --hand-off 는 새 세션에서 처음부터 이어가기. 'ready-compact'/'compact 준비'/'이어서 하게 준비'/'이어갈 프롬프트'/'새 세션으로 넘겨'/'핸드오프' 시 사용."
|
|
4
|
+
argument-hint: "[--hand-off] [토픽 힌트]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ready-compact — 이어가기 상태 저장 + resume 프롬프트
|
|
8
|
+
|
|
9
|
+
진행 중인 작업을 끊었다가 이어갈 수 있게 준비한다.
|
|
10
|
+
(1) 이어가기 노트를 내구 저장소에 기록하고, (2) 붙여넣기용 resume 프롬프트를 **최종 메시지 전체로** 내놓는다.
|
|
11
|
+
|
|
12
|
+
## 모드
|
|
13
|
+
|
|
14
|
+
| 모드 | 호출 | 이어 가는 곳 | 그 세션에 이미 있는 것 |
|
|
15
|
+
|---|---|---|---|
|
|
16
|
+
| compact (기본) | `ready-compact` | 같은 세션, `/compact` 뒤 | compaction 요약, 메모리, CLAUDE.md |
|
|
17
|
+
| hand-off | `ready-compact --hand-off` | 같은 머신의 새 세션(`/clear` 뒤, 새 터미널) | 메모리, CLAUDE.md, 저장소뿐. 이번 대화는 없음 |
|
|
18
|
+
|
|
19
|
+
- 인자에서 `--hand-off` 를 떼고 남은 말은 토픽·슬러그 힌트다. 없으면 대화에서 추론한다.
|
|
20
|
+
- 사용자가 "새 세션에서", "핸드오프", "다른 세션으로 넘겨" 처럼 말하면 hand-off 로 본다.
|
|
21
|
+
- 다른 머신이나 다른 사람에게 넘길 때: 노트는 이 머신의 메모리 폴더나 git 무시 폴더에 있어 그쪽에 없다. 결정과 이유, 하지 말 것까지 프롬프트에 직접 넣는다(노트 경로는 참고용).
|
|
22
|
+
|
|
23
|
+
## 언제 쓰나
|
|
24
|
+
- 컨텍스트가 한계에 가까워 곧 compaction 될 때(또는 사용자가 미리 준비를 요청할 때) — compact.
|
|
25
|
+
- 세션을 닫고 새 세션에서 이어 가려 할 때 — hand-off.
|
|
26
|
+
- 사용자가 "ready-compact", "compact 준비", "이어서 할 수 있게 준비" 등으로 요청할 때.
|
|
27
|
+
|
|
28
|
+
## 쓰지 않을 때
|
|
29
|
+
- 작업이 이미 끝났고 이어갈 게 없을 때(그냥 마무리 보고로 충분).
|
|
30
|
+
- 코드/깃/CLAUDE.md/메모리가 그대로 담는 사실의 단순 복제(중복).
|
|
31
|
+
|
|
32
|
+
## 워크플로우
|
|
33
|
+
|
|
34
|
+
### 1) 상태 스냅샷 수집
|
|
35
|
+
지금 대화에서 아래를 추린다 — **메모리/플랜에 이미 있는 건 링크만**, 없는 것만 본문에:
|
|
36
|
+
- **목표(Goal)**: 사용자의 원 요청 한 줄.
|
|
37
|
+
- **현재 단계(Phase)**: 전체 흐름 중 지금 위치.
|
|
38
|
+
- **완료(Done)**: 커밋 해시 + 핵심 산출물(파일/마이그레이션/모니터). 가능하면 `git log --oneline`로 확정.
|
|
39
|
+
- **현재 상태(State)**: 서버/DB/테스트의 *검증된* 상태(예: "37 테스트 PASS, 서버 재기동 정상, 모니터 8/8 PASS").
|
|
40
|
+
- **다음 한 수(Next)**: 이어받자마자 실행할 **구체적** 액션 1~3개(명령/파일/대상 포함). 사용자 결정 대기면 그 사실을 명시.
|
|
41
|
+
- **미결 결정(Open)**: 사용자 판단이 필요한 분기(있으면).
|
|
42
|
+
- **함정·제약(Gotchas)**: 이 작업에서만 비자명한 것(세션 한정 명령, 순서 의존, 미커밋 여부, 운영 미반영 등).
|
|
43
|
+
- **검증 명령(Verify)**: 이어받은 쪽이 현 상태를 즉시 재확인할 복붙 명령.
|
|
44
|
+
|
|
45
|
+
**hand-off 는 여기에 더한다.** 새 세션에는 이 대화가 없으므로, 대화에만 있던 것을 옮긴다:
|
|
46
|
+
- **작업 위치**: 저장소 절대경로, 브랜치, 워크트리 여부, 마지막 커밋 해시.
|
|
47
|
+
- **배경과 결정**: 사용자가 이번 대화에서 정한 것과 그 이유(승인한 설계, 고른 선택지, 거절한 대안).
|
|
48
|
+
- **진행 중인 것**: 켜져 있는 모드(ralph·autopilot·ultragoal·team 등)와 상태 파일 경로, 실행 중인 백그라운드 작업과 출력 파일. 이 세션이 끝나면 백그라운드 작업은 함께 멈출 수 있다는 점.
|
|
49
|
+
- **모드 다시 켜기**: PRD 와 상태 파일은 세션별 경로라 새 세션이 스스로 찾지 못한다. 경로(예: `.omc/state/sessions/<id>/prd.json`, `.omc/plans/…`)와 다시 켜는 방법(예: 새 세션에서 `ralph` 에 그 PRD 경로를 넘김)을 적는다.
|
|
50
|
+
- **하지 말 것**: 이미 끝낸 단계, 사용자가 금지한 동작, 승인을 기다리는 행위(커밋·push·게시 등).
|
|
51
|
+
|
|
52
|
+
**켜져 있는 지속 모드(ralph·autopilot·ultragoal·team 등)가 있으면 먼저 처리한다.** 그 모드의 Stop 훅은 응답이 끝날 때 "계속하라"는 메시지를 넣어, 프롬프트가 마지막 메시지로 남지 못하게 한다.
|
|
53
|
+
- hand-off: 노트를 쓰기 전에 모드를 유지할지(새 세션에서 다시 켬) 지금 cancel 할지 묻고(Claude Code 는 `AskUserQuestion`), 답을 노트에 적는다.
|
|
54
|
+
- Codex: OMX 지속 모드가 켜져 있으면 응답을 끝내도 훅이 계속 다시 시작하게 해, 프롬프트만 남기는 것을 보장할 수 없다. 이 점을 알리고 모드를 끌지 먼저 묻는다.
|
|
55
|
+
|
|
56
|
+
### 2) resume 프롬프트 작성 (저장보다 먼저)
|
|
57
|
+
그대로 붙여넣으면 작업이 이어지는 자급식 프롬프트를 만든다. 3단계에서 노트 끝에 이 프롬프트를 붙이므로 저장보다 먼저 쓴다.
|
|
58
|
+
아래 템플릿은 읽기 쉽게 펜스로 보였을 뿐이다. **프롬프트에는 어디에도 코드 펜스(```)를 넣지 않는다**(4단계). 명령은 두 칸 들여쓰기로 적는다.
|
|
59
|
+
|
|
60
|
+
compact:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
[RESUME] <목표 한 줄>. 진행 메모리: <노트 경로> (+ MEMORY.md, [[관련 slug]]).
|
|
64
|
+
현재까지: <완료 요약 + 커밋 해시>. 상태: <검증된 상태>.
|
|
65
|
+
다음 할 일: <구체 액션 1~3, 또는 "사용자 결정 대기: <옵션들>">.
|
|
66
|
+
미결: <사용자 판단 분기 / 없으면 생략>.
|
|
67
|
+
먼저 현 상태 확인:
|
|
68
|
+
<verify 명령 복붙>
|
|
69
|
+
제약: <환경/순서/미커밋/운영미반영 등 핵심 함정>. (상세는 위 메모리 파일 참조.)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
hand-off:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
[HANDOFF] <목표 한 줄>. 이전 세션의 작업을 새 세션에서 이어 간다.
|
|
76
|
+
작업 폴더: <절대경로> (브랜치 <이름>, 마지막 커밋 <해시>). 이 폴더에서 연 세션이 아니면 사용자에게 이 폴더에서 새 세션을 열어 달라고 요청.
|
|
77
|
+
먼저 읽을 것: <노트 경로> (배경, 결정, 함정 전부).
|
|
78
|
+
현재까지: <완료 요약>. 상태: <검증된 상태>. 미커밋: <파일 목록 / 없음>.
|
|
79
|
+
진행 중이던 것: <모드와 상태 파일, 다시 켜는 방법, 백그라운드 작업과 출력 파일 / 없음>.
|
|
80
|
+
다음 할 일: <구체 액션 1~3, 또는 "사용자 결정 대기: <옵션들>">.
|
|
81
|
+
미결: <사용자 판단 분기 / 없으면 생략>.
|
|
82
|
+
먼저 현 상태 확인:
|
|
83
|
+
<verify 명령 복붙>
|
|
84
|
+
제약: <핵심 함정, 하지 말 것>. 이미 끝난 단계는 다시 하지 않는다.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3) 내구 저장
|
|
88
|
+
|
|
89
|
+
| 런타임 | 노트 위치 |
|
|
90
|
+
|---|---|
|
|
91
|
+
| Claude Code | 자동 메모리 폴더 `<memory>/resume-<topic-slug>.md`(frontmatter `type: project`) + `MEMORY.md` 한 줄 포인터 추가/갱신. 자동 메모리가 꺼져 있어 폴더를 모르면 작업 폴더의 `.omc/handoffs/resume-<topic-slug>.md` |
|
|
92
|
+
| Codex | 작업 폴더의 `.omx/handoffs/resume-<topic-slug>.md` (Codex 에는 자동 메모리 폴더가 없다) |
|
|
93
|
+
|
|
94
|
+
- **기존 메모리/플랜과 중복은 피하고**, 관련 메모리는 `[[slug]]`로 링크(Claude Code).
|
|
95
|
+
- compact 노트는 휘발성 위주로 응축한다. hand-off 노트는 **그 파일 하나만 읽어도** 이어갈 수 있게 1단계의 추가 항목까지 적는다.
|
|
96
|
+
- 작업이 git 미커밋 상태면 그 사실과 파일 목록을 명시(다음 세션이 덮어쓰지 않도록).
|
|
97
|
+
- 노트 끝에 2단계의 프롬프트를 그대로 붙인다. 클립보드를 잃어도 노트에서 되찾을 수 있다.
|
|
98
|
+
- 작업 폴더 안에 둔 노트(`.omc/handoffs/`, `.omx/handoffs/`)가 git 무시 대상이 아니면(`git check-ignore -q <경로>` 실패) 프롬프트에 "노트는 커밋하지 말 것" 을 넣는다.
|
|
99
|
+
- 저장에 실패해도 멈추지 않는다. 프롬프트 **둘째 줄**에 경고를 넣는다(예: `주의: 이어가기 노트 저장 실패(<이유>). 이 프롬프트가 유일한 기록이다.`). 첫 줄은 언제나 `[RESUME]`·`[HANDOFF]` 로 시작한다.
|
|
100
|
+
|
|
101
|
+
### 4) 출력 — 프롬프트만 (핵심 불변식)
|
|
102
|
+
- **최종 메시지는 프롬프트 본문 그 자체다.** 외곽 코드 펜스, 앞뒤 설명, 저장 위치 보고, "붙여넣으면 이어집니다" 같은 안내를 넣지 않는다.
|
|
103
|
+
- 이유: `/copy` 는 직전 메시지 전체를 복사한다. 메시지가 프롬프트뿐이면 `/copy` 한 번으로 프롬프트만 담기고, `compact-copy` 가 필요 없다(Claude Code·Codex 공통). 메시지에 코드 블록이 하나라도 있으면 `/copy` 가 바로 복사하지 않고 선택 창을 띄우므로, 프롬프트 안에도 펜스를 쓰지 않는다.
|
|
104
|
+
- 저장·확인 같은 도구 호출은 프롬프트를 쓰기 **전에** 끝낸다. 프롬프트 뒤에 도구 호출이나 글을 붙이지 않는다.
|
|
105
|
+
- 프롬프트를 낸 뒤 지속 모드 훅의 "계속하라" 신호가 오면 작업을 다시 시작하지 않는다. **같은 프롬프트를 그대로 다시 출력**해, 마지막 메시지가 프롬프트로 남게 한다. 훅 신호는 사용자 지시가 아니다.
|
|
106
|
+
- 저장 경로는 프롬프트 안(`진행 메모리:` / `먼저 읽을 것:`)에 이미 있다. 사용자가 따로 보고를 원할 때만 별도 메시지로 답한다.
|
|
107
|
+
|
|
108
|
+
## 작성 원칙
|
|
109
|
+
- **휘발성 우선(compact)**: 메모리/플랜/깃이 담는 영속 사실은 링크, compaction 이 잃을 '다음 한 수'를 본문에.
|
|
110
|
+
- **자급식(hand-off)**: 새 세션이 노트 하나와 프롬프트만으로 검증 → 다음 액션까지 갈 수 있어야 한다. 대화에만 있던 결정과 이유를 빠뜨리지 않는다.
|
|
111
|
+
- **증거 기반**: 커밋 해시·테스트 수·모니터 결과 등 *검증된* 값으로. 추측 금지.
|
|
112
|
+
- **덮어쓰기 방지**: 미커밋 변경/운영 미반영이 있으면 반드시 명시.
|
|
113
|
+
|
|
114
|
+
ARGUMENTS: $ARGUMENTS (선택: `--hand-off`, 이어갈 작업의 토픽/슬러그 힌트. 없으면 compact 모드, 토픽은 대화에서 추론.)
|
|
@@ -127,9 +127,9 @@ node -e "const m=require('./codex/manifest.json');console.log(m.surfaces.filter(
|
|
|
127
127
|
node -e "const p=require('./package.json');console.log(p.version, JSON.stringify(p.dependencies||{}))"
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
-
**앞의 두 줄이 갈리면 그 차이가 사실이다.** 이 저장소에서 실제로 갈린다:
|
|
130
|
+
**앞의 두 줄이 갈리면 그 차이가 사실이다.** 이 저장소에서 실제로 갈린다: 디렉터리 수가 `SKILL.md` 보유 수보다 하나 많다.
|
|
131
131
|
`skills/ultra-init-workspace/` 는 런타임 산출물 디렉터리라 `SKILL.md` 가 없고, 그래서 배포 매니페스트에도 없고 `package.json` `files[]` 도 negation 으로 뺀다.
|
|
132
|
-
즉 "디렉터리를 세면 스킬 수" 라는 그럴듯한 가정이 **여기서 1 을 더 센다.** 세 곳(매니페스트·`files[]`·테스트의 `SKILL.md` 필터)이 이미
|
|
132
|
+
즉 "디렉터리를 세면 스킬 수" 라는 그럴듯한 가정이 **여기서 1 을 더 센다.** 세 곳(매니페스트·`files[]`·테스트의 `SKILL.md` 필터)이 이미 같은 수를 말하는데 디렉터리 카운트만 하나 더 크다면, 틀린 쪽은 카운트다.
|
|
133
133
|
|
|
134
134
|
**README 는 어떤 경우에도 사실이 아니다. 그리고 사실을 세는 명령도 틀릴 수 있다. 세 소스가 같은 값을 말할 때만 통과다.**
|
|
135
135
|
|
|
@@ -39,7 +39,7 @@ description: "(banker) 소프트웨어 외주 제안요청서(RFP)를 한국 공
|
|
|
39
39
|
## 워크플로우 (도구 오케스트레이션)
|
|
40
40
|
RFP 저작은 **저작 lane과 검수 lane을 분리**(자기승인 금지). 권장 순서:
|
|
41
41
|
|
|
42
|
-
1. **과업내용 추출** — 현 코드/spec → 요구사항. `deep-dive`
|
|
42
|
+
1. **과업내용 추출** — 현 코드/spec → 요구사항. `research`(OMC 5 에서 삭제된 `deep-dive` 의 대체) 또는 agent `feature-dev:code-explorer` 로 화면·API·데이터·외부연계를 SFR/INR/DAR로 도출 → `references/this-project-scope.md` 채움(file:LINE 동반). 디자인은 PDF/이미지 추출 도구로 `<DesignRef(page-section)>` 형태 인용키 추출.
|
|
43
43
|
2. **구조·범위·배점 합의** — `ralplan --deliberate`로 RFP 구조·15유형 범위·평가 정성/정량 배점을 Planner→Architect→Critic 합의(Planner는 SoT word-for-word 인용 의무). broad/risky 결정만.
|
|
44
44
|
3. **섹션 병렬 작성** — 5+ 섹션이면 `team`(워커별 절 담당), 소규모는 agent `oh-my-claudecode:writer`. 각 절은 `templates/rfp-skeleton.md`를 채우고 `references/`를 인용.
|
|
45
45
|
4. **미검증 보강** — OPEN 항목(특히 망분리/PIPA/보안성심의/secure-coding)은 `autoresearch`/`deep-research` 또는 agent `document-specialist`로 **추가 리서치 후** SER에 반영. 미보강 시 〈OPEN〉 유지.
|
|
@@ -48,7 +48,7 @@ RFP 저작은 **저작 lane과 검수 lane을 분리**(자기승인 금지). 권
|
|
|
48
48
|
|
|
49
49
|
| 작업 | 권장 도구 |
|
|
50
50
|
|---|---|
|
|
51
|
-
| 과업내용 추출(코드→요구) | `deep-dive` / `feature-dev:code-explorer` / PDF·이미지 추출 도구 |
|
|
51
|
+
| 과업내용 추출(코드→요구) | `research`(구 `deep-dive`) / `feature-dev:code-explorer` / PDF·이미지 추출 도구 |
|
|
52
52
|
| 구조·배점 합의 | `ralplan --deliberate` |
|
|
53
53
|
| 섹션 병렬 저작 | `team` / `oh-my-claudecode:writer` |
|
|
54
54
|
| OPEN 추가 리서치 | `autoresearch` / `deep-research` / `document-specialist` |
|
|
@@ -6,21 +6,28 @@ description: "(banker) all-in-one·ultra-init·front-qa 가 의존하는 oh-my-c
|
|
|
6
6
|
# setup-omc: oh-my-claudecode(OMC) 설치/갱신
|
|
7
7
|
|
|
8
8
|
banker의 오케스트레이터(`all-in-one`·`ultra-init`)와 `/banker:front-qa` 커맨드는 OMC의
|
|
9
|
-
`ralplan`·`ralph`·`
|
|
9
|
+
`ralplan`·`ralph`·`verify` 와 `omc` CLI(`omc ralph verify`)에 의존한다. OMC 5부터 `ralph` 가 첫 반복에 `omc ralph verify` 를 직접 부르므로, 플러그인만 새것이고 전역 `omc` CLI 가 낡으면(4.x) `ralph` 가 시작하자마자 멈춘다. 이 스킬은 OMC를 설치하거나 최신화한다(이미 있으면 갱신만; 멱등). 답변은 한글.
|
|
10
10
|
|
|
11
11
|
## 0. 감지 (먼저, 추정 금지)
|
|
12
12
|
```bash
|
|
13
13
|
command -v omc >/dev/null && omc --version || echo "omc: 미설치"
|
|
14
|
+
omc ralph verify --help 2>&1 | grep -q 'Usage: omc ralph verify' && echo "omc CLI: ralph verify 있음" || echo "omc CLI: ralph verify 없음 (미설치 또는 4.x)"
|
|
14
15
|
command -v claude >/dev/null || echo "claude: 미설치"
|
|
15
16
|
```
|
|
17
|
+
- `ralph verify` 는 종료 코드가 아니라 **출력 문구로 판정**한다. 4.x CLI 는 모르는 명령에 `--help` 를 붙이면 전체 도움말을 찍고 0 으로 끝난다. `--help` 없이 부르면 Claude 실행으로 넘어가므로 점검에는 반드시 붙인다.
|
|
16
18
|
|
|
17
19
|
## Claude Code · OMC
|
|
18
20
|
- **이미 설치(`omc` 존재)** 면 최신화만 한다:
|
|
19
21
|
```bash
|
|
20
22
|
omc update # 플러그인·npm 패키지·CLAUDE.md 동기화
|
|
21
23
|
```
|
|
24
|
+
- `omc update` 가 중간에 실패하거나 끝난 뒤에도 `ralph verify` 가 없으면, CLI 만 직접 올린다:
|
|
25
|
+
```bash
|
|
26
|
+
npm install -g oh-my-claude-sisyphus@latest
|
|
27
|
+
```
|
|
28
|
+
- 네이티브 모듈(`better-sqlite3`) 빌드가 낡은 기본 컴파일러 때문에 실패하는 배포판(예: RHEL·Rocky 8)은 새 gcc 를 켠 셸에서 같은 명령을 실행한다(예: `source /opt/rh/gcc-toolset-14/enable`).
|
|
22
29
|
- **미설치** 면 공식 배포처 절차를 따른다(일반적으로 npm 전역 설치 후 `omc setup`). 정확한 설치 명령이 불명확하면 추정하지 말고 사용자에게 확인한다.
|
|
23
|
-
- 확인: `omc --version`
|
|
30
|
+
- 확인: `omc --version`, 위 `ralph verify` 점검 통과, Claude 재시작·`/reload-plugins` 후 `/oh-my-claudecode:*` 노출.
|
|
24
31
|
|
|
25
32
|
## Codex CLI · OMX (oh-my-codex)
|
|
26
33
|
Codex에서의 대응 프레임워크는 OMX다.
|
|
@@ -30,7 +37,7 @@ command -v omx >/dev/null && omx setup # 유저/프로젝트 레벨 OMX 구
|
|
|
30
37
|
- 미설치면 OMX 배포처 안내대로 설치 후 `omx setup`.
|
|
31
38
|
|
|
32
39
|
## 검증·보고
|
|
33
|
-
- OMC: `omc --version` / OMX: `omx --version`. 반영엔 재시작·`/reload-plugins`(Claude)가 필요할 수 있다.
|
|
40
|
+
- OMC: `omc --version` + `ralph verify` 점검 / OMX: `omx --version`. 반영엔 재시작·`/reload-plugins`(Claude)가 필요할 수 있다.
|
|
34
41
|
- 실패·불명확은 정직 보고(가짜 성공 금지).
|
|
35
42
|
|
|
36
43
|
## 함정
|
|
@@ -13,6 +13,14 @@ description: "(banker) omc_hud(Claude Code 상태표시줄)를 OS별 apply 스
|
|
|
13
13
|
```bash
|
|
14
14
|
case "$(uname -s)" in Darwin) OS=mac;; Linux) OS=linux;; *) OS=windows;; esac; echo "OS=$OS"
|
|
15
15
|
command -v wget >/dev/null && echo "dl=wget" || { command -v curl >/dev/null && echo "dl=curl" || echo "dl=none(설치 필요)"; }
|
|
16
|
+
# 적용 스크립트가 래퍼를 덮어쓰면 payload-mon 표시 블록이 빠진다. 지금 켜져 있는지 기억해 둔다(3단계에서 사용).
|
|
17
|
+
HUD_FILE="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hud/omc-hud-custom.mjs"
|
|
18
|
+
grep -qF '// >>> payload-mon >>>' "$HUD_FILE" 2>/dev/null && echo "payload-mon=on" || echo "payload-mon=off"
|
|
19
|
+
```
|
|
20
|
+
Windows(PowerShell)에서는 같은 확인을 이렇게 한다:
|
|
21
|
+
```powershell
|
|
22
|
+
$cfg = if ($env:CLAUDE_CONFIG_DIR) { $env:CLAUDE_CONFIG_DIR } else { "$env:USERPROFILE\.claude" }
|
|
23
|
+
if (Select-String -Quiet -SimpleMatch -LiteralPath "$cfg\hud\omc-hud-custom.mjs" -Pattern '// >>> payload-mon >>>' -ErrorAction SilentlyContinue) { "payload-mon=on" } else { "payload-mon=off" }
|
|
16
24
|
```
|
|
17
25
|
|
|
18
26
|
## 1. mac / linux — apply 스크립트 적용
|
|
@@ -41,6 +49,9 @@ git 없으면 GitHub "Download ZIP" → 해제 → 동봉 적용 스크립트
|
|
|
41
49
|
- 적용 스크립트가 `~/.claude/settings.json` 의 statusLine 등을 갱신했는지(스크립트 출력 확인).
|
|
42
50
|
- HUD는 **다음 프롬프트/세션**부터 반영될 수 있음 → 안 보이면 재시작 안내.
|
|
43
51
|
- `~/dummy` 임시파일 정리 확인. 이미 적용돼 있으면 재적용 불필요.
|
|
52
|
+
- **payload-mon 복구**: 0단계에서 `payload-mon=on` 이었다면, 적용 스크립트가 래퍼를 덮어써 payload 표시 블록이 빠진 상태다.
|
|
53
|
+
payload-mon 스킬(Claude Code `/banker:payload-mon`, Codex `banker-payload-mon`)을 `on` 으로 실행해 다시 켜고, 그 결과를 함께 보고한다.
|
|
54
|
+
`payload-mon=off` 였다면 아무것도 하지 않는다(사용자가 켠 적 없는 기능을 켜지 않는다).
|
|
44
55
|
|
|
45
56
|
## 함정
|
|
46
57
|
- `curl` 다운로드는 **대문자 `-O`**(원격 파일명 유지). 소문자 `-o`는 출력명 지정이라 다름.
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: smart-compact
|
|
3
|
-
description: "(banker) 컨텍스트 임계(기본 50%) 초과 시 append-wiki→ready-compact
|
|
3
|
+
description: "(banker) 컨텍스트 임계(기본 50%) 초과 시 append-wiki→ready-compact 자동 실행(마지막 메시지가 resume 프롬프트뿐) + /copy·/compact·paste 유저 핸드오프 게이트. 'smart-compact' 활성화 / '--cancel' 해제."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# smart-compact — 컨텍스트 위생 자동 게이트
|
|
7
7
|
|
|
8
8
|
긴 세션에서 컨텍스트가 임계(기본 **50%**)를 넘으면, compaction 전에 상태를 안전하게 보존하는
|
|
9
|
-
리추얼을 **자동 발동**한다: `append-wiki` → `ready-compact` →
|
|
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`
|
|
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. **게이트 동작(어시스턴트)**: 주입을 받으면
|
|
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.
|
|
50
|
-
3. **`compact
|
|
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
|
|
55
|
-
Codex=`$banker-append_wiki`·`$banker-ready-compact
|
|
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):
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tone-compact
|
|
3
|
+
description: "(banker) 답변과 새 문서를 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
|
+
| 쓸 권한이 없음 | 해당 파일과 폴더 권한 확인 |
|