모든 스킬

improve-codebase-architecture (mattpocock/skills)

기존 코드베이스에서 모듈을 깊게 만들 기회를 찾고 더 명확하고 테스트하기 쉬운 인터페이스를 계획합니다.

improve-codebase-architecture: 스킬 없이 3.2점 대비 4.1/5를 기록했지만, 한 문장 프롬프트가 스킬 토큰의 58%만으로 3.9점에 도달했습니다

상황에 따라안전

Codex CLI · gpt-6-astra

23.0 / 30

스킬 없이 대비 향상폭: +0.92 · 상황에 따라 · 18회 실행

상황에 따라: 향상폭 +0.92가 +1.0 미만. 추천이 되려면 총점 22/30, 출력 품질 3.5, 향상폭 +1.0이 필요합니다.

SOTA

통과

Codex로 테스트

커버 대상 Codex, Claude Code

Codex CLI 0.166 (SOTA 티어): 채점된 실행 18회. 여기서 통과하면 티어 규칙에 따라 Claude Code도 커버되지만, 두 번째 티어에 대해서는 아무것도 말해주지 않습니다.

점수

각 차원은 0~5점이며 여섯 차원을 더하면 30점 만점의 총점이 됩니다. 모든 차원에서 5가 가장 좋습니다. 비용 5는 저렴하고 빠름, 설치 5는 쉬움을 뜻합니다.

트리거 신뢰도
5.0
스킬 없이 대비 향상폭
2.9
출력 품질
4.1
토큰 및 시간 비용
2.0
설치 및 이식성
4.0
안전성
5.0

보안 리뷰

안전

정적 스캔: CRITICAL 0 / HIGH 0 / MEDIUM 0. 수동 검토: 네트워크가 차단된 샌드박스에서 실행 안전(발견 사항 없음). 스캔이 깨끗하다고 해서 스킬이 안전하다는 증거는 아닙니다.

설치

npx skills@latest add mattpocock/skills --skill improve-codebase-architecture

출처

고정 커밋: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

테스트일: 2026-11-02

테스트한 과제

  • 저장소 전체 아키텍처 스캔 — 이 작은 쇼핑 백엔드의 아키텍처 개선점을 검토하세요: 어디를 재구성하면 코드를 더 쉽게 바꾸고 더 쉽게 테스트할 수 있습니까? 결과는 이 폴더에 report.html이라는 자체 완결형 HTML 보고서로 작성하세요(브라우저를 열거나 서버를 시작하지 마세요)…
  • 결제와 재고만 — 이 백엔드의 결제와 재고 부분만 보고 어떤 재구성이 효과가 있을지 알려주세요. 결과는 이 폴더에 report.html이라는 자체 완결형 HTML 보고서로 작성하고(브라우저를 열거나 서버를 시작하지 마세요) 어떤 코드도 변경하지 마세요…
  • place_order는 왜 테스트하기 어려운가? — 이 백엔드에서 place_order에 제대로 된 테스트를 작성하는 게 고통스럽게 느껴집니다. 왜 그렇고, 어떤 재구성이 이를 해결할까요? 파일은 변경하지 말고 최종 메시지로 답하세요.

장점

  • 스킬 없이보다 평균 점수를 3.2에서 4.12로 끌어올렸습니다(+0.92).
  • 스킬 이름을 언급하지 않았는데도 적용되었습니다. 스킬 사용군 실행 6/6회에서 스킬 파일을 읽었습니다.

단점

  • 스킬 없이보다 토큰을 1.8배 사용합니다.
  • 과제·그룹당 n=2이며, 약 1점 미만의 차이는 노이즈입니다.

리뷰

