@kaydash9999/banker-plugins 0.3.0 → 0.5.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 (51) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +38 -0
  4. package/README.md +31 -6
  5. package/codex/manifest.json +28 -9
  6. package/codex/transform-matrix.md +19 -5
  7. package/commands/front-qa.md +2 -1
  8. package/commands/setup.md +31 -17
  9. package/package.json +1 -1
  10. package/skills/all-in-one/SKILL.md +3 -12
  11. package/skills/append_wiki/SKILL.md +1 -1
  12. package/skills/arch-diagram/SKILL.md +1 -1
  13. package/skills/arch-diagram/build_pptx_template.py +2 -0
  14. package/skills/audit-mock/SKILL.md +1 -1
  15. package/skills/audit-security/SKILL.md +1 -1
  16. package/skills/audit-web-page/SKILL.md +1 -1
  17. package/skills/compact-copy/SKILL.md +2 -6
  18. package/skills/compact-wiki/SKILL.md +1 -1
  19. package/skills/curation/SKILL.md +80 -0
  20. package/skills/deep-init/SKILL.md +120 -0
  21. package/skills/deep-research/SKILL.md +63 -0
  22. package/skills/docs-setup/SKILL.md +81 -0
  23. package/skills/harness-factory/SKILL.md +114 -0
  24. package/skills/humanizer/SKILL.md +1 -1
  25. package/skills/lineage/SKILL.md +1 -1
  26. package/skills/make-notion-guide/SKILL.md +1 -1
  27. package/skills/nothing-design/SKILL.md +1 -1
  28. package/skills/omc-reference/SKILL.md +35 -2
  29. package/skills/pdf-vision-extract/SKILL.md +1 -1
  30. package/skills/play-qa/SKILL.md +1 -1
  31. package/skills/ralph-qa/SKILL.md +70 -0
  32. package/skills/ready-compact/SKILL.md +1 -1
  33. package/skills/refresh-git-ignore/SKILL.md +1 -1
  34. package/skills/rfp-author/SKILL.md +1 -1
  35. package/skills/setup-insane-search/SKILL.md +1 -1
  36. package/skills/setup-java/SKILL.md +113 -0
  37. package/skills/setup-lsp/SKILL.md +232 -0
  38. package/skills/setup-mcp/SKILL.md +156 -0
  39. package/skills/setup-node/SKILL.md +112 -0
  40. package/skills/setup-omc/SKILL.md +1 -1
  41. package/skills/setup-omc-hud/SKILL.md +3 -1
  42. package/skills/setup-playwright/SKILL.md +1 -1
  43. package/skills/setup-pwsh/SKILL.md +106 -0
  44. package/skills/setup-python/SKILL.md +121 -0
  45. package/skills/setup-sandbox/SKILL.md +202 -0
  46. package/skills/{setup-stitch-proxy → setup-stitch}/SKILL.md +10 -3
  47. package/skills/setup-tmux/SKILL.md +105 -0
  48. package/skills/smart-compact/SKILL.md +81 -0
  49. package/skills/ultra-init/SKILL.md +2 -1
  50. package/skills/ultra-ui-qa/SKILL.md +1 -1
  51. package/skills/visual-ralph/SKILL.md +120 -0
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Claude Code skills + commands — QA, audit, docs, architecture, dependency setup, and wiki; the banker plugin marketplace.",
9
- "version": "0.3.0"
9
+ "version": "0.5.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "banker",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Claude Code plugin: QA/audit/docs/architecture skills + commands, a /banker:setup installer for OS dependencies (playwright, etc.), and wiki compaction.",
5
5
  "author": {
6
6
  "name": "smallOpenSource",
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.0] - 2026-07-15
4
+
5
+ ### Added
6
+ - **신규 스킬 9종** (전부 `target: both`, 런타임 인식 — Claude=OMC / Codex=OMX): 개발환경 "harness" 구성요소를 OS별·런타임별로 개별 설치/구성하는 스킬 계층. USER_RESOURCES의 과거버전 가이드(5-OS Claude Code + 6-OS Codex/Azure)에서 공통 유용요소를 추출하고 2026 현행 방식으로 현행화했다.
7
+ - `setup-node`: nvm + Node 22 (winget/nvm-windows) per-OS. npx 기반 MCP·CLI의 전제.
8
+ - `setup-python`: Python 3.11 + pipx + uv per-OS (dnf module/deadsnakes/winget/brew, PEP668). `docs-setup`가 이 런타임을 소비.
9
+ - `setup-java`: JDK 21 + JAVA_HOME per-OS (Debian은 Adoptium Temurin 전용). `setup-lsp`의 jdtls가 요구.
10
+ - `setup-lsp`: 언어별 LSP(vtsls·basedpyright·bash·jdtls·spring) + lsp-mcp 브리지. Claude=LSP MCP 도구, Codex=`config.toml [mcp_servers.lsp_bridge]`. `--lang` 선택.
11
+ - `setup-tmux`: tmux per-OS (Rocky8 `3.6a` 소스빌드·apt/brew·Windows psmux). OMC team·worktree / OMX `$team`·HUD 전제.
12
+ - `setup-pwsh`: Windows PowerShell 7 환경(`$PROFILE` UTF-8·Terminal·Git). Claude=`CLAUDE_CODE_GIT_BASH_PATH`, Codex=네이티브 셸. 비-Windows는 no-op 안내.
13
+ - `setup-mcp`: 공통 MCP 서버(context7·sequential-thinking·filesystem·git·fetch). Claude=`claude mcp add`, Codex=`config.toml [mcp_servers.*]` (timeout 300).
14
+ - `setup-sandbox`: OS별 샌드박스(bubblewrap+userns / AppContainer / Seatbelt) + rust/cargo + git `safe.directory`. Codex=`sandbox_mode`.
15
+ - `harness-factory`: revfactory/harness(팀 아키텍처 팩토리) 플러그인 설치+구성+사용안내. Claude=`harness@harness-marketplace`(+`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 를 settings.json에 영속), Codex=`SaehwanPark/meta-harness`. 설치를 넘어 모드/6패턴 선택·비용가드(~7× 토큰)·experimental 리스크 고지까지 담되, harness references는 이식하지 않고 설치된 플러그인 참조(Apache-2.0 연동/참조, banker 재배포 아님).
16
+
17
+ ### Changed
18
+ - Codex 설치 스킬 수 **32 → 41**(+커맨드 2 유지, claude-only=0). **2계층 아키텍처**: 얇은 setup-* 실행 유닛 + `banker:setup`/`harness-factory` 오케스트레이터가 조합·의존성 관리(setup-lsp→node/python/java, setup-mcp→node/python, docs-setup→python).
19
+ - `commands/setup.md` 오케스트레이터에 신규 9 스킬(계층·의존성)을 추가하고, `README.md`·`codex/transform-matrix.md`를 동기화했다. `scripts/smoke-test.js`에 `copies===41` + 신규 9 존재 회귀 단언을 추가했다.
20
+ - **서드파티 명시(연동/참조, 재배포 아님)**: revfactory/harness·SaehwanPark/meta-harness(Apache-2.0), jdtls(EPL), tmux(ISC), psmux, basedpyright·vtsls·bash-language-server·lsp-mcp 등 각 프로젝트 라이선스 소유.
21
+ - **per-OS CI**: `.github/workflows/`에 GitHub-hosted 러너(ubuntu/windows/macos + Rocky8 컨테이너) 기반 설치·동작 검증 워크플로를 추가했다(설치가 실제 실행되는 도구를 만드는지 "존재 vs 동작" 검증).
22
+
23
+ ## [0.4.0] - 2026-07-15
24
+
25
+ ### Added
26
+ - **신규 스킬 6종** (전부 `target: both`, 런타임 인식 본문 — Claude=OMC / Codex=OMX):
27
+ - `curation`: 의사결정을 {선택지·권고안·권고 근거·확신수준(0.00~1.00)·확신수준 근거} 형식으로 큐레이션. `--perf` 는 결과물 품질·완성도를 노력/토큰/시간 효율보다 우선하는 채택 기준을 추가. 외부 의존 0(양 런타임 동일 동작).
28
+ - `deep-init`: 코드베이스 전체에 계층형 `AGENTS.md` 문서 생성/갱신(부모 역참조·`<!-- MANUAL -->` 보존·계층 검증). OMC `deepinit` 이식으로 banker `ultra-init`(자율 풀사이클 빌드)과는 별개. 서브에이전트 Claude=OMC explore/architect/writer, Codex=OMX worker/explore, 부재 시 직접 수행.
29
+ - `visual-ralph`: 레퍼런스(생성/정적/라이브 URL) 기준 프론트 UI를 Visual Verdict(≥90)+픽셀 diff로 측정 빌드하고 재사용 디자인 시스템을 남긴다. OMX `visual-ralph` 이식. Claude=`ralph`+`visual-verdict`+Stitch(`setup-stitch-proxy`)/ccg imagegen, Codex=`$ralph`+`$imagegen`.
30
+ - `deep-research`: 다중 소스 팬아웃 → 적대적 다표결 검증(2/3 반증 시 폐기) → 확신순 인용 합성. 번들 워크플로를 prose 로 재저작(구조적 병렬 fan-out 충실도 하락을 명시). Claude=번들 워크플로/`WebSearch`, Codex=OMX `autoresearch`.
31
+ - `ralph-qa`: 작업 결과를 **다른 LLM·별도 세션**으로 `ralplan --deliberate`+`ralph --critic=critic` 로직으로 독립 검증/개선 반복(anti-self-approval). Claude=`omc ask codex`/`ccg`, Codex=OMX `$ask`(Claude/Gemini). 검증 모델은 파라미터화(`--model`·`--effort`; 예시 `gpt-5.6-sol` 은 하드코딩하지 않음).
32
+ - `smart-compact`: 컨텍스트 사용률이 임계(기본 50%)를 넘으면 `append-wiki`→`ready-compact`→`compact-copy` 를 자동 실행하고 `/copy`·`/compact`·paste 를 유저에게 핸드오프하는 게이트. Claude statusLine `context_window.used_percentage` 로 감지(hook은 context% 미노출·슬래시명령 호출 불가 → TUI 3단은 유저 실행), 기존 statusLine 을 감싸는 compose-safe 설치. `--cancel` 해제.
33
+
34
+ ### Changed
35
+ - **Codex 이식 확대(claude-only → both)**: 이전 OMC/Claude 결합 표면(스킬 `all-in-one`·`ultra-init`·`omc-reference`·`compact-copy`·`setup-omc-hud`·`setup-stitch-proxy` + 커맨드 `front-qa`·`setup`)을 **런타임 인식 본문**으로 재작성해 `target: both` 로 승격했다(`setup-omc` 는 기존부터 dual). Codex에선 OMC 대신 oh-my-codex(OMX)의 동명 스킬(ralplan/ralph/ultraqa/hud 등)·`codex mcp`·내장 `/copy` 를 사용한다. `codex/manifest.json` 의 claude-only=0.
36
+ - **`omc-reference` dualize**: 본문에 실측 OMX(oh-my-codex 0.18.16) 카탈로그(Agent Prompts·Skills Registry·Interfaces + OMC↔OMX 대응)를 병기해 Codex에서도 정확한 레퍼런스가 되도록 격상(기존 disclaimer-only → dual).
37
+ - Codex 설치 스킬 수 **25 → 32**(+커맨드 2 유지). `README.md`·`codex/transform-matrix.md` 를 동기화하고, `scripts/smoke-test.js` 에 `copies===32` + 신규 6스킬 존재 + `deep-interview` 부재(이미 OMC·OMX 네이티브라 미번들) 회귀 단언을 추가했다.
38
+ - **스킬 설명(description) 정규화**: 전 스킬 + 2 커맨드의 `description` 을 `(banker)` 접두로 통일하고 em/en dash 등 AI slop 표현을 제거·간결화했다(트리거 키워드는 보존). Codex `codex debug prompt-input` 로 banker-* 가 "Available skills" 에 노출됨을 실측 확인.
39
+ - **setup 스킬 정비**: `setup-stitch-proxy` → `setup-stitch` 개명(RockyLinux8 `~/bin/stitch-proxy.sh` proxy-script 절차 그대로) + **`docs-setup` 신규**(arch-diagram·pdf-vision-extract 의존성 python-pptx·pymupdf·plantuml 설치, python-env 감지/선택·venv 우선). Codex 스킬 **31→32**, `/banker:setup` 오케스트레이터·`smoke-test` rename-guard 에 반영.
40
+
3
41
  ## [0.3.0] - 2026-07-02
4
42
 
5
43
  ### Changed
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  [빠른 시작](#빠른-시작) · [구성](#구성) · [설치 상세](#설치-상세-npm--codex) · [요구사항](#요구사항) · [업데이트 / 제거](#업데이트--제거) · [라이선스 / 서드파티](#라이선스--서드파티)
9
9
 
10
- banker는 QA, 보안 감사, 문서, 아키텍처, 위키 작업을 위한 스킬 25개와 의존성 설치 스킬을 묶은 Claude Code 플러그인입니다. 설치하면 스킬과 커맨드가 `/banker:<이름>` 네임스페이스로 노출됩니다. 이 저장소 자체가 Claude Code 마켓플레이스(`.claude-plugin/marketplace.json`)이자 플러그인(`.claude-plugin/plugin.json`, name `banker`)이며, 도구에 무관한 스킬은 Codex CLI에도 설치됩니다.
10
+ banker는 QA, 보안 감사, 문서, 아키텍처, 위키 작업을 위한 스킬 41개와 의존성·개발환경(OS별) 설치 스킬을 묶은 Claude Code 플러그인입니다. 설치하면 스킬과 커맨드가 `/banker:<이름>` 네임스페이스로 노출됩니다. 이 저장소 자체가 Claude Code 마켓플레이스(`.claude-plugin/marketplace.json`)이자 플러그인(`.claude-plugin/plugin.json`, name `banker`)이며, 도구에 무관한 스킬은 Codex CLI에도 설치됩니다.
11
11
 
12
12
  > npm 패키지(`@kaydash9999/banker-plugins`)와 GitHub 저장소(`smallOpenSource/banker_plugins`)는 같은 메인테이너가 관리합니다.
13
13
 
@@ -51,6 +51,7 @@ playwright(브라우저 QA)나 oh-my-claudecode(OMC/OMX)처럼 별도 의존성
51
51
  | `audit-web-page` | 라이브 웹 페이지 점검 (playwright·WebGL 캔버스) |
52
52
  | `play-qa` | Godot HTML5까지 포함한 웹 환경 직접 플레이 QA |
53
53
  | `ultra-ui-qa` | UI를 기준(디자인 PDF/스펙)과 1:1 대조 QA |
54
+ | `visual-ralph` | 레퍼런스(생성/정적/URL) 기준 프론트 UI를 Visual Verdict(≥90)로 측정 빌드 |
54
55
 
55
56
  ### 스킬: 문서 · 디자인 · 위키
56
57
 
@@ -65,6 +66,7 @@ playwright(브라우저 QA)나 oh-my-claudecode(OMC/OMX)처럼 별도 의존성
65
66
  | `lineage` | 세션 대화를 카카오톡 스타일 단일 HTML로 export |
66
67
  | `append_wiki` | 프로젝트 위키 문서 추가/보강 |
67
68
  | `compact-wiki` | 위키 중복 제거·supersede·병합 (무손실) |
69
+ | `deep-init` | 코드베이스 전체에 계층형 AGENTS.md 문서 생성/갱신 |
68
70
 
69
71
  ### 스킬: 워크플로 · 유틸
70
72
 
@@ -75,17 +77,38 @@ playwright(브라우저 QA)나 oh-my-claudecode(OMC/OMX)처럼 별도 의존성
75
77
  | `ready-compact` | 컨텍스트 compaction 직전 상태 저장/이어가기 |
76
78
  | `compact-copy` | resume 프롬프트만 추출해 클립보드/파일로(compaction 이어가기) |
77
79
  | `refresh-git-ignore` | `.gitignore` 비파괴·반복가능 갱신 |
78
- | `omc-reference` | OMC 에이전트/툴/스킬 레퍼런스 |
80
+ | `omc-reference` | OMC/OMX 에이전트·툴·스킬 레퍼런스(양 런타임 병기) |
81
+ | `curation` | 의사결정을 선택지·권고·확신수준으로 큐레이션(--perf=품질 우선) |
82
+ | `ralph-qa` | 작업 결과를 다른 LLM·별도 세션으로 독립 교차검증 반복 |
83
+ | `smart-compact` | 컨텍스트 임계 초과 시 위키·resume 저장 게이트 자동 무장 |
84
+ | `deep-research` | 다중 소스 팬아웃 + 적대적 검증 인용 리서치 |
85
+
86
+ ### 스킬: 개발환경 setup (OS별 · 런타임별)
87
+
88
+ USER_RESOURCES 가이드의 공통 요소를 OS별·런타임별(Claude Code/Codex)로 구성하는 얇은 실행 유닛. `/banker:setup` 오케스트레이터가 의존 순서(런타임 먼저)로 조합한다.
89
+
90
+ | 스킬 | 설명 |
91
+ |---|---|
92
+ | `setup-node` | nvm + Node 22 (winget/nvm-windows) |
93
+ | `setup-python` | Python 3.11 + pipx + uv (PEP668) |
94
+ | `setup-java` | JDK 21 + JAVA_HOME (Debian=Adoptium Temurin) |
95
+ | `setup-lsp` | 언어별 LSP(vtsls·basedpyright·bash·jdtls·spring) + lsp-mcp 브리지 (node·python·java 의존) |
96
+ | `setup-tmux` | tmux(Rocky8 3.6a 소스빌드) / psmux(Windows) |
97
+ | `setup-pwsh` | Windows PowerShell 7 환경(비-Windows no-op) |
98
+ | `setup-mcp` | 공통 MCP 서버(context7·seq-thinking·filesystem·git·fetch) |
99
+ | `setup-sandbox` | OS별 샌드박스(bubblewrap+userns / Seatbelt) + rust + git safe.directory |
79
100
 
80
101
  ### 스킬: 설치 (`/banker:setup` 가 호출)
81
102
 
82
103
  | 스킬 | 설명 |
83
104
  |---|---|
84
105
  | `setup-omc` | oh-my-claudecode(OMC) 설치·갱신 (Codex는 OMX) |
106
+ | `harness-factory` | revfactory/harness 팀 아키텍처 팩토리 설치·구성·사용안내 (Codex=meta-harness) |
85
107
  | `setup-playwright` | Playwright + headless 브라우저 (RHEL8/Rocky8·non-root·no-conda 폴백) |
86
108
  | `setup-omc-hud` | omc_hud 상태표시줄 (OS별) |
87
109
  | `setup-insane-search` | insane-search 플러그인 설치 (Claude·Codex) |
88
- | `setup-stitch-proxy` | Stitch 디자인 MCP 프록시 등록 |
110
+ | `setup-stitch` | Stitch 디자인 MCP 프록시 등록(RockyLinux8 proxy) |
111
+ | `docs-setup` | arch-diagram·pdf-vision-extract 의존성(pptx·pymupdf·plantuml) 설치 |
89
112
 
90
113
  ## 설치 상세 (npm · Codex)
91
114
 
@@ -102,8 +125,8 @@ banker uninstall # 제거
102
125
 
103
126
  - `--scope project` 로 프로젝트 로컬(`./.codex`)에 설치하고, `--dry-run` 으로 미리 볼 수 있습니다.
104
127
  - non-root 전용입니다(전역 sudo 설치 시 root 소유 파일을 방지). postinstall이 없으므로 `banker setup` 을 직접 실행합니다.
105
- - Codex에는 도구에 무관한 스킬 18개가 설치됩니다(`codex/manifest.json`). 스킬은 `~/.codex/skills/banker-<name>/` 에 놓이고, 디렉터리명과 일치하도록 프론트매터 `name:` 이 `banker-<name>` 으로 재작성되어 Codex가 `banker-<name>` 으로 인식합니다.
106
- - OMC나 `claude` 에 결합된 스킬(all-in-one, ultra-init, omc-reference, setup-omc, setup-omc-hud, setup-stitch-proxy)과 Claude Code 내장 `/copy` 에 의존하는 compact-copy, 그리고 `/banker:front-qa`·`/banker:setup` 커맨드는 Claude Code 전용입니다.
128
+ - Codex에는 스킬 41개가 `~/.codex/skills/banker-<name>/` 에, 커맨드 2개가 `~/.codex/prompts/banker-<name>.md` 에 설치됩니다(`codex/manifest.json`). 디렉터리명과 일치하도록 프론트매터 `name:` 이 `banker-<name>` 으로 재작성되어 Codex가 `banker-<name>` 으로 인식합니다.
129
+ - OMC/Claude 에 결합됐던 오케스트레이터·설치·유틸 표면(all-in-one·ultra-init·front-qa·setup·setup-omc·setup-omc-hud·setup-stitch·omc-reference·compact-copy)은 본문이 **런타임 인식**이라 Codex에서도 동작합니다 — Codex에선 OMC 대신 **oh-my-codex(OMX)** 의 동명 스킬(ralplan·ralph·ultraqa·hud 등)과 `codex mcp`·내장 `/copy` 를 사용합니다(Codex는 `omx setup` 전제).
107
130
  - `~/.codex/AGENTS.md` 는 건드리지 않습니다(omx가 재생성하므로 `~/.codex/skills/` 자동 검색에 의존).
108
131
 
109
132
  ## 요구사항
@@ -147,9 +170,11 @@ banker 자체는 **MIT** ([LICENSE](LICENSE)). Owner: [smallOpenSource](https://
147
170
  - Python: python-pptx(MIT, `arch-diagram`), python-docx(MIT, `rfp-author`), Playwright(Apache-2.0, `audit-web-page`·`play-qa`·`ultra-ui-qa`), detect-secrets(Apache-2.0, `lineage` 시크릿 스캔).
148
171
  - 브라우저·렌더링: Chromium(BSD-3-Clause), SwiftShader(Apache-2.0), Xvfb·X.Org(MIT). `setup-playwright` 및 브라우저 QA 스킬이 사용.
149
172
  - 문서·다이어그램: PlantUML(GPL 계열·다중 라이선스, `arch-diagram`), Poppler(GPL, `pdftoppm`), ImageMagick(ImageMagick License, `pdf-vision-extract`).
173
+ - 개발환경·LSP: Node.js·nvm(MIT), uv(Apache-2.0/MIT), OpenJDK·Temurin(GPL+CE), jdtls(EPL-2.0), basedpyright(MIT)·vtsls·bash-language-server(MIT)·vscode-langservers-extracted, lsp-mcp([CesarPetrescu/lsp-mcp](https://github.com/CesarPetrescu/lsp-mcp)), tmux(ISC)·psmux, bubblewrap(LGPL-2.0), rustup. `setup-node`·`setup-python`·`setup-java`·`setup-lsp`·`setup-tmux`·`setup-sandbox` 가 설치.
150
174
 
151
175
  **연동·참조 (외부 프레임워크·서비스·브랜드)**
152
176
  - 프레임워크: oh-my-claudecode(OMC, **MIT**)·oh-my-codex(OMX, **MIT**), by [Yeachan-Heo](https://github.com/Yeachan-Heo). `all-in-one`·`ultra-init`·`/banker:front-qa`·`setup-omc` 가 사용.
153
177
  - 플러그인: insane-search(**MIT**, © fivetaku, [fivetaku/gptaku_plugins](https://github.com/fivetaku/gptaku_plugins)). `setup-insane-search` 가 설치.
154
- - 서비스·디자인(독점·상표): Notion(`make-notion-guide`), Google Stitch(`setup-stitch-proxy`), Nothing 디자인 언어(`nothing-design`).
178
+ - 팀 아키텍처 팩토리: revfactory/harness(**Apache-2.0**, © Minho Hwang, [revfactory/harness](https://github.com/revfactory/harness))·Codex 포트 SaehwanPark/meta-harness(**Apache-2.0**). `harness-factory` 가 설치(banker 는 재배포하지 않고 설치·구성만 안내).
179
+ - 서비스·디자인(독점·상표): Notion(`make-notion-guide`), Google Stitch(`setup-stitch`), Nothing 디자인 언어(`nothing-design`).
155
180
  - QA 대상 엔진(예시): Godot(MIT), Phaser(MIT) 등(`play-qa`).
@@ -21,15 +21,34 @@
21
21
  { "name": "setup-insane-search", "type": "skill", "target": "both", "reason": "installs the insane-search plugin; Claude via `claude plugin`, Codex via `codex plugin add insane-research-codex@gptaku-codex`", "supportingFiles": [] },
22
22
  { "name": "ultra-ui-qa", "type": "skill", "target": "both", "reason": "UI vs SoT QA; tool-agnostic", "supportingFiles": [], "caveat": "needs playwright (setup-playwright)" },
23
23
 
24
- { "name": "all-in-one", "type": "skill", "target": "claude-only", "reason": "orchestrates OMC ralplan->ralph->ultraqa (Claude/OMC-specific)", "supportingFiles": [] },
25
- { "name": "compact-copy", "type": "skill", "target": "claude-only", "reason": "manipulates Claude Code /copy + response.md artifact (Claude-specific)", "caveat": "depends on Claude Code /copy builtin + /tmp/claude-<uid>/response.md internal path; may change across Claude Code versions", "supportingFiles": [] },
26
- { "name": "ultra-init", "type": "skill", "target": "claude-only", "reason": "orchestrates OMC ralplan/ultragoal/ralph/ultraqa (Claude/OMC-specific)", "supportingFiles": [] },
27
- { "name": "omc-reference", "type": "skill", "target": "claude-only", "reason": "OMC-internal agent/tool/skill registry reference", "supportingFiles": [] },
28
- { "name": "setup-omc", "type": "skill", "target": "claude-only", "reason": "installs/refreshes oh-my-claudecode (OMC) that all-in-one/ultra-init/front-qa depend on; Codex users run `omx setup`", "supportingFiles": [] },
29
- { "name": "setup-omc-hud", "type": "skill", "target": "claude-only", "reason": "installs omc_hud (Claude Code statusline)", "supportingFiles": [] },
30
- { "name": "setup-stitch-proxy", "type": "skill", "target": "claude-only", "reason": "shells `claude mcp add` (Claude Code MCP registration)", "supportingFiles": [] },
24
+ { "name": "all-in-one", "type": "skill", "target": "both", "reason": "orchestrates ralplan->ralph->ultraqa; Claude=OMC, Codex=OMX (same-named skills); body runtime-aware", "supportingFiles": [] },
25
+ { "name": "compact-copy", "type": "skill", "target": "both", "reason": "shapes final message for /copy (built into BOTH Claude Code and Codex); response path is per-runtime; ready-compact(both) seeds the prompt", "supportingFiles": [] },
26
+ { "name": "ultra-init", "type": "skill", "target": "both", "reason": "orchestrates ralplan/ultragoal/ralph/ultraqa; Claude=OMC, Codex=OMX; body runtime-aware", "supportingFiles": [] },
27
+ { "name": "omc-reference", "type": "skill", "target": "both", "reason": "OMC/OMX agent/tool/skill registry reference; runtime-aware (Codex counterpart is OMX)", "supportingFiles": [] },
28
+ { "name": "setup-omc", "type": "skill", "target": "both", "reason": "installs OMC (Claude) or OMX (Codex `omx setup`); body already dual-runtime", "supportingFiles": [] },
29
+ { "name": "setup-omc-hud", "type": "skill", "target": "both", "reason": "installs omc_hud (Claude statusLine); Codex uses OMX `hud`; runtime-aware", "supportingFiles": [] },
30
+ { "name": "setup-stitch", "type": "skill", "target": "both", "reason": "registers the Stitch MCP proxy (RockyLinux8 ~/bin/stitch-proxy.sh); Claude `claude mcp add`, Codex `codex mcp add`", "supportingFiles": [] },
31
31
 
32
- { "name": "front-qa", "type": "command", "target": "claude-only", "reason": "ralplan->ralph->loop OMC pipeline command", "supportingFiles": [] },
33
- { "name": "setup", "type": "command", "target": "claude-only", "reason": "/banker:setup orchestrator (Claude-side multi-select installer)", "supportingFiles": [] }
32
+ { "name": "docs-setup", "type": "skill", "target": "both", "reason": "installs arch-diagram/pdf-vision-extract deps (python-pptx, pymupdf, plantuml); python-env detect/select; runtime-agnostic installer", "supportingFiles": [] },
33
+
34
+ { "name": "curation", "type": "skill", "target": "both", "reason": "decision-framing behavior (options/rec/confidence + --perf); no runtime deps; identical in both", "supportingFiles": [] },
35
+ { "name": "deep-init", "type": "skill", "target": "both", "reason": "hierarchical AGENTS.md generation (port of OMC deepinit); runtime-agnostic fs+doc; subagents Claude=OMC/Codex=OMX", "supportingFiles": [] },
36
+ { "name": "deep-research", "type": "skill", "target": "both", "reason": "fan-out + adversarial-verify web research (re-authored from bundled workflow); Claude WebSearch/Workflow, Codex OMX autoresearch; runtime-aware", "supportingFiles": [] },
37
+ { "name": "ralph-qa", "type": "skill", "target": "both", "reason": "cross-LLM independent verify loop (ralplan+critic logic via other LLM); Claude `omc ask codex`/ccg, Codex OMX `$ask`; runtime-aware", "supportingFiles": [] },
38
+ { "name": "smart-compact", "type": "skill", "target": "both", "reason": "context-threshold compaction-hygiene gate (statusLine detect + hook bridge + assistant chain + TUI handoff); runtime-aware", "supportingFiles": [] },
39
+ { "name": "visual-ralph", "type": "skill", "target": "both", "reason": "measured visual build loop (port of OMX visual-ralph); Claude ralph+visual-verdict+Stitch imagegen, Codex $ralph+$imagegen; runtime-aware", "supportingFiles": [] },
40
+
41
+ { "name": "setup-node", "type": "skill", "target": "both", "reason": "installs nvm+Node22 (or winget/nvm-windows) per-OS; prerequisite for npx MCP servers + Codex/OMX tooling; runtime-agnostic installer", "supportingFiles": [] },
42
+ { "name": "setup-python", "type": "skill", "target": "both", "reason": "installs Python 3.11 + pipx + uv per-OS (dnf module/deadsnakes/winget/brew, PEP668); runtime foundation; docs-setup consumes it", "supportingFiles": [] },
43
+ { "name": "setup-java", "type": "skill", "target": "both", "reason": "installs JDK 21 + JAVA_HOME per-OS (dnf/apt-Adoptium/winget/brew); required by jdtls in setup-lsp", "supportingFiles": [] },
44
+ { "name": "setup-lsp", "type": "skill", "target": "both", "reason": "installs per-language LSP servers (vtsls/basedpyright/bash/jdtls/spring) + lsp-mcp bridge; Claude=LSP MCP tools, Codex=config.toml [mcp_servers.lsp_bridge]; needs setup-node/python/java", "supportingFiles": [] },
45
+ { "name": "setup-tmux", "type": "skill", "target": "both", "reason": "installs tmux per-OS (Rocky8 3.6a source-build, apt/brew, Windows psmux); OMC team/worktree + OMX $team/HUD require it", "supportingFiles": [] },
46
+ { "name": "setup-pwsh", "type": "skill", "target": "both", "reason": "Windows PowerShell 7 env (Terminal/Git/$PROFILE UTF-8); Claude CLAUDE_CODE_GIT_BASH_PATH, Codex native shell; no-op off-Windows", "supportingFiles": [] },
47
+ { "name": "setup-mcp", "type": "skill", "target": "both", "reason": "installs common standalone MCP servers (context7/seq-thinking/filesystem/git/fetch); Claude `claude mcp add`, Codex config.toml [mcp_servers.*]; needs setup-node/python", "supportingFiles": [] },
48
+ { "name": "setup-sandbox", "type": "skill", "target": "both", "reason": "agent sandbox per-OS (bubblewrap+userns / AppContainer / Seatbelt) + rust/cargo + git safe.directory; Codex sandbox_mode", "supportingFiles": [] },
49
+ { "name": "harness-factory", "type": "skill", "target": "both", "reason": "installs+configures+guides the revfactory/harness team-architecture factory plugin (Claude harness@harness-marketplace, Codex SaehwanPark/meta-harness); Apache-2.0 referenced not redistributed", "supportingFiles": [] },
50
+
51
+ { "name": "front-qa", "type": "command", "target": "both", "reason": "ralplan->ralph frontend-QA pipeline; Claude=OMC, Codex=OMX", "supportingFiles": [] },
52
+ { "name": "setup", "type": "command", "target": "both", "reason": "installer orchestrator; Claude AskUserQuestion multi-select, Codex prompt-based selection", "supportingFiles": [] }
34
53
  ]
35
54
  }
@@ -1,7 +1,7 @@
1
1
  # Transform matrix: Claude Code surfaces → Codex CLI
2
2
 
3
3
  Source of truth: this repo's `skills/<name>/` + `commands/<name>.md`. `codex/manifest.json` tags each surface.
4
- The generator (`banker setup --codex`) applies the rules below for `target: both` surfaces ONLY; `claude-only` surfaces are NEVER written to Codex.
4
+ The generator (`banker setup --codex`) applies the rules below for `target: both` surfaces ONLY (`claude-only` surfaces are never written to Codex — currently there are none; every surface is `both`).
5
5
 
6
6
  | Source (Claude) | Codex destination | Transform |
7
7
  |---|---|---|
@@ -16,12 +16,26 @@ The generator (`banker setup --codex`) applies the rules below for `target: both
16
16
  ## Scope
17
17
  - `--scope user` (default) → `~/.codex/…`. `--scope project` → `./.codex/…`.
18
18
 
19
- ## Excluded (claude-only) — never generated for Codex
20
- Skills: all-in-one, compact-copy, ultra-init, omc-reference, setup-omc, setup-omc-hud, setup-stitch-proxy.
21
- Commands: front-qa, setup. (Reasons in `manifest.json`.)
22
- `setup-insane-search` is `both`: on Codex it drives `codex plugin add insane-research-codex@gptaku-codex`.
19
+ ## Runtime-aware surfaces (both) — Codex uses OMX / Codex equivalents
20
+ 현재 `claude-only` 표면은 **없다**(전부 `both`). OMC/Claude 에 결합됐던 표면은 본문이 런타임 인식으로 작성돼 Codex에서도 동작한다 — Codex에선 OMC 대신 oh-my-codex(OMX)의 동명 스킬을 쓴다:
21
+ - 오케스트레이터 `all-in-one`·`ultra-init`·커맨드 `front-qa` → OMX `ralplan`/`ralph`/`ultraqa`/`ultragoal`.
22
+ - `setup-omc` → `omx setup`(본문에 이미 존재). `setup-omc-hud` → OMX `hud`. `setup-stitch` → `codex mcp add`.
23
+ - `compact-copy` → Codex 내장 `/copy`(경로는 Codex 규약). `omc-reference` → Codex는 OMX 카탈로그 기준. `setup` 커맨드 → Codex는 프롬프트 선택 UX.
24
+ `setup-insane-search` 도 `both`: Codex에선 `codex plugin add insane-research-codex@gptaku-codex`.
25
+
26
+ 신규 스킬(0.4.0)도 `both`·런타임 인식:
27
+ - `visual-ralph` → OMX `$ralph`·`$imagegen`(+`omx imagegen continuation`)·Visual Verdict; Claude은 `ralph`+`visual-verdict`+Stitch/ccg imagegen.
28
+ - `deep-init` → 서브에이전트 Claude=OMC explore/architect/writer, Codex=OMX worker/explore(부재 시 직접 수행). 순수 fs+doc.
29
+ - `deep-research` → Claude 번들 워크플로/`WebSearch`, Codex OMX `autoresearch`/`best-practice-research`.
30
+ - `ralph-qa` → 다른-LLM: Claude `omc ask codex`/`ccg`, Codex OMX `$ask`(Claude/Gemini).
31
+ - `smart-compact` → Claude statusLine `context_window.used_percentage`+hook; Codex 신호 미확인 시 휴리스틱 폴백. TUI 3단(`/copy`·`/compact`·paste)은 유저.
32
+ - `curation` → 런타임 무관(외부 의존 0, 양쪽 동일).
23
33
 
24
34
  ## Caveats (documented; not blockers)
25
35
  - `append_wiki`, `compact-wiki` — use `wiki_*` MCP at runtime → copy fine, need a wiki MCP available in Codex.
26
36
  - `audit-web-page`, `play-qa`, `ultra-ui-qa` — need playwright (install via `setup-playwright`).
27
37
  - `setup-playwright` — genericize the `/banker:setup` trigger phrasing for the Codex copy.
38
+ - `visual-ralph` — needs an imagegen path (Stitch via `setup-stitch`, or `/ccg`/Gemini) + a frontend repo; static/live-URL reference works without imagegen.
39
+ - `ralph-qa` — needs a *different* LLM provider auth (`omc ask codex` / OMX `$ask`); falls back to same-runtime `critic` if unavailable.
40
+ - `deep-research` — needs web search/fetch (Claude WebSearch/WebFetch or bundled workflow; Codex OMX autoresearch).
41
+ - `smart-compact` — Claude statusLine exposes context%; Codex signal unconfirmed → heuristic fallback; `/copy`·`/compact`·paste stay user-driven (TUI).
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "스펙(note 파일) 기반 프론트엔드 구현 + 레퍼런스 구현 대비 엄격 parity QA 워크플로(ralplan→ralph→loop)."
2
+ description: "(banker) 스펙(note 파일) 기반 프론트엔드 구현 + 레퍼런스 대비 엄격 parity QA 워크플로(ralplan→ralph→loop)."
3
3
  argument-hint: "[스펙/note 파일 경로 — 생략 시 docs/note.txt]"
4
4
  ---
5
5
 
@@ -13,6 +13,7 @@ argument-hint: "[스펙/note 파일 경로 — 생략 시 docs/note.txt]"
13
13
  이 커맨드는 `/ralplan`·`/ralph` 등 oh-my-claudecode(OMC)에 의존한다. **진행 전 먼저 확인**하고, 없으면 **설치부터 안내**한다:
14
14
  - 확인: `command -v omc` + `/oh-my-claudecode:*` 사용 가능 여부.
15
15
  - 미설치면 `/banker:setup` → oh-my-claudecode(또는 `setup-omc` 스킬 / `omc update`)로 먼저 구성한 뒤 이어서 진행.
16
+ - **런타임 매핑:** 아래 절차의 `/ralplan`·`/ralph`는 Claude Code에선 OMC 스킬, **Codex에선 oh-my-codex(OMX)의 동명 스킬**이다(Codex는 OMC 대신 OMX 전제). 각 런타임에서 사용 가능한 형태로 호출한다.
16
17
 
17
18
  ## 절차 (CLAUDE.md: 계획 없는 즉시실행 금지)
18
19
 
package/commands/setup.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "banker 플러그인 구성요소·의존성을 multi-select로 골라 설치하는 오케스트레이터(oh-my-claudecode·playwright·omc-hud·insane-search·stitch-proxy)."
2
+ description: "(banker) 구성요소·의존성을 multi-select로 골라 설치하는 오케스트레이터(런타임 node·python·java, LSP, tmux, MCP, sandbox, OMC, harness-factory, playwright 등)."
3
3
  argument-hint: "[설치할 컴포넌트명 — 비우면 multi-select 표시]"
4
4
  ---
5
5
 
@@ -11,24 +11,38 @@ banker 플러그인이 제공하는 설치 스킬들을 **multi-select**로 골
11
11
  ## 절차
12
12
 
13
13
  1. **선택 받기**: `$ARGUMENTS` 에 컴포넌트명이 명시돼 있으면 그것만 실행(질문 생략).
14
- 비어 있으면 아래 5개를 `AskUserQuestion`(**multiSelect: true**)으로 제시한다:
15
- - **setup-omc** — oh-my-claudecode(OMC) 설치/갱신. `all-in-one`·`ultra-init`·`/banker:front-qa` 의존성(Codex는 OMX).
16
- - **setup-playwright** — Playwright + 브라우저 + headless 디스플레이(Xvfb). RHEL8/Rocky8 등 비공식 지원·non-root·no-conda 폴백 포함. (`ultra-ui-qa`·`audit-web-page`·`play-qa` 의존성)
17
- - **setup-omc-hud** — omc_hud 상태표시줄 설치(OS별).
18
- - **setup-insane-search** — insane-search 플러그인(차단 사이트 우회) 설치(Claude/Codex 양쪽 경로).
19
- - **setup-stitch-proxy** — Stitch(디자인 생성) MCP 프록시 등록(API key 필요).
20
-
21
- 2. **실행**: 선택된 각 항목의 스킬을 `Skill` 도구로 호출한다(미선택은 건드리지 않음):
22
- - setup-omc → `Skill("banker:setup-omc")`
23
- - setup-playwright → `Skill("banker:setup-playwright")`
24
- - setup-omc-hud → `Skill("banker:setup-omc-hud")`
25
- - setup-insane-search → `Skill("banker:setup-insane-search")`
26
- - setup-stitch-proxy → `Skill("banker:setup-stitch-proxy")`
27
- 각 스킬이 OS를 감지해 알맞은 절차로 설치하고 끝에 검증한다. 한 항목이 실패해도 정직히 보고하고 다음 항목 진행.
14
+ 비어 있으면 아래를 `AskUserQuestion`(**multiSelect: true**)으로 제시한다(**Codex 런타임엔 AskUserQuestion 이 없으므로 목록을 제시하고 설치할 항목을 사용자에게 물어 받는다**). 항목은 **계층/의존 순서**로 묶여 있으니, 뒤 계층을 고르면 앞 계층 전제를 먼저 채운다:
15
+
16
+ **런타임 (기반 — 먼저)**
17
+ - **setup-node** — nvm + Node 22(winget/nvm-windows). npx 기반 MCP·CLI 전제.
18
+ - **setup-python** — Python 3.11 + pipx + uv(PEP668). `setup-lsp`·`setup-mcp`·`docs-setup` 전제.
19
+ - **setup-java** — JDK 21 + JAVA_HOME(Debian=Adoptium). `setup-lsp` 의 jdtls 요구.
20
+
21
+ **개발도구**
22
+ - **setup-lsp** — 언어별 LSP(vtsls·basedpyright·bash·jdtls·spring) + lsp-mcp 브리지. (의존: node·python·java)
23
+ - **setup-tmux** — tmux(Rocky8 3.6a 소스빌드)/psmux(Windows). OMC team·OMX `$team`/HUD 전제.
24
+ - **setup-pwsh** — Windows PowerShell 7 환경($PROFILE UTF-8·Terminal·Git). 비-Windows는 no-op.
25
+ - **setup-mcp** — 공통 MCP 서버(context7·seq-thinking·filesystem·git·fetch). (의존: node·python)
26
+ - **setup-sandbox** — OS별 샌드박스(bubblewrap+userns / AppContainer / Seatbelt) + rust + git safe.directory.
27
+
28
+ **프레임워크·플러그인**
29
+ - **setup-omc** — oh-my-claudecode(OMC) 설치/갱신(Codex는 OMX). `all-in-one`·`ultra-init`·`/banker:front-qa` 의존성.
30
+ - **harness-factory** — revfactory/harness(팀 아키텍처 팩토리) 설치+구성+안내(Codex=meta-harness).
31
+ - **setup-insane-search** — insane-search 플러그인(차단 사이트 우회, Claude/Codex 양쪽).
32
+ - **setup-omc-hud** — omc_hud 상태표시줄(OS별).
33
+ - **setup-stitch** — Stitch(디자인 생성) MCP 프록시 등록(RockyLinux8 proxy-script, API key 필요).
34
+
35
+ **의존성 라이브러리**
36
+ - **setup-playwright** — Playwright + 브라우저 + Xvfb(RHEL8/Rocky8 폴백). (`ultra-ui-qa`·`audit-web-page`·`play-qa` 의존성)
37
+ - **docs-setup** — arch-diagram·pdf-vision-extract 의존성(python-pptx·pymupdf·plantuml). (의존: python)
38
+
39
+ 2. **실행**: 선택된 각 항목을 호출한다(미선택은 건드리지 않음). Claude Code는 `Skill("banker:<name>")`, **Codex 런타임에선 설치된 `banker-<name>` 스킬을 적용**한다(예: `Skill("banker:setup-node")`).
40
+ - **의존 순서 강제**: 뒤 계층을 고르면 전제 스킬을 먼저 실행한다 — `setup-lsp` 전에 setup-node·setup-python·setup-java; `setup-mcp` 전에 setup-node·setup-python; `docs-setup` 전에 setup-python. 이미 설치돼 있으면 각 스킬이 감지해 skip(멱등).
41
+ - 각 스킬이 OS를 감지해 알맞은 절차로 설치하고 끝에 검증한다. 한 항목이 실패해도 정직히 보고하고 다음 항목 진행.
28
42
 
29
43
  3. **마무리 보고(한글)**: 설치된 항목·검증 결과·**재시작/reload 필요 여부**.
30
- - 플러그인 설치(insane-search)는 `/reload-plugins` 또는 재시작 후 반영.
31
- - MCP 추가(stitch)는 세션 갱신 후 `claude mcp list` 로 연결 확인.
44
+ - 플러그인 설치(insane-search)는 `/reload-plugins`(Claude) 또는 재시작 후 반영(Codex는 재시작).
45
+ - MCP 추가(stitch)는 세션 갱신 후 연결 확인 — Claude `claude mcp list`, Codex `codex mcp list`.
32
46
 
33
47
  ## 원칙
34
48
  - 각 설치는 **비파괴·멱등**(이미 설치면 skip).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaydash9999/banker-plugins",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "banker — Claude Code + Codex CLI plugin (QA, audit, docs, architecture, wiki skills). Install via Claude Code marketplace, or `npm i -g @kaydash9999/banker-plugins` then `banker setup`.",
5
5
  "bin": {
6
6
  "banker": "bin/banker.js"
@@ -1,17 +1,6 @@
1
1
  ---
2
2
  name: all-in-one
3
- description: >-
4
- One-command composite pipeline that chains consensus planning → persistent
5
- verified implementation → an independent test gate by running
6
- /ralplan --deliberate, then /ralph --critic=critic on the resulting plan,
7
- then /ultraqa --tests as a final acceptance gate. Use this whenever the user
8
- says "all-in-one" / "all in one", or wants a substantial coding task taken
9
- end-to-end from plan → implementation → passing tests in a single command —
10
- especially when they want maximum front-loaded rigor (a consensus plan, a
11
- critic-verified build, and an independent QA gate) instead of running ralplan,
12
- ralph, and ultraqa by hand. Prefer this over invoking the three sub-skills
13
- manually. NOT for one-line fixes (use ralph or an executor) or vague
14
- idea-to-product expansion (use autopilot).
3
+ description: "(banker) 한 명령으로 합의 계획→검증 구현→독립 테스트 게이트를 연쇄(ralplan→ralph→ultraqa). 코딩 작업을 계획부터 통과까지 최대 rigor로 한 번에. 'all-in-one'/'all in one' 시 사용(한 줄 수정은 ralph, 아이디어 확장은 autopilot)."
15
4
  argument-hint: "[--short] [--checkpoint] [--critic=critic|architect|codex] [--qa=tests|build|lint|typecheck] [--no-deslop] <task description>"
16
5
  level: 4
17
6
  ---
@@ -26,6 +15,8 @@ This skill orchestrates OMC's `ralplan` → `ralph` → `ultraqa`. **Check the d
26
15
  - Check: `command -v omc` and whether `/oh-my-claudecode:*` skills are available.
27
16
  - If missing: install via `/banker:setup` → oh-my-claudecode (or the `setup-omc` skill / `omc update`), then resume. On Codex the equivalent is OMX (`omx setup`).
28
17
 
18
+ **런타임 매핑 (Claude Code ↔ Codex).** 이 스킬이 부르는 `ralplan`·`ralph`·`ultraqa`는 Claude Code에선 OMC 스킬이고 **Codex에선 oh-my-codex(OMX)가 제공하는 동명 스킬**이다. 아래 Execution의 `Skill("oh-my-claudecode:<name>")` 표기는 Claude Code 기준 — **Codex 런타임에선 OMC 대신 OMX의 해당 스킬(`ralplan`/`ralph`/`ultraqa`)을 적용**한다.
19
+
29
20
  ## Purpose
30
21
 
31
22
  Run one substantial coding task through three independent quality gates in a
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: append_wiki
3
- description: "새로 배운 비자명 지식(아키텍처·결정·디버깅·패턴·환경)을 .omc/wiki에 구조화 적재·병합 — 'append_wiki'/'위키 기록'/'wiki에 정리'/'알게 된 내용 기록' 시 사용."
3
+ description: "(banker) 새로 배운 비자명 지식을 .omc/wiki에 구조화 적재·병합. 'append_wiki'/'위키 기록'/'wiki에 정리'/'알게 된 내용 기록' 시 사용."
4
4
  ---
5
5
 
6
6
  # append_wiki — 작업 지식을 wiki에 적재
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: arch-diagram
3
- description: "시스템 아키텍처·계층 구성도를 PlantUML(소스+PNG)과 편집 가능 PPTX(python-pptx 네이티브 도형)로 산출 — '아키텍처 다이어그램'/'plantuml'/'pptx 다이어그램'/'구성도' 시 사용."
3
+ description: "(banker) 시스템 아키텍처 구성도를 PlantUML과 편집 가능 PPTX로 산출. '아키텍처 다이어그램'/'plantuml'/'pptx 다이어그램'/'구성도' 시 사용."
4
4
  ---
5
5
 
6
6
  # arch-diagram — PlantUML + PPTX 아키텍처 다이어그램 산출
@@ -84,5 +84,7 @@ for a, b in EDGES: # parent.right-center -> child.left-center (좌->우)
84
84
  ax, ay, aw, ah = rects[a]; bx, by, bw, bh = rects[b]
85
85
  arrow(ax + aw, ay + ah / 2, bx, by + bh / 2)
86
86
 
87
+ import os
88
+ os.makedirs(os.path.dirname(OUT) or '.', exist_ok=True)
87
89
  prs.save(OUT)
88
90
  print('saved', OUT)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: audit-mock
3
- description: "하드코딩·mock/stub·열거형을 read-only 정적 감사로 검출(DB/fetch/LLM 없이 하드코딩 값을 반환하는 stub 적발) — 'audit-mock'/'하드코딩 검출'/'mock·stub 감사'/'SQL 없이 하드코딩 반환' 시 사용."
3
+ description: "(banker) 하드코딩·mock/stub·열거형을 read-only 정적 감사로 검출. 'audit-mock'/'하드코딩 검출'/'mock·stub 감사'/'SQL 없이 하드코딩 반환' 시 사용."
4
4
  ---
5
5
 
6
6
  # audit-mock — 하드코딩 / mock·stub / 열거형 read-only 정적 감사
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: audit-security
3
- description: "의존성 CVE(SCA)·SAST·시크릿을 멀티툴 교차검증으로 read-only·no-root 보안 진단 — 'audit-security'/'보안 진단'/'CVE 스캔'/'SCA·SAST·secret 스캔' 시 사용."
3
+ description: "(banker) 의존성 CVE(SCA)·SAST·시크릿을 멀티툴 교차검증으로 read-only 보안 진단. 'audit-security'/'보안 진단'/'CVE 스캔'/'SCA·SAST·secret 스캔' 시 사용."
4
4
  ---
5
5
 
6
6
  # audit-security — CVE / SAST / Secrets read-only 보안 진단 (no-root)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: audit-web-page
3
- description: "가동 중 웹페이지를 playwright로 라이브 점검(버튼·DOM·콘솔 에러 + WebGL/Canvas 비주얼을 스크린샷 육안 판정) — 'audit-web-page'/'라이브 웹 검증'/'playwright로 페이지 점검'/'캔버스·WebGL 렌더 확인' 시 사용."
3
+ description: "(banker) 가동 중 웹페이지를 playwright로 라이브 점검(버튼·DOM·콘솔 + WebGL/Canvas 스크린샷 판정). 'audit-web-page'/'라이브 웹 검증'/'playwright로 페이지 점검'/'캔버스·WebGL 렌더 확인' 시 사용."
4
4
  ---
5
5
 
6
6
  # audit-web-page — 라이브 웹 페이지 점검 (playwright)
@@ -1,11 +1,6 @@
1
1
  ---
2
2
  name: compact-copy
3
- description: >
4
- /ready-compact 가 만든 resume 프롬프트에서 코드펜스 안 본문만 뽑아 compaction 이후 붙여넣을
5
- "프롬프트-only" 로 만든다. 추출 본문을 /tmp/claude-<uid>/response.md 에 덮어쓰고, 스킬의 최종
6
- 메시지를 그 프롬프트 본문만으로 출력해 이어지는 /copy 한 번이면 클립보드에도 프롬프트-only 가
7
- 담긴다. "compact-copy", "프롬프트만 복사", "resume 프롬프트만" 요청 시 사용. /ready-compact
8
- 직후(권장) 또는 /copy 직후 실행. 답변·설명은 한글.
3
+ description: "(banker) /ready-compact resume 프롬프트에서 코드펜스 본문만 뽑아 최종 메시지를 '프롬프트-only'로 출력(response.md 기록 → /copy로 클립보드에 담김). 'compact-copy'/'프롬프트만 복사'/'resume 프롬프트만' 시 사용."
9
4
  ---
10
5
 
11
6
  # compact-copy — resume 프롬프트만 추출 복사
@@ -25,6 +20,7 @@ description: >
25
20
  ## 환경 / 전제
26
21
  - response.md 경로는 **`id -u` 로 동적 계산**한다: `/tmp/claude-$(id -u)/response.md`.
27
22
  **사용자마다 uid 가 다르므로 경로에 uid 숫자를 하드코딩하지 말 것**(항상 `id -u` 로 계산).
23
+ - **런타임 (Claude Code / Codex):** `/copy` 는 **양 런타임에 내장**이다. 이 스킬의 핵심 불변식 — 최종 메시지를 외곽 펜스·전후 설명 없이 **프롬프트 본문만**으로 만들어 `/copy` 가 프롬프트-only 를 담게 하는 것 — 은 양 런타임 공통이다. 파일 기록(`/tmp/claude-<uid>/response.md`)은 **Claude Code 규약**이므로, **Codex에선 그 경로를 가정하지 말고 `/copy` 클립보드 결과에 의존**한다(Codex가 자체 output 파일 규약을 두면 그때 감지해 사용). resume 프롬프트 생성은 `ready-compact`(both)가 담당한다.
28
24
  - 클립보드 CLI(xclip·xsel·wl-copy·pbcopy 등)는 없을 수 있다. 시스템 클립보드는 Claude Code
29
25
  내장 **`/copy`** 로만 확실히 닿는다. → 이 스킬은 클립보드를 직접 쓰려 하지 않고, **최종
30
26
  메시지를 프롬프트 본문만으로 만들어** 그 `/copy` 가 프롬프트-only 를 담게 한다.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: compact-wiki
3
- description: ".omc/wiki 페이지를 무손실(스냅샷→병합→검증→삭제 순)로 중복 제거·supersede·병합 정리 — 'compact-wiki'/'위키 정리·압축'/'wiki 중복 제거'/'위키 병합' 시 사용."
3
+ description: "(banker) .omc/wiki 페이지를 무손실로 중복 제거·supersede·병합 정리. 'compact-wiki'/'위키 정리·압축'/'wiki 중복 제거'/'위키 병합' 시 사용."
4
4
  ---
5
5
 
6
6
  # compact-wiki — wiki 정리·압축 (무손실)
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: curation
3
+ description: "(banker) 의사결정을 {선택지·권고안·근거·확신수준(0.00~1.00)·확신근거}로 구조화해 제시. --perf는 결과물 품질·완성도를 효율보다 우선. 'curation'/'큐레이션'/'결정 정리'/'선택지 정리' 시 사용."
4
+ ---
5
+
6
+ # curation — 결정 큐레이션 (선택지·권고·확신)
7
+
8
+ 의사결정 국면에서 답을 단정하기 전에, **판단을 감사(監査) 가능한 형태로 펼쳐** 보여준다.
9
+ "그냥 골라주기"가 아니라 **선택지 → 권고 → 근거 → 확신수준 → 확신 근거**를 명시해,
10
+ 사용자가 권고를 검증·재정(裁定)할 수 있게 한다.
11
+
12
+ **런타임:** 이 스킬은 외부 도구·프레임워크 의존이 **전혀 없다**(순수 출력 규약).
13
+ Claude Code(OMC)·Codex CLI(OMX) 양쪽에서 **동일하게** 동작한다.
14
+
15
+ ## 언제 쓰나
16
+ - 하나 이상의 **실질적 결정 분기**가 있는 작업(설계 선택, 트레이드오프, 우선순위, 배포 여부 등).
17
+ - 사용자가 "curation"/"큐레이션"/"결정 정리"/"선택지 보여줘"라고 요청할 때.
18
+ - 되돌리기 어렵거나 파급이 큰 결정 — 확신수준을 명시해 리스크를 드러낼 때.
19
+
20
+ ## 쓰지 않을 때
21
+ - 결정 분기가 없는 단순 실행(그냥 하면 됨).
22
+ - 사실 조회·계산처럼 "정답"이 하나인 질문(선택지가 인위적이면 형식 낭비).
23
+
24
+ ## 출력 형식 (필수 5요소)
25
+ 각 결정마다:
26
+
27
+ 1. **선택지** — 상호배타적·현실적인 옵션 2개 이상. 억지 옵션 금지.
28
+ 2. **권고안** — 선택지 중 하나. 반드시 선택지에서 고른다(제3의 답 금지).
29
+ 3. **권고 근거(사유)** — 왜 그 옵션인가. 핵심 결정 동인(driver) 기준.
30
+ 4. **확신수준** — `0.00`~`1.00`. 추측 금지, 보정된 값.
31
+ 5. **확신수준 근거** — 왜 그 수치인가(무엇이 확신을 높이고/낮추는가, 미해결 변수).
32
+
33
+ 결정이 여럿이면 **표**로 압축하고, 단일 결정은 블록으로 상술한다.
34
+
35
+ ### 표 형식 (다중 결정)
36
+ | # | 사안 | 선택지 | 권고 | 확신 | 근거 / 확신근거 |
37
+ |---|---|---|---|---|---|
38
+ | 1 | … | A / B / C | **B** | 0.70 | 근거 … / 확신근거 … |
39
+
40
+ ### 블록 형식 (단일 결정)
41
+ - **사안**: …
42
+ - **선택지**: A / B / C
43
+ - **권고안**: **B**
44
+ - **권고 근거**: …
45
+ - **확신수준**: 0.70
46
+ - **확신수준 근거**: …
47
+
48
+ ## --perf (performance = 품질 우선)
49
+ `curation --perf` 로 부르면, 위 형식에 **채택 기준**을 하나 추가한다:
50
+
51
+ > 권고안을 고를 때 **구현 노력 효율·토큰 효율·시간 절약보다 결과물의 품질·완성도가 훨씬 중요**하다.
52
+
53
+ → 저노력·저비용이지만 품질이 낮은 옵션과, 노력·비용이 크지만 완성도가 높은 옵션이 맞설 때
54
+ `--perf`는 **후자(품질)로 기운다**. 권고 근거·확신근거에 이 기준이 어떻게 작용했는지 드러낸다.
55
+ (기본 curation은 노력·품질·시간을 **균형** 있게 저울질한다.)
56
+
57
+ ## 적용 범위
58
+ - 호출 시점의 **현재 작업/요청에 걸린 결정들**에 이 형식을 적용한다.
59
+ - 이후에도 같은 작업 맥락에서 결정이 나오면 형식을 유지한다(사용자가 바꾸라기 전까지).
60
+ - 결정을 대신 **집행**하지는 않는다 — 권고를 제시하고, 사용자 재정 후 진행한다
61
+ (되돌리기 어려운 행위는 특히).
62
+
63
+ ## 예시
64
+ **입력**: `curation --perf` "로그 저장을 파일 vs SQLite 중 뭘로?"
65
+
66
+ **출력**:
67
+ - **사안**: 로그 영속화 백엔드
68
+ - **선택지**: 파일(JSONL) / SQLite
69
+ - **권고안**: **SQLite**
70
+ - **권고 근거**: 조회·집계·동시쓰기 내구성에서 우월. 파일은 초기 구현이 싸지만 질의·회전(rotation)·잠금을 직접 떠안아 완성도가 낮아진다.
71
+ - **확신수준**: 0.75
72
+ - **확신수준 근거**: 질의·집계 요구가 확실하면 SQLite 우위가 뚜렷(↑). 단 로그량·배포 환경(임베디드 등)이 미확인이면 파일이 나을 여지(↓). `--perf`라 "싸고 대충"인 파일보다 완성도 높은 SQLite로 기울였다.
73
+
74
+ ## 함정
75
+ - **선택지 억지 금지** — 결정이 없는데 형식을 씌우지 말 것.
76
+ - **권고는 선택지 안에서** — 제3의 절충안을 슬쩍 끼우면 감사 가능성이 깨진다(정 필요하면 그것도 선택지로 명시).
77
+ - **확신수준은 정직하게** — 높게 부풀리지 말 것. 미해결 변수가 있으면 낮추고 그 이유를 확신근거에 적는다.
78
+ - **--perf ≠ 무조건 비싼 옵션** — 품질이 동등하면 효율적 옵션을 택한다. --perf는 품질이 갈릴 때의 **타이브레이커**다.
79
+
80
+ ARGUMENTS: [--perf] [결정 맥락/질문] (없으면 현재 작업의 결정 분기에 적용)