# Agent 미팅: Claude Code 플러그인 마켓플레이스 도입 검토

**날짜**: 2026-08-31 KST
**소집 이유**: 회장 지시 — `anthropics/claude-plugins-official` 적용 가능여부 심층분석
**참여**: 오딘(아키텍처) · 로키(레드팀) · Codex(독립검토)
**모드**: independent · 깊이 thorough · **사이클 1 (회장 지시로 종결)**

## 결론

**의제 1(`supabase` 플러그인) · 의제 2(스킬 103개 플러그인화) 모두 거부.**
3명이 **서로 다른 근거**로 만장일치 반대. 회장 판단: **"이 정도 검토에서 stop"**

---

## 출발점 정정 — 이미 쓰고 있었다

- Claude Code **2.1.241**, `/plugin` 정상 가동
- 마켓플레이스 2개 등록: `claude-plugins-official` · `openai-codex`
- 활성 플러그인 3개: `pyright-lsp` · `typescript-lsp` · `codex`
- → 신규 도입이 아니라 **확장 판단**이었다

## ★ ANU 근거 오류 3건 (오딘 반증 · ANU 실측 확인)

| ANU 주장 | 실측 |
|---|---|
| 글로벌 103 + 팀공용 103 **중복** | `~/.claude/skills` → `workspace/skills` **심볼릭 링크**. 같은 파일 하나 |
| **33G = 스킬 복제** | 워크트리 1.6G 중 skills **1.8M(0.1%)**. 진짜는 `output` 518M · `dashboard` 425M |
| `skill_prompts/benchmark.txt` 부재 = 죽은 스킬 | 그건 **InsuRo 제품 `server/` 디렉토리**. ANU 스킬 시스템과 **무관** — 두 시스템을 섞었다 |

## ★ 진짜 비용 — 그리고 플러그인화의 ROI 는 0

```
SKILL.md description 102개 = 24,884자 ≈ 8,300~12,400 토큰
봇 8개 × 모든 세션 상시 부과
```
**플러그인의 스킬도 description 이 동일하게 주입된다 → 절감 0토큰.**
실측된 유일한 낭비에 대해 제안 해법의 ROI 가 정확히 0이었다.

## 거부 근거 (3인 교차)

### 오딘 — 변경률 0
- `skills` 마지막 커밋 **2026-05-03(4개월 전)**, 최근 90일 수정 **0개**, 워크트리 간 drift **0건**
- 플러그인화가 푸는 건 배포·버전·동기화 = **변경이 빈번할 때** 생기는 문제
- 플러그인 3개도 설치 후 **6개월 무갱신** — 관리 역량 실증 없이 대상만 늘린다
- 워크트리 skills 복제는 버그가 아니라 **git 격리의 정상 동작**

### 로키 — 신뢰 경계 (★ ANU 짐작과 위협의 정체가 달랐다)
- ANU 가정 "service_role 이 MCP 프로세스에 노출" = **거짓**.
  로컬 stdio 없음, **원격 HTTP MCP**(`mcp.supabase.com`), env 참조 0개
- **실제 위협 3종**:
  1. **OAuth 계정 위임** — `SUPABASE_ACCESS_TOKEN` 은 management API PAT
     (프로젝트 생성/삭제/시크릿 열람). **service_role 보다 넓다**
  2. **PII 가 제3자 인프라 통과** — 쿼리·응답 **본문**이 외부 경유.
     회장 지시로 로그·커밋 금지 중인 환자명·주민번호 파생 데이터
  3. **승인 게이트 0** — 봇은 `--dangerously-skip-permissions`. 오늘 이 경로로
     프로덕션 DDL 실제 적용. MCP 붙으면 `execute_sql` 이 무승인 자동호출 대상