Codex CLI 0.166 (gpt-6-astra, low reasoning)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬 설치(스킬 사용군), 미설치(대조군), 미설치 상태에서 스킬의 핵심 요구사항만 한 문장으로 압축해 프롬프트에 덧붙인 경우(한 문장 프롬프트군)로 나눴으며, 과제·그룹당 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 언급하지 않았습니다(아래에 적은 경우 제외). 마찰 요소를 심어 둔 작은 Python 쇼핑 백엔드에서 세 가지 과제를 수행했습니다(얕은 validator/금액 헬퍼, 저장소로 전달만 하는 재고 서비스, 결제 어댑터 하나뿐, 장바구니와 주문에 중복된 할인 로직, 헬퍼만 검증하는 테스트). 과제는 report.html로 작성하는 코드베이스 전체 아키텍처 리뷰, 같은 리뷰를 결제와 재고로 한정, 그리고 'place_order는 왜 테스트하기 어려운가'를 채팅으로 답하기입니다. 스킬 사용군의 프롬프트는 $improve-codebase-architecture로 시작하며(명시적 호출), 대조군과 한 문장 프롬프트는 스킬 이름을 언급하지 않습니다.

3개 그룹 비교

그룹평균 점수 (0-5)실행당 토큰
스킬 없음3.2115k
한 문장 프롬프트3.91120k
스킬 사용4.12208k

Codex CLI에서 18회 실행해 측정했고, LLM 심사 없이 규칙 기반 검사로 채점했습니다. 총점 23.0 / 30, 판정 상황에 따라.

판정: 상황에 따라 다름 (23.0 / 30). 출처: mattpocock/skills, skills/engineering/improve-codebase-architecture, skills/engineering/codebase-design, 커밋 4ae2317에 고정. 설치: npx skills@latest add mattpocock/skills --skill improve-codebase-architecture. 라이선스: MIT (저장소 LICENSE).

어떤 스킬인가

mattpocock/skills의 improve-codebase-architecture 스킬입니다. 코드베이스에서 '심화 기회'를 찾습니다. 인터페이스가 구현만큼 복잡한 얕은 모듈, 통과 전용 계층, 가정에 불과한 단일 어댑터 이음새, 중복 로직, 헬퍼를 통해서만 테스트되는 동작입니다. 후보별 전후 비교와 최우선 권고가 담긴 HTML 보고서를 작성합니다. 용어는 형제 스킬인 codebase-design에 기댑니다. Markdown만 사용하고 스크립트는 없습니다.

테스트 방법

Codex CLI 0.166(gpt-6-astra, 낮은 추론)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬을 설치한 경우(스킬 사용군), 설치하지 않은 경우(대조군), 스킬의 핵심 요구사항을 한 문장으로 압축해 프롬프트 끝에 붙인 경우(한 문장 프롬프트군)로 나눴고, 작업마다 각 군 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 전혀 언급하지 않았습니다(아래에 적은 표현은 예외).

