본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

improve-codebase-architecture

코드 구조를 살펴 이해와 테스트를 어렵게 하는 부분의 개선안을 도표가 포함된 HTML 보고서로 정리합니다. 후보를 선택하면 제약과 설계 결정을 대화로 구체화합니다.

원문원문 설명 보기

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

AI 평가80점/ 100설치 방법 보기

이럴 때 유용합니다

  • 자주 변경하는 영역의 설계 검토
  • 리팩터링 방안을 도표로 비교
  • 테스트하기 쉬운 모듈 설계 검토
  • 용어와 설계 결정의 이유 기록

한국어 소개

할 수 있는 일

improve-codebase-architecture는 코드베이스를 살펴 이해와 테스트를 어렵게 하는 구조의 개선 후보를 제시합니다. 복잡한 처리를 간단한 인터페이스 안에 담는 설계에 중점을 둡니다. 각 후보의 대상 파일, 문제, 해결안, 이점, 추천 정도를 변경 전후 도표가 포함된 HTML 보고서로 비교할 수 있습니다.

이럴 때 유용합니다

하나의 개념을 이해하려고 여러 작은 모듈을 오가거나 현재 구조에서 테스트하기 어려울 때 유용합니다. 지정한 영역이나 변경 이력에 자주 등장하는 영역부터 살펴봅니다. 후보를 선택하면 제약, 의존 관계, 설계, 유지할 테스트를 대화로 검토합니다.

사용 예시

  • “최근 자주 변경한 영역의 설계를 살펴보고 개선 후보를 도표로 비교해 주세요.”
  • “이 모듈을 테스트하기 쉽게 만드는 방안을 검토해 주세요.”

주의 사항

codebase-design, grilling, domain-modeling 스킬을 사용합니다. GLOSSARY.md와 docs/adr/의 설계 결정을 참조하며 검토 중 용어집을 갱신할 수 있습니다. 보고서는 운영체제의 임시 디렉터리에 저장합니다. 표시할 때는 콘텐츠 전송망을 통해 Tailwind와 Mermaid를 불러옵니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호구조 개선 후보를 도표로 제시한 뒤 선택한 설계를 질문으로 검토하는 흐름이 명확합니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호조사 범위 선정, 보고서 항목과 저장 위치, 후보 선택 후 검토 절차가 구체적입니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
B일부 부족논의 중 용어집을 바로 갱신하지만 기존 내용 변경 전 확인 절차는 없습니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족관련 스킬 세 개와 외부에서 제공하는 라이브러리를 사용하지만 설치 방법은 없습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 19일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(3)

  • SKILL.md5.9 KB
  • agents/openai.yaml166 B
  • HTML-REPORT.md6.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Improve Codebase Architecture

Surface architectural friction and propose deepening opportunities: refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.

This command is informed by the project's domain model and built on a shared design vocabulary:

  • Call the Skill tool with "codebase-design" for the architecture vocabulary (module, interface, depth, seam, adapter, leverage, locality) and its principles (the deletion test, "the interface is the test surface", "one adapter = hypothetical seam, two = real"). Use these terms exactly in every suggestion, and don't drift into "component," "service," "API," or "boundary."
  • The domain language in GLOSSARY.md gives names to good seams; ADRs in docs/adr/ record decisions this command should not re-litigate.

Process

1. Explore

Scope before you scan: YAGNI. Deepening a module pays off by making future changes to it easier, so put extra weight on the parts of the codebase that have recently changed. Decide where to look before you look:

  • If the user named a direction (a module, a subsystem, a pain point), take it, and skip the inference below.
  • Otherwise, walk back a good stretch of the commit history (git log --oneline) to find the codebase's hot spots, the files and areas that keep coming up, and let those paths pull your attention first. If the changes are scattered with no clear hot spot, widen the net.

Read the project's domain glossary (GLOSSARY.md) and any ADRs in the area you're touching first.

Then spawn a sub-agent to walk the codebase. Don't follow rigid heuristics; explore organically and note where you experience friction:

  • Where does understanding one concept require bouncing between many small modules?
  • Where are modules shallow, with an interface nearly as complex as the implementation?
  • Where have pure functions been extracted just for testability, but the real bugs hide in how they're called (no locality)?
  • Where do tightly-coupled modules leak across their seams?
  • Which parts of the codebase are untested, or hard to test through their current interface?

Apply the deletion test to anything you suspect is shallow: would deleting it concentrate complexity, or just move it? A "yes, concentrates" is the signal you want.

2. Present candidates as an HTML report

Write a self-contained HTML file to the OS temp directory so nothing lands in the repo. Resolve the temp dir from $TMPDIR, falling back to /tmp (or %TEMP% on Windows), and write to <tmpdir>/architecture-review-<timestamp>.html so each run gets a fresh file. Open it for the user (xdg-open <path> on Linux, open <path> on macOS, start <path> on Windows) and tell them the absolute path.

The report uses Tailwind via CDN for layout and styling, and Mermaid via CDN for diagrams where a graph/flow/sequence reliably communicates the structure. Mix Mermaid with hand-crafted CSS/SVG visuals: use Mermaid when relationships are graph-shaped (call graphs, dependencies, sequences), and hand-built divs/SVG when you want something more editorial (mass diagrams, cross-sections, collapse animations). Each candidate gets a before/after visualisation. Be visual.