- **sha 고정은 안전장치가 아니다** (ANU 검증 완료):
  - 마켓 `lastUpdated: 2026-08-31T10:10:02Z` — 우리가 아무것도 안 했는데 갱신됨
  - 마켓 디렉토리에 **`.git` 없음** = GCS 타르볼, **서명 검증 수단 없음**
  - `marketplace.json` 커밋 로그 = **자동 bump 파이프라인**
  - → sha 는 우리가 고정한 게 아니라 **남의 파이프라인이 갱신하는 라벨**
- 플러그인은 **훅을 걸 수 있다**(`hookify`=PreToolUse, `learning-output-style`=SessionStart).
  지금 스킬은 md 라 실행능력 0 — **포장만 바꿔도 능력 상한이 올라간다**
- **이름 충돌 2건 실재**: `frontend-design` · `skill-creator` (ANU 검증). 어느 게 로드되는지 미표시
- `supabase-postgres-best-practices` 는 **이미 보유** — 지식이 목적이면 할 일 없음

### Codex — 메커니즘
- marketplace 설치는 **캐시 사본**으로 배포 단위가 바뀜. 단 `skills-dir` 는 **in-place 로딩**이라
  현 구조 유지 시 중복은 **구조적으로 그대로**
- **sha 고정 ≠ 자동 최신화**. update 판정은 `plugin.json.version` 우선 →
  새 sha 가 있어도 version 미변경이면 **skip**
- MCP 서버는 enabled 즉시 **자동 기동**. `package.json` 있으면 Node 의존성 설치 자동 실행
- 플러그인 `name` 슬러그 **불변**(변경 시 기존 설치 파손) — 초기 이름 오류가 장기 부채
- 패키징은 103개 미세분할도 단일 초대형도 아닌 **5~12개 번들** 권장

### 공통 — 우리 안전장치 무력화
**CLI 호출은 bash 히스토리와 훅(`gh-token-guard`·`git-lineage-guard`, t3017)에 걸리지만
MCP 툴콜은 그 게이트를 통과하지 않는다.** 감시 못 하는 경로가 새로 생긴다.
CLAUDE.md "CLI 우선"은 선호가 아니라 **실증된 운영 방식**
(오늘만 `gh api` PR 6건 머지 · `psycopg2` DB 6회+DDL · `wrangler` 배포 전부 정상).

---

## 미채택으로 남긴 후속 (실행 안 함 · 기록만)

1. **`backups/` gitignore** — `backups/marketing-upgrade-20260326` SKILL.md **740개**가
   워크트리 20개에 복제. `.gitignore` 항목 **0건**(ANU 검증). 한 줄로 해소
2. **이름 충돌 2건 정리** — `frontend-design` · `skill-creator`
3. **봇 세션 env 화이트리스트 규율화** — 현재 MCP 프로세스 env 에 `SUPABASE_*`/`GITHUB_*` 0개(로키 실측)
4. **컨텍스트 예산제 3계층** (오딘 제안) — L1 상시/L2 온디맨드/L3 아카이브로
   **12K → 3K 토큰**. 단 오분류 시 **조용한 미로드** 위험(오늘 4회 반복된 실패 양식) →
   30일 관측 · fail-open · 이동 금지 조건 필수
5. **33G 문제** — 스킬과 무관. `output`·`dashboard` 가 원인. **완료 워크트리 회수 정책**이 답

## 재검토 트리거 (거부 영구화 방지 — 오딘 제안)

아래 **2개 이상** 충족 시 재상정:
1. `psycopg2` 경로로 처리 불가한 작업이 **월 3건 이상** 발생
2. supabase 플러그인 소스가 **Supabase 공식 조직**으로 이관
3. **읽기 전용 키 분리 발급** 체계 완비

## 모른다고 명시한 것 (로키)

- `mcp.supabase.com` OAuth 실제 scope
- 스킬 이름 충돌 시 우선순위 규칙
- Claude Code 가 설치된 플러그인을 무통보 자동갱신하는지
  (마켓은 갱신되나 플러그인 `lastUpdated` 는 3~4월로 오래됨 → 아닐 가능성, 미검증)