심어 둔 마찰(얕은 검증기/금액 헬퍼, 자체 저장소로만 전달하는 재고 서비스, 결제 어댑터 하나, 장바구니와 주문에 중복된 할인 로직, 헬퍼만 검사하는 테스트)이 있는 작은 Python 쇼핑 백엔드에서 세 가지 작업을 수행했습니다. report.html로 작성하는 전체 코드베이스 아키텍처 리뷰, 결제와 재고로 범위를 좁힌 같은 리뷰, 그리고 'place_order는 왜 테스트하기 어려운가'를 채팅으로 답하는 작업입니다. 스킬군의 프롬프트는 $improve-codebase-architecture로 시작합니다(명시적 호출). 대조군과 한 문장 프롬프트는 이름을 언급하지 않습니다.

  1. 전체 저장소 아키텍처 스캔 — 이 작은 쇼핑 백엔드의 아키텍처 개선점을 검토하세요. 어디를 재구성하면 코드를 더 쉽게 바꾸고 더 쉽게 테스트할 수 있을까요? 결과를 이 폴더의 report.html이라는 자체 포함 HTML 보고서로 작성하세요(브라우저를 열거나 서버를 시작하지 마세요…
  2. 결제와 재고만 — 이 백엔드의 결제와 재고 부분만 보고 어떤 재구성이 효과가 있을지 알려주세요. 결과를 이 폴더의 report.html이라는 자체 포함 HTML 보고서로 작성하고(브라우저를 열거나 서버를 시작하지 마세요) 코드는 변경하지 마세요…
  3. place_order는 왜 테스트하기 어려운가? — 이 백엔드에서 place_order에 제대로 된 테스트를 작성하는 것이 힘들게 느껴집니다. 왜 그런지, 어떤 재구성이 그것을 해결할지 알려주세요. 파일은 변경하지 말고 최종 메시지로 답하세요.

채점은 프로그램 방식(숨은 테스트, 심어 둔 문제 탐지, 제약 조건 검사, 해당되는 경우 렌더링+OCR)으로 실행당 0~5점입니다. 점수를 결정한 LLM 심사자는 없습니다.

결과

세 번째 군에 전달한 한 문장 프롬프트: "심화 기회를 찾으세요. 인터페이스가 구현만큼 복잡한 얕은 모듈(삭제 테스트 적용: 삭제하면 복잡성이 한곳에 모이는가, 아니면 옮겨질 뿐인가?), 통과 전용 계층, 가정에 불과한 단일 어댑터 이음새, 여러 모듈에 중복된 로직, 실제 인터페이스가 아니라 헬퍼를 통해서만 테스트되는 로직입니다. 각 후보를 파일, 문제, 해결책, 이점, 전후 비교와 함께 제시하고 최우선 권고를 하나 지목하세요."

작업대조군 점수한 문장 프롬프트스킬 사용대조군 토큰한 문장 프롬프트 토큰스킬 사용 토큰스킬 읽음
t1-scan2.924.244.43154k158k243k2/2
t2-focus2.082.53.75116k133k228k2/2
t3-testing4.585.04.1774k67k150k2/2

평균 점수: 스킬 없이 3.2, 스킬 사용 시 4.12(델타 +0.92). 실행당 토큰: 115k 대 208k(1.80배), 시간 112초 대 135초. 한 문장 프롬프트군: 3.91(한 문장 프롬프트 대비 스킬의 이득: +0.2, 스킬 없는 경우 대비 한 문장 프롬프트의 이득: +0.72). 한 문장 프롬프트는 실행당 120k 토큰을 쓰므로, 스킬은 한 문장 프롬프트의 1.73배 비용입니다.

실제로 있었던 일

  • 전체 코드베이스 리뷰에서 차이가 드러납니다. 스킬과 한 문장 버전은 네 번의 실행 모두에서 아키텍처 용어, 전후 비교, 최우선 권고를 갖춰 6/6개의 심어 둔 포인트를 찾았습니다. 일반 Codex는 한 실행에서 2/6, 다른 실행에서 6개 검사 중 5개를 찾았고, 두 실행 모두 명확한 '최우선 권고'가 없었습니다.
  • 범위를 좁힌 리뷰(결제와 재고만)는 모두에게 어렵습니다. 가장 좋은 군도 평균적으로 심어 둔 두 포인트 중 하나만 찾았습니다. 대조군 2/4 검사, 한 문장 3/4, 스킬 3/4. 스킬이 한 문장보다 더 잘하지는 못했습니다.
  • 'place_order는 왜 테스트하기 어려운가'에서는 세 군 모두 심어 둔 원인(숨은 PaymentAdapter, 모듈 수준에서 공유되는 재고, 중복된 할인 로직, 헬퍼에서 멈추는 테스트)을 찾았습니다. 스킬의 답은 스킬 용어('interface', 'locality')를 사용했고, 대조군의 답은 평범한 말로 똑같이 정확했습니다.
  • 평균 점수는 대조군 3.20, 한 문장 3.91, 스킬 4.12입니다. 스킬은 형제 스킬도 읽기 때문에 한 문장보다 토큰을 1.7배(실행당 208k 대 120k) 쓰면서 0.21점을 더합니다. 한 문장 프롬프트군은 대조군과 같은 비용(115k)입니다.
  • 스킬이 스킬 폴더 두 개를 설치하므로 스킬 사용군은 프로젝트의 .agents 폴더에 추가 파일을 만들었습니다. 이 파일들은 '코드 파일 변경 없음' 검사에서 제외했습니다(첫 채점에서는 잘못 실패 처리되었고, 최종 수치 전에 검사의 Windows 관련 버그를 수정했습니다).

항목별 점수

항목점수이유
1_output_quality4.12

스킬 사용 시 평균 4.12/5점(프로그램 검사, 작업별 표 참조).

2_lift_vs_no_skill2.92

스킬 없이 3.20점 대비 +0.92점(작업당 n=2, 약 1점 미만의 차이는 노이즈).

3_trigger5.0스킬 사용군 6/6 실행에서 스킬 파일이 읽힘.
4_instructions_portability4

형제 스킬(codebase-design)과 선택적으로 grilling/domain-modeling에 의존합니다. 추가 스킬을 설치하지 않으면 용어가 빠집니다.

5_efficiency2

토큰 1.80배(실행당 208k 대 115k), 시간 1.20배(135초 대 112초).

6_safety_hygiene5

Markdown만 사용하고 스캐너도 깨끗함. 생성된 보고서 스캐폴드는 브라우저에서 열면 CDN 스크립트를 로드합니다.

이 테스트의 한계

  • 교과서적인 심어 둔 문제가 있는 작은 Python 픽스처 하나입니다. 큰 실제 저장소에서 보고서가 유용한지는 측정하지 않았습니다.
  • 보고서 품질, 오탐, HTML 스타일링(브라우저에서 열면 CDN에서 Tailwind와 Mermaid를 로드함)은 채점하지 않았습니다. 스킬이 설명하는 하위 에이전트 동작도 실행하지 않았습니다.
  • 한 문장 프롬프트는 스킬 자체 체크리스트를 다시 진술한 것이므로, 짧은 프롬프트의 상한선입니다.
  • 작업·군당 n = 2: 약 1점 미만의 차이는 노이즈입니다.
  • 규칙 기반 채점은 검사가 볼 수 있는 것만 측정합니다. 취향이나 결과가 최선인지는 판단할 수 없습니다.

보안

security.md를 참조하세요. 스캔: CRITICAL 0 / HIGH 0 / MEDIUM 0. 판정: 실행해도 안전(네트워크 비활성 샌드박스). 깨끗한 스캔 결과가 스킬의 안전성을 증명하지는 않습니다.

결론

아무것도 하지 않는 것과 비교하면 이 스킬은 전체 코드베이스 리뷰를 분명히 개선하며, 주로 보고서 구조와 용어를 강제하기 때문에 토큰을 1.8배 씁니다. 같은 냄새를 나열한 한 문장만으로도 이득의 대부분을 얻으므로, 매번 동일한 보고서 형식을 원할 때 주로 설치할 가치가 있습니다.

트랜스크립트

실행 로그: improve-codebase-architecture (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
열: 작업, 그룹-회차, 점수(0-5), 토큰, 초, 통과한 검사, 에이전트가 연 스킬 파일.

t1-scan control-1: 점수 1.67, 토큰 154044, 초 168.7, 검사 2/6, 연 파일 없음
t1-scan control-2: 점수 4.17, 토큰 154957, 초 158.2, 검사 5/6, 연 파일 없음
t1-scan oneliner-1: 점수 4.24, 토큰 158136, 초 159.2, 검사 6/6, 연 파일 없음
t1-scan oneliner-2: 점수 4.24, 토큰 158141, 초 183.3, 검사 6/6, 연 파일 없음
t1-scan treatment-1: 점수 4.62, 토큰 229717, 초 180.3, 검사 6/6, 연 파일 codebase-design,improve-codebase-architecture
t1-scan treatment-2: 점수 4.24, 토큰 258001, 초 158.7, 검사 6/6, 연 파일 codebase-design,improve-codebase-architecture
t2-focus control-1: 점수 1.25, 토큰 107480, 초 117.6, 검사 2/4, 연 파일 없음
t2-focus control-2: 점수 2.92, 토큰 125637, 초 137.1, 검사 2/4, 연 파일 없음
t2-focus oneliner-1: 점수 2.5, 토큰 139088, 초 200.6, 검사 3/4, 연 파일 없음

18회 실행, 아티팩트 3개

샘플 출력

SOTA · With the skill: report.html (t1-scan, run 1, Codex)

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Small shop — architecture review</title> <style> :root{color-scheme:light;--ink:#182b36;--muted:#52616b;--accent:#13745b;--paper:#f5f3ed;--line:#d6ddd8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}main{max-width:1120px;margin:auto;padding:50px 28px}h1,h2,h3{line-height:1.18}h1{font: clamp(34px,5vw,58px)/1.1 Georgia,serif;margin:12px 0}h2{font:30px/1.2 Georgia,serif;margin:12px 0}h3{font-size:16px}a{color:var(--accent)}.eyebrow,.label{font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--muted)}header{margin-bottom:30px}.summary,article,.top{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin:24px 0}article{border-top:4px solid var(--accent)}.badge{display:inline-block;padding:4px 12px;border-radius:20px;background:#dff3e9;color:#07583f;font-size:13px;font-weight:700}.explore{background:#fff0ce;color:#805800}.files{font:13px/1.8 ui-monospace,monospace;color:var(--muted);overflow-wrap:anywhere}.diagrams{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.diagram{padding:20px;background:#f5f7f5;border-radius:10px}.diagram h3{margin:0 0 18px}.box{border:1px solid #95aaa1;border-radius:6px;background:white;padding:12px;text-align:center}.row{display:flex;gap:10px}.row>*{flex:1}.arrow{text-align:center;color:var(--accent);font-weight:700;padding:6px}.leak{color:#ad3f35}.deep{background:var(--ink);color:#fff;border:4px solid var(--ink);border-radius:8px;padding:16px;text-align:center}.inside{margin-top:12px;border-top:1px solid #7d9b98;padding:12px 4px;color:#d2e4df;font-size:14px}.seam{border-top:2px dashed #80958c;margin:12px 0;padding-top:8px;text-align:center;font-size:13px;color:var(--muted)}p{margin:12px 0}ul{padding-left:22px}li{margin:6px 0}.note{border-left:3px solid #d29b35;padding:8px 14px;background:#fff9eb}.top{background:#e3eee7}.index{display:flex;gap:20px;flex-wrap:wrap}.footer{font-size:13px;color:var(--muted)}@media(max-width:720px){main{padding:24px 14px}.diagrams{grid-template-columns:1fr}article,.summary,.top{padding:20px}}@media print{body{background:#fff}main{padding:0}article{break-inside:avoid}a{color:inherit}} </style> </head> <body><main> <header><div class="eyebrow">Architecture review · 2 November 2026</div><h1>Give shop behavior<br>one place to live.</h1><p class="muted">Three focused opportunities for change locality and test leverage.</p><nav class="index" aria-label="Candidates"><a href="#pricing">01 Pricing</a><a href="#inventory">02 Inventory</a><a href="#order">03 Order execution</a></nav></header> <section class="summary" aria-label="Scope and evidence"> <h2>Scope &amp; confidence</h2> <p>Reviewed all ten Python files in <code>shop/</code>, <code>tests/test_helpers.py</code>, README, and available history at <code>39cbee1</code>. History contains only <code>init</code>; no change hotspots can be inferred. No <code>GLOSSARY.md</code>, <code>docs/adr/</code>, or <code>AGENTS.md</code> was found. Domain names below come from [... excerpt: first 3200 of 13128 characters]

Pro 보기