@kaydash9999/banker-plugins 0.3.0 → 0.4.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 +18 -0
- package/README.md +13 -6
- package/codex/manifest.json +18 -9
- package/codex/transform-matrix.md +19 -5
- package/commands/front-qa.md +2 -1
- package/commands/setup.md +9 -7
- package/package.json +1 -1
- package/skills/all-in-one/SKILL.md +3 -12
- package/skills/append_wiki/SKILL.md +1 -1
- package/skills/arch-diagram/SKILL.md +1 -1
- package/skills/arch-diagram/build_pptx_template.py +2 -0
- package/skills/audit-mock/SKILL.md +1 -1
- package/skills/audit-security/SKILL.md +1 -1
- package/skills/audit-web-page/SKILL.md +1 -1
- package/skills/compact-copy/SKILL.md +2 -6
- package/skills/compact-wiki/SKILL.md +1 -1
- package/skills/curation/SKILL.md +80 -0
- package/skills/deep-init/SKILL.md +120 -0
- package/skills/deep-research/SKILL.md +63 -0
- package/skills/docs-setup/SKILL.md +81 -0
- package/skills/humanizer/SKILL.md +1 -1
- package/skills/lineage/SKILL.md +1 -1
- package/skills/make-notion-guide/SKILL.md +1 -1
- package/skills/nothing-design/SKILL.md +1 -1
- package/skills/omc-reference/SKILL.md +35 -2
- package/skills/pdf-vision-extract/SKILL.md +1 -1
- package/skills/play-qa/SKILL.md +1 -1
- package/skills/ralph-qa/SKILL.md +70 -0
- package/skills/ready-compact/SKILL.md +1 -1
- package/skills/refresh-git-ignore/SKILL.md +1 -1
- package/skills/rfp-author/SKILL.md +1 -1
- package/skills/setup-insane-search/SKILL.md +1 -1
- package/skills/setup-omc/SKILL.md +1 -1
- package/skills/setup-omc-hud/SKILL.md +3 -1
- package/skills/setup-playwright/SKILL.md +1 -1
- package/skills/{setup-stitch-proxy → setup-stitch}/SKILL.md +10 -3
- package/skills/smart-compact/SKILL.md +81 -0
- package/skills/ultra-init/SKILL.md +2 -1
- package/skills/ultra-ui-qa/SKILL.md +1 -1
- package/skills/visual-ralph/SKILL.md +120 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deep-research
|
|
3
|
+
description: "(banker) 다중 소스 웹 리서치를 팬아웃해 주장을 적대적으로 팩트체크하고 확신순 인용 리포트로 합성. 'deep-research'/'딥리서치'/'심층 조사'/'출처 검증 리서치' 시 사용."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# deep-research — 팬아웃 + 적대적 검증 리서치
|
|
7
|
+
|
|
8
|
+
질문을 여러 검색 각도로 분해해 병렬 조사하고, 소스를 fetch해 **반증 가능한 주장**을 추출하고,
|
|
9
|
+
각 주장을 **적대적 다표결**로 검증한 뒤, 확신순으로 랭크한 **인용 리포트**로 합성한다.
|
|
10
|
+
|
|
11
|
+
**런타임 매핑 + 충실도 정직.** 이 스킬의 *로직*(Scope→Search→Fetch→Verify→Synthesize)은 런타임
|
|
12
|
+
무관이나, 구조적 병렬 실행은 런타임 프리미티브에 달렸다:
|
|
13
|
+
- **Claude Code**: 하니스에 번들 `deep-research` 워크플로가 있으면 **그걸 우선**
|
|
14
|
+
(`Workflow({name:"deep-research", args:"<질문>"})` — 스키마 제약 에이전트 + 진짜 병렬 fan-out).
|
|
15
|
+
없으면 아래 절차를 `WebSearch`·`WebFetch` + 병렬 `Task` 에이전트로 **수동** 수행.
|
|
16
|
+
- **Codex(OMX)**: OMX `autoresearch`/`autoresearch-goal`/`best-practice-research` 를 **우선** 사용.
|
|
17
|
+
없으면 아래 절차를 Codex 웹 검색/fetch로 수동 수행.
|
|
18
|
+
- ⚠️ **충실도**: prose 수동 경로는 JS 워크플로의 스키마-제약 병렬 fan-out보다 **충실도가 낮다**
|
|
19
|
+
(병렬성·정량 투표가 근사됨). 정밀 리서치가 핵심이면 위의 네이티브 워크플로/스킬을 우선하라.
|
|
20
|
+
|
|
21
|
+
## 언제 쓰나
|
|
22
|
+
- 여러 소스로 **깊이·교차검증**된 사실 기반 리서치 리포트가 필요할 때.
|
|
23
|
+
- 주장마다 출처·확신도가 붙은 결과가 필요할 때.
|
|
24
|
+
|
|
25
|
+
## 쓰지 않을 때
|
|
26
|
+
- 단발 사실 조회(웹검색 한 번이면 충분).
|
|
27
|
+
- 코드베이스 내부 조사(→ deepsearch/explore).
|
|
28
|
+
- 질문이 과소명세면 **먼저 2~3개 범위 질문**으로 좁힌 뒤 진행(예산·용도·지역 등).
|
|
29
|
+
|
|
30
|
+
## 절차 (5단계) — 수동 경로 기준
|
|
31
|
+
|
|
32
|
+
### 1. Scope
|
|
33
|
+
질문을 **~5개 검색 각도**로 분해(상호보완적 관점: 정의/현황·반대근거·정량데이터·사례·시간축 등).
|
|
34
|
+
|
|
35
|
+
### 2. Search
|
|
36
|
+
각도마다 **병렬** 웹검색(Claude=병렬 `Task`+`WebSearch`, Codex=병렬 조사). 각 에이전트는 서로의
|
|
37
|
+
결과를 모른 채 독립 탐색.
|
|
38
|
+
|
|
39
|
+
### 3. Fetch
|
|
40
|
+
URL 중복제거 후 상위 **≤15 소스**(`MAX_FETCH=15`) fetch → 각 소스에서 **반증 가능한 주장** 추출.
|
|
41
|
+
|
|
42
|
+
### 4. Verify (적대적)
|
|
43
|
+
주장마다(≤25개, `MAX_VERIFY_CLAIMS=25`) **3표 검증**(`VOTES_PER_CLAIM=3`): 각 검증자는 주장을
|
|
44
|
+
**반증하도록** 지시. **2/3 이상 반증(`REFUTATIONS_REQUIRED=2`)이면 주장 폐기**. 불확실하면 반증 기본값.
|
|
45
|
+
가능하면 검증자마다 다른 렌즈(정확성·출처신뢰·재현성).
|
|
46
|
+
|
|
47
|
+
### 5. Synthesize
|
|
48
|
+
의미 중복 주장 병합 → **확신순 랭크** → 소스 인용과 함께 리포트. 살아남은 주장·폐기된 주장·미해결
|
|
49
|
+
불확실성을 구분해 제시.
|
|
50
|
+
|
|
51
|
+
## 출력 형식
|
|
52
|
+
- **요약**: 핵심 발견 3~5개(확신도 표기).
|
|
53
|
+
- **본문**: 주장별 근거 + 출처(URL/제목) + 확신도. 상충 증거는 병기.
|
|
54
|
+
- **출처 목록**: fetch·인용한 소스.
|
|
55
|
+
- **한계**: 검증 폐기된 주장, 미해결 불확실성, 조사 못 한 각도.
|
|
56
|
+
|
|
57
|
+
## 함정
|
|
58
|
+
- **적대적 검증 생략 금지** — 그럴듯하나 틀린 주장이 살아남는다(2/3 반증 게이트가 핵심).
|
|
59
|
+
- **단일 검색 각도 의존 금지** — 한 관점은 반드시 놓친다(5각도 병렬).
|
|
60
|
+
- **충실도 과대주장 금지** — 수동 경로면 병렬성·정량투표가 근사임을 리포트에 밝힌다.
|
|
61
|
+
- **과소명세 질문 즉시 착수 금지** — 먼저 범위를 좁혀라.
|
|
62
|
+
|
|
63
|
+
ARGUMENTS: [리서치 질문] (과소명세면 먼저 범위 질문으로 좁힘)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-setup
|
|
3
|
+
description: "(banker) arch-diagram·pdf-vision-extract 의존성(python-pptx·pymupdf·plantuml)을 python 환경 감지/선택 후 설치. 'docs-setup'/'문서 툴 설치'/'pptx·pymupdf·plantuml 설치' 또는 /banker:setup 시 사용."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# docs-setup — 문서 생성 툴 설치 (python-pptx·pymupdf·plantuml)
|
|
7
|
+
|
|
8
|
+
arch-diagram(편집 가능 PPTX + PlantUML 렌더)과 pdf-vision-extract(PDF→PNG)가 쓰는 python/java 툴을
|
|
9
|
+
설치한다. **python 환경을 먼저 감지·선택**(질문 또는 자동)하고, system pip 의 sdist 빌드 실패(RHEL8
|
|
10
|
+
헤더 갭 등)를 피하려 **venv/conda 를 우선**한다. 설치는 **멱등**(이미 있으면 skip·검증만). 답변은 한글(기술 토큰 영문).
|
|
11
|
+
|
|
12
|
+
**런타임:** OS-레벨 설치라 **런타임 무관**(Claude Code·Codex 동일 동작). 선택 UI만 다르다 —
|
|
13
|
+
Claude=`AskUserQuestion`, Codex=후보 목록 제시 후 사용자 응답.
|
|
14
|
+
|
|
15
|
+
## 0. 감지 (먼저 — 추정 금지)
|
|
16
|
+
```bash
|
|
17
|
+
for t in python3 pip conda java dot; do command -v $t >/dev/null && echo "$t=yes" || echo "$t=no"; done
|
|
18
|
+
[ -f ~/bin/plantuml.jar ] && echo "plantuml.jar=yes" || echo "plantuml.jar=no"
|
|
19
|
+
[ -f /etc/os-release ] && . /etc/os-release && echo "distro=$ID ${VERSION_ID}"
|
|
20
|
+
python3 -c "import pptx" 2>/dev/null && echo "python-pptx=yes" || echo "python-pptx=no"
|
|
21
|
+
python3 -c "import fitz" 2>/dev/null && echo "pymupdf=yes" || echo "pymupdf=no"
|
|
22
|
+
# 후보 python 스캔 (⚠️ pymupdf/playwright 는 python 3.8+ 필요 — 3.6/3.7 은 휠 없음)
|
|
23
|
+
for v in 3.13 3.12 3.11 3.10 3.9 3.8; do command -v python$v >/dev/null && echo "python$v=$(python$v --version 2>&1)"; done
|
|
24
|
+
ls -d ~/.venvs/*/bin/python ~/miniconda3/envs/*/bin/python /usr/bin/python3* 2>/dev/null
|
|
25
|
+
conda env list 2>/dev/null
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 1. python 환경 선택 (질문 또는 자동)
|
|
29
|
+
- **`--python <path>`**: 주어진 인터프리터 사용.
|
|
30
|
+
- **`--ask`**: 위 스캔 후보를 제시하고 사용자가 택함(Claude=`AskUserQuestion`, Codex=목록 제시).
|
|
31
|
+
- **자동(기본)**: **python 3.8+** 인터프리터로 전용 venv 를 만든다. ⚠️ **system `python3` 가 3.6/3.7 이면 pymupdf/playwright 휠이 없어 실패**(실측: RHEL8 기본 `python3`=3.6 → `No matching distribution`/sdist 빌드 실패) → 위 스캔의 `python3.12`/`python3.11` 등 최신을 우선. 우선순위 = 활성 conda 환경 > 기존 `~/.venvs/banker-docs` > **최신 python3.x 신규 venv**:
|
|
32
|
+
```bash
|
|
33
|
+
PY_BASE="$(command -v python3.12 || command -v python3.11 || command -v python3)" # 3.8+ 우선
|
|
34
|
+
"$PY_BASE" -m venv ~/.venvs/banker-docs
|
|
35
|
+
~/.venvs/banker-docs/bin/pip install -U pip # 최신 pip = wheel 우선(빌드 회피)
|
|
36
|
+
PY=~/.venvs/banker-docs/bin/python
|
|
37
|
+
```
|
|
38
|
+
conda 선호 시: `conda create -y -n banker-docs python=3.11 && PY=$(conda run -n banker-docs which python)`.
|
|
39
|
+
|
|
40
|
+
## 2. python 라이브러리 설치
|
|
41
|
+
```bash
|
|
42
|
+
"$PY" -m pip install -U python-pptx pymupdf # 최신 pip 면 wheel 로 설치(빌드 없음)
|
|
43
|
+
```
|
|
44
|
+
- 그래도 빌드 실패(휠 부재·헤더 부재)면 **정직 보고**: root 면 `dnf install -y gcc zlib-devel libjpeg-turbo-devel`(Pillow 빌드용) 후 재시도, 아니면 conda 경로 권장(가짜 성공 금지).
|
|
45
|
+
|
|
46
|
+
## 3. plantuml (arch-diagram 의 PlantUML 렌더)
|
|
47
|
+
java 필요(`java -version`). plantuml.jar + 래퍼:
|
|
48
|
+
```bash
|
|
49
|
+
mkdir -p ~/bin
|
|
50
|
+
[ -f ~/bin/plantuml.jar ] || curl -fsSL -o ~/bin/plantuml.jar \
|
|
51
|
+
https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar
|
|
52
|
+
cat > ~/bin/plantuml <<'EOF'
|
|
53
|
+
#!/bin/bash
|
|
54
|
+
exec java -jar "$HOME/bin/plantuml.jar" "$@"
|
|
55
|
+
EOF
|
|
56
|
+
chmod +x ~/bin/plantuml
|
|
57
|
+
grep -q 'HOME/bin' <<<"$PATH" || echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
|
|
58
|
+
```
|
|
59
|
+
- **graphviz(dot)**: PlantUML 의 일부 다이어그램(시퀀스 외)이 요구. `dnf install -y graphviz`(root) / `brew install graphviz`(mac). 없으면 시퀀스·컴포넌트류는 dot 없이 렌더됨(정직 안내).
|
|
60
|
+
- java 부재: `dnf install -y java-21-openjdk`(root) / `brew install openjdk` / 관리자 요청.
|
|
61
|
+
|
|
62
|
+
## 4. 소비 스킬 연결
|
|
63
|
+
- **arch-diagram**: `build_pptx_template.py` 를 위 `$PY`(python-pptx)로 실행. PlantUML 은 `~/bin/plantuml`.
|
|
64
|
+
- **pdf-vision-extract**: pymupdf(`import fitz`)를 `$PY` 로 실행.
|
|
65
|
+
- 선택한 인터프리터 경로를 **보고**하고, 소비 스킬 실행 시 그 python 을 쓰도록 안내(예: `~/.venvs/banker-docs/bin/python`). 설치 python 과 소비 python 이 달라지면 `ModuleNotFoundError`.
|
|
66
|
+
|
|
67
|
+
## 5. 검증 (보고 의무)
|
|
68
|
+
```bash
|
|
69
|
+
"$PY" -c "import pptx, fitz; print('pptx', pptx.__version__, '| pymupdf OK')"
|
|
70
|
+
~/bin/plantuml -version 2>/dev/null | head -1 || java -jar ~/bin/plantuml.jar -version 2>/dev/null | head -1
|
|
71
|
+
command -v dot >/dev/null && dot -V 2>&1 | head -1 || echo "graphviz(dot) 없음(시퀀스류는 OK)"
|
|
72
|
+
```
|
|
73
|
+
4-field 보고: 변경(설치 항목·venv 경로·env 파일) / Evidence(위 출력) / 검증(import·-version OK) / Unknown(관리자 권한 라이브러리 미설치 등).
|
|
74
|
+
|
|
75
|
+
## 함정
|
|
76
|
+
- **system pip 빌드 벽**: RHEL8 등에서 Pillow sdist 빌드 실패 → 최신 pip + venv 로 **wheel** 설치가 안전. 안 되면 dnf dev 헤더 or conda(정직 보고).
|
|
77
|
+
- **python 경로 혼선**: 설치 python 과 소비 스킬 python 이 다르면 `ModuleNotFoundError` → 선택한 `$PY` 명시·재사용.
|
|
78
|
+
- **plantuml java/dot 의존**: java 없으면 렌더 불가, dot 없으면 일부 다이어그램만 제한 → 정직 안내.
|
|
79
|
+
- **PATH 미적용**: `~/.bashrc` 는 새 셸에만 → 현재 셸엔 `source ~/.bashrc` 또는 절대경로.
|
|
80
|
+
|
|
81
|
+
ARGUMENTS: [--python <path>] [--ask] (없으면 자동 감지 — 전용 venv 우선)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: humanizer
|
|
3
3
|
version: 2.8.0
|
|
4
|
-
description: "AI가 쓴 듯한 영문
|
|
4
|
+
description: "(banker) AI가 쓴 듯한 영문 글의 흔적을 제거해 자연스러운 문체로 윤문. 'humanizer'/'remove AI writing'/'sound more human'/'natural' 시 사용."
|
|
5
5
|
license: MIT
|
|
6
6
|
compatibility: claude-code opencode
|
|
7
7
|
allowed-tools:
|
package/skills/lineage/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lineage
|
|
3
|
-
description: "현재 세션 대화를 카카오톡 스타일 단일 HTML
|
|
3
|
+
description: "(banker) 현재 세션 대화를 카카오톡 스타일 단일 HTML로 export(답변=1줄 요약+클릭 펼침). 'lineage'/'대화 export'/'카톡 스타일 html' 시 사용."
|
|
4
4
|
invocation: /lineage
|
|
5
5
|
version: 1.0.0
|
|
6
6
|
schema_version: 1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: make-notion-guide
|
|
3
|
-
description: "
|
|
3
|
+
description: "(banker) 실제 API/인터페이스를 노션 토글 양식의 개발자 호출 가이드로 작성. 'make-notion-guide'/'노션 가이드'/'API 호출 문서를 노션 양식' 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Make-Notion-Guide: 노션 양식 개발자 가이드 작성
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: nothing-design
|
|
3
|
-
description: "Nothing 브랜드 스타일(미니멀·도트매트릭스·모노크롬)
|
|
3
|
+
description: "(banker) Nothing 브랜드 스타일(미니멀·도트매트릭스·모노크롬) UI 디자인 적용. 'Nothing style'/'Nothing design'/'/nothing-design' 시 사용(일반 UI 작업 자동 트리거 금지)."
|
|
4
4
|
version: 3.0.0
|
|
5
5
|
allowed-tools: [Read, Write, Edit, Glob, Grep]
|
|
6
6
|
---
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: omc-reference
|
|
3
|
-
description: "OMC
|
|
3
|
+
description: "(banker) OMC/OMX 에이전트·툴·팀·커밋·스킬 레지스트리 레퍼런스(양 런타임 병기). 에이전트 위임·OMC/OMX 툴·팀·커밋·스킬 사용 시 자동 로드."
|
|
4
4
|
user-invocable: false
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# OMC Reference
|
|
8
8
|
|
|
9
|
-
Use this built-in reference when you need detailed
|
|
9
|
+
Use this built-in reference when you need detailed agent/tool/skill catalog information that does not need to live in every `CLAUDE.md` / `AGENTS.md` session.
|
|
10
|
+
|
|
11
|
+
**런타임 — 이 문서는 양 런타임 카탈로그를 병기한다.** Claude Code는 **OMC(oh-my-claudecode)**, Codex CLI는 대응 프레임워크 **OMX(oh-my-codex)** 를 쓴다. 아래 §Agent Catalog ~ §Commit Protocol 은 **OMC(Claude)** 기준이고, 말미의 **§OMX (Codex) Catalog** 에 OMX 대응 카탈로그를 실측 정리했다. 이름이 대체로 대응하나 1:1은 아닐 수 있으니 설치 환경(`~/.claude` ↔ `~/.codex`) 기준으로 확인하라.
|
|
10
12
|
|
|
11
13
|
## Agent Catalog
|
|
12
14
|
|
|
@@ -139,3 +141,34 @@ Confidence: high
|
|
|
139
141
|
Scope-risk: narrow
|
|
140
142
|
Not-tested: End-to-end plugin marketplace install in a fresh Claude profile
|
|
141
143
|
```
|
|
144
|
+
|
|
145
|
+
## OMX (Codex) Catalog
|
|
146
|
+
|
|
147
|
+
**런타임:** oh-my-codex(OMX), Codex CLI. 설치/점검 `omx setup` · `omx doctor`. 스킬은
|
|
148
|
+
`~/.codex/skills/<name>/SKILL.md`(**dir == frontmatter name**)를 자동탐색. 실측 기준 oh-my-codex
|
|
149
|
+
0.18.16 — 버전에 따라 목록이 바뀔 수 있으니 설치 환경에서 확인.
|
|
150
|
+
|
|
151
|
+
### OMX Agent Prompts
|
|
152
|
+
`~/.codex/prompts/*.md` (OMX 오케스트레이션이 사용). OMC 에이전트에 대응 + Codex 확장:
|
|
153
|
+
- 대응: `analyst` · `architect` · `critic` · `debugger` · `executor` · `verifier` · `explore` · `planner` · `git-master` · `designer` · `qa-tester` · `security-reviewer` · `test-engineer` · `writer` · `code-reviewer` · `code-simplifier`
|
|
154
|
+
- 확장: `vision` · `researcher` · `ux-researcher` · `product-manager` · `product-analyst` · `information-architect` · `dependency-expert` · `api-reviewer` · `performance-reviewer` · `quality-reviewer` · `quality-strategist` · `style-reviewer` · `scholastic` · `team-orchestrator` · `team-executor` · `build-fixer` · `sisyphus-lite` · `prometheus-strict-{metis,momus,oracle}`
|
|
155
|
+
|
|
156
|
+
### OMX Skills Registry
|
|
157
|
+
`$<name>` 로 호출:
|
|
158
|
+
- **오케스트레이션**: `ralph` · `ralplan` · `ultraqa` · `ultrawork` · `ultragoal` · `autopilot` · `team` · `swarm` · `pipeline` · `tdd` · `ai-slop-cleaner` · `visual-ralph` · `visual-verdict` · `ralph-init`
|
|
159
|
+
- **리서치/분석**: `autoresearch` · `autoresearch-goal` · `best-practice-research` · `deepsearch` · `analyze` · `trace`
|
|
160
|
+
- **자문/리뷰**: `ask`(로컬 Claude/Gemini 자문 통합 진입점; 구 `ask-claude`·`ask-gemini` 스킬도 병존) · `review` · `code-review` · `security-review`
|
|
161
|
+
- **셋업/유틸**: `omx-setup` · `doctor` · `hud` · `wiki` · `note` · `skill` · `help` · `configure-notifications` · `ecomode` · `design` · `frontend-ui-ux` · `web-clone` · `build-fix` · `performance-goal` · `prometheus-strict` · `deep-interview` · `worker`
|
|
162
|
+
|
|
163
|
+
### OMX Interfaces
|
|
164
|
+
- **스킬**: `~/.codex/skills/<name>/`(dir==name). **커맨드/프롬프트**: `~/.codex/prompts/<name>.md`(스킬 목록과 별개 표면).
|
|
165
|
+
- **외부 LLM**: `$ask`(로컬 Claude/Gemini CLI 자문).
|
|
166
|
+
- **MCP**: `codex mcp add <NAME> (--url <URL> | -- <COMMAND>...)`.
|
|
167
|
+
- **`/copy` 등 슬래시 명령은 Codex TUI 내장**(컴파일 바이너리 — `~/.codex/skills`·`prompts`·`--help` 목록엔 안 뜸).
|
|
168
|
+
- ⚠️ `~/.codex/AGENTS.md` 본문은 `omx setup/doctor` 가 재생성 → **직접 쓰지 말 것**(조각 소실).
|
|
169
|
+
|
|
170
|
+
### OMC ↔ OMX 대응
|
|
171
|
+
OMC(Claude) ↔ OMX(Codex) 는 대체로 대칭이다: `claude mcp`↔`codex mcp`, `~/.claude`↔`~/.codex`,
|
|
172
|
+
`/copy`(양쪽 내장), 에이전트/스킬 이름 대응(1:1은 아님). banker/join-us 스킬은 양 런타임에 동일
|
|
173
|
+
본문으로 배포되며(Codex 복사 시 frontmatter `name:`만 `<plugin>-<name>` 으로 재작성) 본문이
|
|
174
|
+
**런타임 인식**으로 두 형태를 병기한다.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pdf-vision-extract
|
|
3
|
-
description: "비주얼 위주 PDF
|
|
3
|
+
description: "(banker) 비주얼 위주 PDF를 고해상도 per-page PNG로 변환해 레이아웃 손실 없이 비전 입력으로 읽기. 'pdf-vision-extract'/'PDF를 이미지로'/'디자인 PDF 추출' 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# pdf-vision-extract
|
package/skills/play-qa/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: play-qa
|
|
3
|
-
description: "Godot HTML5 웹게임을 실제 브라우저에서 직접 플레이하며 렌더·입력·시작
|
|
3
|
+
description: "(banker) Godot HTML5 웹게임을 실제 브라우저에서 직접 플레이하며 렌더·입력·시작 결함을 QA(playwright). 'play-qa'/'게임 직접 qa'/'네가 직접 플레이해봐'/'in-browser 플레이테스트' 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# play-qa: 에이전트가 직접 브라우저에서 게임을 플레이·QA
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ralph-qa
|
|
3
|
+
description: "(banker) 작업 결과를 별도 세션·다른 LLM으로 ralplan+critic 로직으로 독립 검증/개선 반복(자기승인 방지). 'ralph-qa'/'교차검증'/'다른 LLM으로 검증'/'독립 QA' 시 사용."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ralph-qa — 교차-LLM 독립 검증 루프
|
|
7
|
+
|
|
8
|
+
방금 만든 작업 결과를 **같은 모델·같은 세션이 자기채점**하는 대신, **다른 LLM + 다른 세션**에
|
|
9
|
+
넘겨 `ralplan --deliberate`(설계 optimal 검토)와 `ralph --critic=critic`(수용 기준 검증) 로직을
|
|
10
|
+
적용하고, 지적을 반영해 **APPROVE까지 반복**한다. 핵심 가치는 **독립성**(anti-self-approval):
|
|
11
|
+
저자와 검증자가 다른 모델이라야 편향·맹점이 드러난다.
|
|
12
|
+
|
|
13
|
+
**런타임 매핑 (다른-LLM 경로).**
|
|
14
|
+
- **Claude Code(OMC)**: `omc ask codex --agent-prompt critic "..."`(= ralph의 `--critic=codex` 경로),
|
|
15
|
+
또는 `/ccg`(Codex+Gemini+Claude 합의 레인), 또는 `omc ask gemini`. 검증자 = **Codex/Gemini**.
|
|
16
|
+
- **Codex(OMX)**: OMX `$ask`(구 `ask-claude`/`ask-gemini` 통합 진입점) 로 **Claude/Gemini** 에게 검증 위임.
|
|
17
|
+
- 저자 런타임과 **다른** 모델을 고르는 게 목적 — 대응 경로가 없으면 최소한 **다른 세션·다른 에이전트
|
|
18
|
+
프롬프트**로라도 독립성을 확보한다(완전 독립엔 미달임을 명시).
|
|
19
|
+
|
|
20
|
+
**모델·effort.** `--model <id>` 로 검증 LLM을 지정(예: 강한 추론 모델). effort 지원 모델은
|
|
21
|
+
`--effort xhigh` 전달. ⚠️ 사용자가 예로 든 `gpt-5.6-sol` 은 **미인식 모델 ID** — 리터럴로 박지 말고
|
|
22
|
+
**설치 환경에서 사용 가능한 다른-LLM으로 파라미터화**하라(기본은 위 매핑의 기본 경로).
|
|
23
|
+
|
|
24
|
+
## 언제 쓰나
|
|
25
|
+
- 방금 완성한 구현/설계/문서를 **배포·확정 전** 독립 검증하고 싶을 때.
|
|
26
|
+
- ralph/all-in-one이 끝난 뒤 **다른 모델의 시각**으로 한 번 더 거르고 싶을 때.
|
|
27
|
+
- 되돌리기 어렵거나 파급 큰 산출물(마이그레이션·공개 API·배포물).
|
|
28
|
+
|
|
29
|
+
## 쓰지 않을 때
|
|
30
|
+
- 사소한 변경(교차-LLM 왕복 비용이 이득을 초과).
|
|
31
|
+
- 다른 LLM 프로바이더 auth가 없고 대체 독립 경로도 없을 때(→ 최소 같은-런타임 `critic` 에이전트로 폴백).
|
|
32
|
+
|
|
33
|
+
## 워크플로
|
|
34
|
+
|
|
35
|
+
### 1. 입력 확보
|
|
36
|
+
검증 대상 = {작업 결과 요약 + **수용 기준(acceptance criteria)** + 변경 파일 목록 + 관련 코드}.
|
|
37
|
+
기준이 없으면 원 작업에서 도출(vague "잘 됐나?" 금지 — 검증 가능한 기준으로).
|
|
38
|
+
|
|
39
|
+
### 2. 다른 LLM·다른 세션으로 위임 (독립성)
|
|
40
|
+
위 런타임 매핑 경로로 **두 렌즈**를 함께 요청(`--lens` 로 선택, 기본 both):
|
|
41
|
+
- **ralplan --deliberate 렌즈**: 이 접근이 **optimal** 한가? 더 단순·빠르·유지보수 좋은 대안이 있나?
|
|
42
|
+
프리모템 3시나리오, 원칙 위반 여부.
|
|
43
|
+
- **ralph --critic=critic 렌즈**: **수용 기준 하나하나**를 신선한 증거로 검증. 변경 파일뿐 아니라
|
|
44
|
+
**관련 코드(호출자·피호출자·공유 타입·인접 모듈)** 까지 검토.
|
|
45
|
+
|
|
46
|
+
### 3. 판정 수신 → 반영
|
|
47
|
+
외부 LLM의 판정(`APPROVE` / `ITERATE` / `REJECT`)과 구체 이슈를 받는다. `APPROVE` 아니면:
|
|
48
|
+
원 런타임에서 이슈 수정 → **같은 외부 LLM으로 재검증**(2단계 반복).
|
|
49
|
+
|
|
50
|
+
### 4. 종료
|
|
51
|
+
- `APPROVE` → 검증 통과 보고(검증자 모델·판정 근거 명시).
|
|
52
|
+
- 같은 이슈가 **3회+ 재발** → 근본 블로커로 보고(무한루프 금지).
|
|
53
|
+
- auth/프로바이더 장애 → 정직히 보고하고 폴백 경로 안내(같은-런타임 critic).
|
|
54
|
+
|
|
55
|
+
## 플래그
|
|
56
|
+
| 플래그 | 효과 | 기본 |
|
|
57
|
+
|---|---|---|
|
|
58
|
+
| `--model <id>` | 검증 LLM 모델 지정 | 런타임 매핑 기본 경로 |
|
|
59
|
+
| `--effort xhigh` | effort 지원 모델에 전달 | 미지정 |
|
|
60
|
+
| `--lens=critic\|plan\|both` | 적용 렌즈 | both |
|
|
61
|
+
| `--max=N` | 최대 반복 | 5 |
|
|
62
|
+
|
|
63
|
+
## 함정
|
|
64
|
+
- **자기채점 금지가 본질** — 저자 모델·세션으로 검증하면 독립성이 사라진다. 반드시 **다른 LLM**.
|
|
65
|
+
- **auth env**: 비대화형 셸은 `~/.bashrc` 미로드로 프로바이더 토큰이 없으면 `401`(스킬 문제 아님).
|
|
66
|
+
`source ~/.bashrc` 후 교차-LLM 호출. 토큰 자체가 없으면 폴백 경로로.
|
|
67
|
+
- **모델명 하드코딩 금지** — 예시 모델(`gpt-5.6-sol` 등)을 리터럴로 박지 말고 파라미터화.
|
|
68
|
+
- **수용 기준 없이 검증 금지** — "잘 됐나?"가 아니라 검증 가능한 기준 대비 판정.
|
|
69
|
+
|
|
70
|
+
ARGUMENTS: [--model <id>] [--effort xhigh] [--lens=critic|plan|both] [--max=N] [검증 대상/기준]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ready-compact
|
|
3
|
-
description: "컨텍스트 compaction 직전 진행 상태를
|
|
3
|
+
description: "(banker) 컨텍스트 compaction 직전 진행 상태를 저장하고 이어갈 resume 프롬프트를 생성. 'ready-compact'/'compact 준비'/'이어서 하게 준비'/'이어갈 프롬프트' 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# ready-compact — compaction 전 상태 저장 + resume 프롬프트
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: refresh-git-ignore
|
|
3
|
-
description: "
|
|
3
|
+
description: "(banker) repo의 .gitignore를 비파괴·반복가능하게 갱신(런타임/빌드 아티팩트만 추가, 추적 파일 보호). 'refresh-git-ignore'/'.gitignore 갱신·정리'/'git status 잡음 줄여' 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# refresh-git-ignore — .gitignore 안전 갱신
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rfp-author
|
|
3
|
-
description: "소프트웨어 외주 제안요청서(RFP)를 한국
|
|
3
|
+
description: "(banker) 소프트웨어 외주 제안요청서(RFP)를 한국 공공/금융+국제+AI/LLM 골격으로 저작. 'rfp'/'제안요청서'/'RFP 작성'/'외주 RFP' 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# rfp-author — 외주 제안요청서(RFP) 저작 (요건 발의형 기본)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-insane-search
|
|
3
|
-
description: "insane-search(차단·봇방어 사이트 우회 검색·페치) 플러그인
|
|
3
|
+
description: "(banker) insane-search(차단·봇방어 사이트 우회 검색·페치) 플러그인 설치(Claude=gptaku_plugins, Codex=gptaku-codex). 'setup-insane-search'/'insane-search 설치' 또는 /banker:setup 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# setup-insane-search: insane-search 플러그인 설치
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-omc
|
|
3
|
-
description: "all-in-one·ultra-init·front-qa 가 의존하는 oh-my-claudecode(OMC)
|
|
3
|
+
description: "(banker) all-in-one·ultra-init·front-qa 가 의존하는 oh-my-claudecode(OMC) 설치/갱신(Codex는 OMX). 'setup-omc'/'OMC 설치'/'oh-my-claudecode 설치' 또는 /banker:setup 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# setup-omc: oh-my-claudecode(OMC) 설치/갱신
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-omc-hud
|
|
3
|
-
description: "omc_hud(Claude Code 상태표시줄)를 OS
|
|
3
|
+
description: "(banker) omc_hud(Claude Code 상태표시줄)를 OS별 apply 스크립트로 적용(Codex는 OMX hud). 'setup-omc-hud'/'omc_hud 설치' 또는 /banker:setup 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# setup-omc-hud — omc_hud 상태표시줄 설치 (OS별)
|
|
7
7
|
|
|
8
8
|
`smallOpenSource/omc_hud` 의 apply 스크립트를 OS에 맞게 내려받아 적용한다. `wget` 없으면 `curl`로 폴백. 답변은 한글.
|
|
9
9
|
|
|
10
|
+
**런타임:** omc_hud 는 Claude Code 상태표시줄(`~/.claude/settings.json` statusLine) 대상이다. **Codex 런타임에선 oh-my-codex(OMX)가 자체 `hud` 스킬/구성을 제공**하므로, Codex에선 이 스킬 대신 OMX 의 `hud` 를 사용한다.
|
|
11
|
+
|
|
10
12
|
## 0. 감지
|
|
11
13
|
```bash
|
|
12
14
|
case "$(uname -s)" in Darwin) OS=mac;; Linux) OS=linux;; *) OS=windows;; esac; echo "OS=$OS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-playwright
|
|
3
|
-
description: "Playwright + headless 브라우저를 OS·권한·conda 감지 후 설치
|
|
3
|
+
description: "(banker) Playwright + headless 브라우저를 OS·권한·conda 감지 후 설치(RHEL8/Rocky8·non-root·no-conda·xvfb 폴백). 'setup-playwright'/'playwright 설치' 또는 /banker:setup 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# setup-playwright — Playwright + headless 브라우저 설치 (OS·권한 적응형)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: setup-stitch
|
|
3
|
-
description: "Stitch(Google 디자인 생성) MCP 프록시를
|
|
2
|
+
name: setup-stitch
|
|
3
|
+
description: "(banker) Stitch(Google 디자인 생성) MCP 프록시를 claude mcp add(Codex는 codex mcp add)로 등록(시크릿 미커밋). 'setup-stitch'/'stitch 설치'/'stitch mcp' 또는 /banker:setup 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# setup-stitch
|
|
6
|
+
# setup-stitch — Stitch MCP 프록시 등록
|
|
7
7
|
|
|
8
8
|
Stitch(withgoogle) 디자인 생성 MCP 를 프록시로 Claude Code 에 붙인다. Node(npx) 필요.
|
|
9
9
|
**★시크릿(API key)은 사용자만 입력·환경변수로 — 채팅/로그/커밋에 절대 노출 금지.** 답변은 한글.
|
|
@@ -29,6 +29,13 @@ claude mcp list # stitch: … - ✔ Connected
|
|
|
29
29
|
```
|
|
30
30
|
키를 평문 파일에 두기 싫으면 `STITCH_API_KEY` 를 `~/.bashrc`(비커밋) 등에 export 하고 스크립트는 참조만.
|
|
31
31
|
|
|
32
|
+
**Codex CLI:** 같은 프록시 스크립트를 Codex에도 붙인다 — `claude mcp` 대신 `codex mcp` 를 쓴다.
|
|
33
|
+
```bash
|
|
34
|
+
codex mcp remove stitch 2>/dev/null
|
|
35
|
+
codex mcp add stitch -- ~/bin/stitch-proxy.sh
|
|
36
|
+
codex mcp list # stitch 연결 확인
|
|
37
|
+
```
|
|
38
|
+
|
|
32
39
|
## 2. windows
|
|
33
40
|
`~/bin` 셸 스크립트 대신 **WSL2** 권장(위 절차 그대로). native 면 `.cmd` 래퍼에 `set STITCH_API_KEY=…` 후
|
|
34
41
|
`npx -y @_davideast/stitch-mcp proxy` 실행, `claude mcp add stitch -- cmd /c <래퍼>.cmd`.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: smart-compact
|
|
3
|
+
description: "(banker) 컨텍스트 임계(기본 50%) 초과 시 append-wiki→ready-compact→compact-copy 자동 실행 + /copy·/compact·paste 유저 핸드오프 게이트. 'smart-compact' 활성화 / '--cancel' 해제."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# smart-compact — 컨텍스트 위생 자동 게이트
|
|
7
|
+
|
|
8
|
+
긴 세션에서 컨텍스트가 임계(기본 **50%**)를 넘으면, compaction 전에 상태를 안전하게 보존하는
|
|
9
|
+
리추얼을 **자동 발동**한다: `append-wiki` → `ready-compact` → `compact-copy` → *(유저)* `/copy`
|
|
10
|
+
→ `/compact` → paste. `smart-compact` 로 무장, `smart-compact --cancel` 로 해제한다.
|
|
11
|
+
|
|
12
|
+
## ⚠️ 정직한 실현 한계 (Claude Code 실측)
|
|
13
|
+
"컨텍스트 50%에서 완전 무인 자동"은 **부분만 가능**하다 — 근거:
|
|
14
|
+
- **감지**: 컨텍스트 사용률은 **statusLine stdin** 의 `context_window.used_percentage` 로만 실시간
|
|
15
|
+
노출된다(hook은 이 값을 못 받음; auto-compact은 ~95%에서만, 50% 이벤트 없음). → statusLine으로
|
|
16
|
+
**정확히 50% 감지 가능**.
|
|
17
|
+
- **자동 실행 가능(어시스턴트)**: `append-wiki` · `ready-compact` · `compact-copy` — 스킬/도구
|
|
18
|
+
작업이라 어시스턴트가 수행.
|
|
19
|
+
- **자동 불가(TUI 전용)**: `/copy` · `/compact` · **paste** 는 인터랙티브 TUI 동작이라 hook·스킬이
|
|
20
|
+
구동할 수 없다(hook은 슬래시명령 호출 불가, `additionalContext` 주입만 가능). → **이 3단은 유저가
|
|
21
|
+
실행**한다.
|
|
22
|
+
|
|
23
|
+
따라서 smart-compact의 자동화 천장 = **감지(정확) + 준비 자동 실행 + TUI 3단 유저 핸드오프**.
|
|
24
|
+
완전 hands-off를 약속하지 않는다(그건 별도 외부 데몬이 새 세션을 스폰해야 하고, 메인 세션이 idle일
|
|
25
|
+
때만·클립보드 보장 없이 취약). smart-compact은 **가장 신뢰 가능한 최대 자동화**를 택한다.
|
|
26
|
+
|
|
27
|
+
## 메커니즘 (무장 시 설치)
|
|
28
|
+
런타임 인식 — Claude Code 경로가 정밀, Codex는 신호 노출이 불확실(아래 참조).
|
|
29
|
+
|
|
30
|
+
**Claude Code (OMC):**
|
|
31
|
+
1. **statusLine 래퍼(compose-safe)**: 기존 `statusLine.command`(예: OMC HUD)를 **보존**하고, 그것을
|
|
32
|
+
호출해 출력을 그대로 통과시킨 뒤, stdin의 `context_window.used_percentage` 를 파싱한다. 임계 이상이면
|
|
33
|
+
신호 파일 `~/.claude/.smart-compact-signal`(uid별; `id -u`)에 timestamp를 쓰고 statusLine에
|
|
34
|
+
`⚠ smart-compact ARMED (NN%)` 를 덧붙인다. **기존 statusLine을 덮어쓰지 말고 감싼다.**
|
|
35
|
+
2. **hook 브리지**: `UserPromptSubmit`(또는 `PreToolUse`) hook이 신호 파일을 읽어 무장·미처리 상태면
|
|
36
|
+
`additionalContext` 로 "smart-compact: 컨텍스트 ≥임계 — 위생 체인 실행" 을 주입한다(hook은 명령을
|
|
37
|
+
못 부르므로 어시스턴트에게 **지시만** 한다).
|
|
38
|
+
3. **게이트 동작(어시스턴트)**: 주입을 받으면 자동파트 실행 → 이어 유저에게 TUI 3단을 정확한 명령으로 안내.
|
|
39
|
+
|
|
40
|
+
**Codex (OMX):**
|
|
41
|
+
- Codex가 statusline/hook에 컨텍스트%를 노출하는지 **미확인**(문서 부재). 노출되면 위와 동형으로 구성
|
|
42
|
+
(`~/.codex` 경로·OMX hook). 미노출이면 **휴리스틱 폴백**: 어시스턴트가 스스로 컨텍스트 압박을 감지해
|
|
43
|
+
체인을 제안하고, 유저가 트리거. 준비 스킬은 banker 것이 양 런타임 동일(아래).
|
|
44
|
+
|
|
45
|
+
## 게이트 체인
|
|
46
|
+
무장 후 임계 초과가 감지되면 순서대로:
|
|
47
|
+
|
|
48
|
+
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)*
|
|
51
|
+
4. *(유저 · TUI)* **`/copy`** → **`/compact`** → **paste**(복사된 resume 프롬프트 입력).
|
|
52
|
+
|
|
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 내장.)
|
|
56
|
+
|
|
57
|
+
## 활성화 (idempotent · compose-safe)
|
|
58
|
+
`smart-compact [--threshold N]` (기본 N=50):
|
|
59
|
+
1. `~/.claude/settings.json`(Codex는 `~/.codex/`)의 기존 `statusLine`·hook 설정을 **읽어 백업**
|
|
60
|
+
(`~/.claude/.smart-compact-prev.json`).
|
|
61
|
+
2. statusLine 래퍼 스크립트를 설치하고 `statusLine.command` 를 래퍼로 교체(래퍼가 이전 command를 위임 호출).
|
|
62
|
+
3. `UserPromptSubmit` hook 항목을 **추가**(기존 hook 보존, 중복 방지 — 이미 있으면 skip).
|
|
63
|
+
4. 임계값을 래퍼에 기록. 무장 완료를 보고.
|
|
64
|
+
|
|
65
|
+
**멱등·안전 불변식**: 두 번 활성화해도 중복 설치 안 됨. 기존 statusLine/hook을 절대 삭제·덮어쓰지
|
|
66
|
+
않고 **감싸거나 추가만** 한다(uid는 `id -u` 로 계산, 하드코딩 금지).
|
|
67
|
+
|
|
68
|
+
## 해제
|
|
69
|
+
`smart-compact --cancel`:
|
|
70
|
+
1. 백업(`~/.claude/.smart-compact-prev.json`)에서 원래 `statusLine`·hook 설정 **복원**.
|
|
71
|
+
2. 래퍼 스크립트·신호 파일·백업 제거.
|
|
72
|
+
3. 무장 해제를 보고. (백업이 없으면 smart-compact가 추가한 항목만 안전 제거.)
|
|
73
|
+
|
|
74
|
+
## 함정
|
|
75
|
+
- **statusLine 덮어쓰기 금지** — OMC HUD 등 기존 statusLine을 감싸라(복원 가능하게 백업).
|
|
76
|
+
- **완전 자동 과대약속 금지** — `/copy`·`/compact`·paste는 TUI 전용, 유저 핸드오프임을 항상 명시.
|
|
77
|
+
- **uid 하드코딩 금지** — 신호/경로는 `id -u` 로.
|
|
78
|
+
- **hook은 명령을 못 부른다** — `additionalContext` 로 어시스턴트에게 지시할 뿐, 스스로 체인을 실행하지 못함.
|
|
79
|
+
- **Codex 신호 미확인** — 노출 안 되면 휴리스틱 폴백으로 정직히 degrade(50% 정밀 트리거 미보장).
|
|
80
|
+
|
|
81
|
+
ARGUMENTS: [--threshold N] | --cancel (없으면 기본 임계 50%로 무장)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-init
|
|
3
|
-
description: "아이디어·러프 브리프·그린필드를 계획→구현→QA 통과까지
|
|
3
|
+
description: "(banker) 아이디어·러프 브리프·그린필드를 계획→구현→QA 통과까지 핸즈오프 1회 자율 실행(ralplan→ultragoal→ralph→ultraqa). 'ultra-init'/'알아서 만들어'/'핸즈오프 빌드'/'idea to passing' 시 사용."
|
|
4
4
|
argument-hint: "[--short|--deliberate] [--gated] [--qa tests,build,lint,typecheck] [--critic=architect|critic|codex] [--plan-id <id>] <브리프 / 만들 것>"
|
|
5
5
|
level: 4
|
|
6
6
|
---
|
|
@@ -45,6 +45,7 @@ Several bundled skills are loop/persistence engines. To prevent competing loops,
|
|
|
45
45
|
- Resolve the brief from the skill arguments. If it is empty, ask once for the brief, then proceed.
|
|
46
46
|
- Parse flags: planning depth (`--deliberate` = default, `--short` = lighter ralplan), `--gated`, `--qa <dims>`, `--critic=...`, `--plan-id <id>`.
|
|
47
47
|
- **OMC prerequisite**: this skill orchestrates OMC's `ralplan`/`ralph`/`ultraqa`, so it needs the `omc` CLI. Check `command -v omc`; if missing, **guide installation first** via `/banker:setup` → oh-my-claudecode (or the `setup-omc` skill / `omc update`), then resume once it is available. Only if the user declines to install, run ultragoal in **degraded mode**: skip the durable ledger, write the approved plan to `plan.md`, and rely on ralph's session-scoped `prd.json` (say so explicitly).
|
|
48
|
+
- **런타임 매핑 (Claude Code ↔ Codex).** `ralplan`·`ralph`·`ultraqa`·`ultragoal`·`cancel` 은 Claude Code에선 OMC, **Codex에선 oh-my-codex(OMX)가 제공하는 동명 스킬**이다(Codex는 `omx setup` 전제). 아래 Phase들의 `Skill("oh-my-claudecode:<name>")` 표기는 Claude Code 기준 — **Codex 런타임에선 OMX의 해당 스킬을 적용**한다. `omc ultragoal` CLI(Phase 2)는 Codex에선 OMX의 대응 명령을 쓰거나(정확한 플래그는 감지, 임의 가정 금지), 위 degraded 모드(`plan.md` + ralph `prd.json`)로 대체한다.
|
|
48
49
|
|
|
49
50
|
### Phase 1 — PLAN: ralplan --deliberate (합의 계획)
|
|
50
51
|
- Invoke `Skill("oh-my-claudecode:ralplan")` with `--deliberate <brief>` in **non-interactive** mode (so it produces the consensus-approved plan, marks it `pending approval`, and **stops without launching team/ralph itself** — ultra-init controls the hand-off).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-ui-qa
|
|
3
|
-
description: "웹 UI를 playwright로
|
|
3
|
+
description: "(banker) 웹 UI를 playwright로 렌더해 디자인 SoT(PDF/스펙)와 1:1 대조 + 내부개념 텍스트 누출 점검(HTTP 200만으로 PASS 금지). 'ultra ui qa'/'UI 대조'/'디자인 PDF와 대조'/'어색한 내용 점검' 시 사용."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# ultra-ui-qa — 라이브 UI ↔ SoT 엄격 대조 + 내부개념 누출 점검
|