For each candidate, render a card with:

  • Files: which files/modules are involved
  • Problem: why the current architecture is causing friction
  • Solution: plain English description of what would change
  • Benefits: explained in terms of locality and leverage, and how tests would improve
  • Before / After diagram: side-by-side, custom-drawn, illustrating the shallowness and the deepening
  • Recommendation strength: one of Strong, Worth exploring, Speculative, rendered as a badge

End the report with a Top recommendation section: which candidate you'd tackle first and why.

Use GLOSSARY.md vocabulary for the domain, and the /codebase-design vocabulary for the architecture. If GLOSSARY.md defines "Order," talk about "the Order intake module," not "the FooBarHandler," and not "the Order service."

ADR conflicts: if a candidate contradicts an existing ADR, only surface it when the friction is real enough to warrant revisiting the ADR. Mark it clearly in the card (e.g. a warning callout: "contradicts ADR-0007, but worth reopening because…"). Don't list every theoretical refactor an ADR forbids.

See HTML-REPORT.md for the full HTML scaffold, diagram patterns, and styling guidance.

Do NOT propose interfaces yet. After the file is written, ask the user: "Which of these would you like to explore?"

3. Grilling loop

Once the user picks a candidate, call the Skill tool with "grilling" to walk the decision tree with them: constraints, dependencies, the shape of the deepened module, what sits behind the seam, what tests survive.

Side effects happen inline as decisions crystallize; call the Skill tool with "domain-modeling" to keep the domain model current as you go:

  • Naming a deepened module after a concept not in GLOSSARY.md? Add the term to GLOSSARY.md. Create the file lazily if it doesn't exist.
  • Sharpening a fuzzy term during the conversation? Update GLOSSARY.md right there.
  • User rejects the candidate with a load-bearing reason? Offer an ADR, framed as: "Want me to record this as an ADR so future architecture reviews don't re-suggest it?" Only offer when the reason would actually be needed by a future explorer to avoid re-suggesting the same thing; skip ephemeral reasons ("not worth it right now") and self-evident ones.
  • Want to explore alternative interfaces for the deepened module? Call the Skill tool with "codebase-design" and use its design-it-twice parallel sub-agent pattern.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

ask-matt

무료요약 있음AI 평가 90점

아이디어 정리, 구현, 오류 조사에 맞는 관련 스킬과 사용 순서를 안내합니다. 작업의 규모와 단계에 따라 다음 절차를 선택하도록 돕습니다.

  • 아이디어부터 구현까지의 절차 선택
  • 오류 조사를 시작할 지점 찾기
  • 여러 세션에 걸친 개발 진행 방식 상담
mattpocock/skills29.6만2026년 10월 13일 업데이트

chief-of-staff

무료요약 있음AI 평가 60점

한 세션에서 장기 목표를 향해 여러 하위 에이전트의 작업을 조율합니다. 사용자와 대화를 이어가면서 다음 작업에도 도움이 될 환경과 공통 규칙을 개선합니다.

  • 장기 목표를 위한 작업 담당을 조율할 때
  • 백그라운드 작업 중에도 대화를 이어갈 때
  • 공통 규칙과 작업 환경을 개선할 때
mattpocock/skills29.6만2026년 10월 13일 업데이트

claude-handoff

무료요약 있음AI 평가 90점

진행 중인 대화를 인계용으로 요약하고 민감한 정보를 제외한 뒤 새 백그라운드 에이전트에 전달합니다. 다음 작업의 초점과 참고 자료를 정리해 현재 작업 위치에서 이어 갑니다.

  • 새 에이전트에 후속 작업 인계
  • 다음 세션의 작업 범위를 좁혀 인계
  • 다음 세션에 필요한 참고 자료 정리
mattpocock/skills29.6만2026년 10월 13일 업데이트

code-review

무료요약 있음AI 평가 90점

지정한 커밋이나 브랜치를 기준으로 코드 변경을 검토합니다. 문서화된 개발 규칙 준수와 요구 사항 구현을 별도로 확인하고 두 관점의 지적 사항을 나누어 보고합니다.

  • 브랜치나 PR의 변경 검토
  • 지정 커밋이나 태그 이후 변경 확인
  • 문서화된 개발 규칙과 대조
mattpocock/skills29.6만2026년 10월 13일 업데이트

codebase-design

무료요약 있음AI 평가 90점

호출자가 익혀야 할 사용법은 줄이고 복잡한 처리는 내부에 모으는 모듈 설계를 돕습니다. 공통 용어와 판단 기준으로 사용 편의성과 테스트 용이성을 검토합니다.

  • 모듈 호출 방법 간소화
  • 흩어진 복잡한 처리 통합
  • 구현을 교체할 위치 검토
mattpocock/skills29.6만2026년 10월 13일 업데이트

diagnosing-bugs

무료요약 있음AI 평가 80점

재현하기 어려운 오류와 성능 저하를 증상 감지 테스트나 스크립트로 조사합니다. 원인 후보를 검증하고 수정한 뒤 재발 방지 테스트까지 확인합니다.

  • 재현하기 어려운 오류 조사
  • 처리 속도가 느려진 원인 조사
  • 간헐적 오류를 반복해서 검증
mattpocock/skills29.6만2026년 10월 13일 업데이트

mattpocock의 스킬 모두 보기

이 스킬의 문제 신고