모든 스킬

domain-modeling (mattpocock/skills)

프로젝트의 도메인 모델을 구축하고 용어집과 아키텍처 결정 기록을 관리합니다.

domain-modeling: '용어집을 만들고 이 결정을 기록해 달라'는 평범한 요청을 짧은 GLOSSARY.md + ADR 형식으로 바꿔 줍니다(대조군 2.8, 스킬 5.0). 한 문장 프롬프트는 4.6점이고, 토큰 오버헤드는 없습니다

추천안전

Codex CLI · gpt-6-astra

28.2 / 30

스킬 없이 대비 향상폭: +2.20 · 추천 · 18회 실행

추천: 총점 28.2/30이 22점 이상, 출력 품질 5.0가 3.5 이상, 향상폭 +2.20가 +1.0 이상입니다.

SOTA

통과

Codex로 테스트

커버 대상 Codex, Claude Code

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

점수

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

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

보안 리뷰

안전

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

설치

npx skills@latest add mattpocock/skills --skill domain-modeling

출처

고정 커밋: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

테스트일: 2026-11-02

테스트한 과제

  • 중복된 용어로 용어집 만들기 — 우리 도서관 대출 앱은 같은 사람(책을 빌릴 수 있는 사람)을 'member', 'patron', 'borrower', 'customer'로 부릅니다. 'loan'은 'checkout' 또는 'rental'이라고도 합니다. 'copy'는 실제 책 한 권, 'title'은 추상적인 책입니다. 프로젝트 용어집을 만들어 주세요…
  • 되돌리기 어려운 결정 기록하기 — 이 아키텍처 결정을 저장소에 기록하세요: 우리는 돈을 Postgres에 NUMERIC/DECIMAL이 아니라 정수 센트로 저장합니다. 결제 파트너 API가 정수 센트를 쓰고, 반올림 버그에 두 번이나 당했기 때문입니다. 문서로 작성하세요.
  • ADR로 남길 만한 것만 기록하기 — 오늘 회의의 결정 두 가지: (a) 인증을 자체 비밀번호 테이블에서 타사 아이덴티티 제공자(Auth0)로 이전합니다. 되돌리는 데 분기 하나 분량의 작업이 듭니다. (b) CSS 클래스 .btn-main을 .btn-primary로 이름을 바꿨습니다. 기록할 만한 것만 기록하세요…

장점

  • 스킬 없이보다 평균 점수를 2.8에서 5.0으로 끌어올렸습니다(+2.20).
  • 스킬 이름을 언급하지 않았는데도 적용되었습니다. 스킬 사용군 실행 6/6회에서 스킬 파일을 읽었습니다.
  • 토큰 오버헤드 없음: 스킬 없이의 0.96배 토큰을 사용합니다.
  • 자기 규칙을 한 문장으로 요약한 프롬프트보다 +0.39점 높습니다.
  • 스킬 사용 시 높은 절대 품질: 5.0/5.

단점

  • 테스트 참고: 검사에 쓰인 파일명 글롭은 대조군의 파일명을 본 뒤 완화했고, 모든 실행을 같은 완화 규칙으로 다시 채점했습니다.
  • 과제·그룹당 n=2이며, 약 1점 미만의 차이는 노이즈입니다.

리뷰

Codex CLI 0.166 (gpt-6-astra, low reasoning)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬 설치(스킬 사용군), 미설치(대조군), 미설치 상태에서 스킬의 핵심 요구사항만 한 문장으로 압축해 프롬프트에 덧붙인 경우(한 문장 프롬프트군)로 나눴으며, 과제·그룹당 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 언급하지 않았습니다(아래에 적은 경우 제외). 형식을 이름으로 지정하지 않는 자연스러운 문구의 과제 세 가지를 썼습니다: '프로젝트 도메인 용어집을 만들어 줘'(같은 사람을 member/patron/borrower/customer로 부르는 도서관 앱), '이 아키텍처 결정을 기록해 줘'(돈을 정수 센트로 저장), '회의에서 나온 결정 두 개 중 기록할 만한 것만 기록해 줘'(되돌리기 어려운 Auth0 마이그레이션과 그렇지 않은 CSS 클래스 이름 변경). 저장소에는 ADR 0001, 0002가 있는 상태에서 시작했습니다. 한 문장 프롬프트는 규칙 전체를 한 문장으로 압축한 것입니다.

3개 그룹 비교

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

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

참고: 대조군의 파일 이름을 본 뒤 검사의 파일 이름 글롭을 완화했고, 모든 실행을 같은 완화 규칙으로 다시 채점했습니다.

판정: 추천 (28.2 / 30). 출처: mattpocock/skills, skills/engineering/domain-modeling, 커밋 4ae2317에 고정. 설치: npx skills@latest add mattpocock/skills --skill domain-modeling. 라이선스: MIT(저장소 LICENSE).

무엇인가

mattpocock/skills의 domain-modeling 스킬입니다. 프로젝트의 도메인 언어를 날카롭게 유지합니다. GLOSSARY.md를 관리하는데, 개념마다 표준 용어 하나를 굵게 표시하고 간결한 정의와 _Avoid_: 동의어를 두며 일반적인 프로그래밍 용어는 쓰지 않습니다. 또한 되돌리기 어렵고, 의외이며, 실제로 트레이드오프가 있는 결정에 대해서만 docs/adr/ 아래에 짧은 문단과 순차 번호로 ADR을 작성합니다.

테스트 방법

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

형식을 지정하지 않는 자연스러운 문장으로 된 세 가지 작업입니다. '프로젝트의 도메인 용어집을 만들어 주세요'(같은 사람을 member/patron/borrower/customer로 부르는 도서관 앱), '이 아키텍처 결정을 기록해 주세요'(금액을 정수 센트로 저장), '회의에서 나온 결정 두 개 중 기록할 만한 것만 기록해 주세요'(되돌리기 어려운 Auth0 이전과 그렇지 않은 CSS 클래스 이름 변경)이며, ADR 0001과 0002가 있는 저장소에서 시작합니다. 한 문장 프롬프트 = 전체 관례를 한 문장으로 정리한 것입니다.

  1. 중복된 용어로 용어집 만들기 — 저희 도서 대출 앱은 같은 사람(책을 빌릴 수 있는 사람)을 'member', 'patron', 'borrower', 'customer'로 부릅니다. 'loan'은 'checkout' 또는 'rental'이라고도 합니다. 'copy'는 실제 책 한 권이고, 'title'은 추상적인 책입니다. 프로젝트의 용어집을 만들어 주…
  2. 되돌리기 어려운 결정 기록 — 이 아키텍처 결정을 저장소에 기록하세요. 결제 파트너 API가 정수 센트를 사용하고 반올림 버그에 두 번 당했기 때문에, Postgres에서 금액을 NUMERIC/DECIMAL 대신 정수 센트로 저장합니다. 문서로 작성하세요.
  3. ADR로 남길 것만 기록 — 오늘 회의에서 나온 두 가지 결정입니다. (a) 자체 비밀번호 테이블에서 타사 ID 공급자(Auth0)로 인증을 옮깁니다. 되돌리려면 분기 하나 분량의 작업이 필요합니다. (b) CSS 클래스 .btn-main을 .btn-primary로 이름을 바꿨습니다. 기록할 만한 것만 기록하…

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

결과

세 번째 군에 제공한 한 문장 프롬프트: "프로젝트의 도메인 언어를 날카롭게 유지하세요. 개념마다 표준 용어 하나를 굵게 표시하고 간결한 정의와 _Avoid_: 동의어를 두며 일반적인 프로그래밍 용어는 쓰지 않은 GLOSSARY.md를 작성하세요. 되돌리기 어렵고, 의외이며, 실제로 트레이드오프가 있는 결정만 docs/adr/에 짧은 순차 번호 ADR로 기록하세요(템플릿이 아니라 한 문단)."

작업대조군 점수한 문장 프롬프트스킬 사용대조군 토큰한 문장 토큰스킬 사용 토큰스킬 읽음
t1-glossary1.464.385.075k90k79k2/2
t2-adr2.55.05.091k74k69k2/2
t3-adr-numbering4.454.455.082k83k89k2/2

평균 점수: 스킬 없음 2.8 vs 스킬 사용 5.0(델타 +2.2). 실행당 토큰: 83k vs 80k(0.96배), 시간 45초 vs 35초. 한 문장 프롬프트군: 4.61(한 문장 프롬프트 대비 스킬의 이득: +0.39, 스킬 없음 대비 한 문장 프롬프트의 이득: +1.8). 한 문장 프롬프트는 실행당 83k 토큰이므로 스킬 비용은 한 문장 프롬프트의 0.96배입니다.

무슨 일이 있었나

  • 대조군 2.80, 한 문장 4.61, 스킬 5.00(각 6회). 대조군은 합리적으로 처리하지만 자기 방식대로 합니다. GLOSSARY.md가 아닌 DOMAIN*GLOSSARY.md를 표나 서술로 만들었고, 두 실행 모두 \_Avoid* 줄이 없었습니다. ADR은 Context/Decision/Consequences 제목을 단 263단어와 355단어 분량이었는데, 이 관례는 짧은 문단을 원합니다. 대조군 ADR 하나는 docs/adr/ 대신 docs/decisions/에 들어갔습니다.
  • 스킬의 두 가지 판단은 옳았습니다. 세 번째 작업의 스킬 사용군 두 실행 모두 Auth0 이전만 ADR 0003으로 기록했고(기존 0001/0002 뒤의 올바른 번호), CSS 이름 변경은 되돌리기 쉽다며 건너뛰었다고 밝혔습니다. 대조군과 한 문장 프롬프트도 이름 변경은 건너뛰었지만, 대조군-2와 한 문장-2는 제 정규식이 인식하지 못한 이유(일상적 변경, 기록하지 않음)를 제시했습니다. 그래서 '이유를 알려주는가' 검사가 이들에게 충분한 점수를 주지 못했습니다.
  • 한 문장 프롬프트는 형식의 대부분에 도달했습니다(용어집 3.75와 5.0, ADR 5.0, 5.0). 그러나 한 문장 프롬프트의 용어집 하나가 다른 레이아웃을 써서 _Avoid_ 구조 검사를 놓쳤습니다.
  • 비용 차이는 없었습니다. 실행당 스킬 80k, 대조군과 한 문장 83k였습니다. 스킬은 이름을 대지 않은 채 스킬 사용군 6/6 실행에서 읽혔습니다.

항목별 점수

항목점수이유
1_출력_품질5.0

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

2_스킬_없음_대비_향상4.2

스킬 없음 2.80 대비 +2.20점(작업당 n=2, 약 1점 미만은 노이즈).

3_트리거5.0스킬 사용군 6/6 실행에서 스킬 파일을 읽었습니다.
4_지침_이식성4짧은 SKILL.md와 참고 템플릿 몇 개, 스크립트는 없습니다.
5_효율성5토큰 0.96배(실행당 80k vs 83k), 시간 0.78배(35초 vs 45초).
6_안전성_및_위생5서술형 문서만 사용, security.md 참고.

이 테스트의 한계

  • 파일 이름, 제목, 굵은 용어 개수, 단어 수, _Avoid_ 줄을 규칙으로 검사합니다. 여러 검사는 형식을 알려주지 않으면 대조군이 맞출 수 없는 형태 검사입니다. 이 검사는 이 사이트의 관례에 대한 준수도를 측정할 뿐 일반적인 작성 품질을 평가하지 않습니다.
  • 대조군이 DOMAIN_GLOSSARY.md를 쓰고 한 문장 프롬프트가 불릿형 항목을 쓴 것을 보고 파일 이름과 레이아웃 패턴을 완화했으며(파일 이름은 별도 검사로 유지), 같은 규칙으로 모든 실행을 다시 채점했습니다. '(b)를 건너뛴 이유' 정규식은 여전히 엄격합니다.
  • 작은 합성 저장소를 사용했고, 시간이 지나며 갱신해야 하는 장기 용어집은 없습니다.
  • 작업·군당 n=2: 약 1점 미만의 차이는 노이즈입니다.
  • 규칙 기반 채점은 검사가 볼 수 있는 것만 측정하며, 취향이나 결과가 최선인지는 판단하지 못합니다.

보안

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

결론

이 용어집·ADR 관례를 원하는 팀이라면 스킬이 한 번에 올바르게 처리하고 ADR을 드물게 유지하며 추가 토큰도 들지 않습니다. 한 문장 지시로도 대부분 얻을 수 있으므로, 이 스킬의 주된 이점은 매번 관례를 붙여 넣지 않아도 된다는 것입니다.

트랜스크립트

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

t1-glossary control-1: 점수 1.25, 토큰 67501, 초 45.5, 검사 2/7, 연 파일 없음
t1-glossary control-2: 점수 1.67, 토큰 82953, 초 59.9, 검사 3/7, 연 파일 없음
t1-glossary oneliner-1: 점수 5.0, 토큰 99071, 초 37.6, 검사 7/7, 연 파일 없음
t1-glossary oneliner-2: 점수 3.75, 토큰 82400, 초 36.8, 검사 6/7, 연 파일 없음
t1-glossary treatment-1: 점수 5.0, 토큰 89157, 초 40.7, 검사 7/7, 연 파일 domain-modeling
t1-glossary treatment-2: 점수 5.0, 토큰 70479, 초 32.2, 검사 7/7, 연 파일 domain-modeling
t2-adr control-1: 점수 3.12, 토큰 99540, 초 43.6, 검사 3/5, 연 파일 없음
t2-adr control-2: 점수 1.88, 토큰 82829, 초 51.1, 검사 2/5, 연 파일 없음
t2-adr oneliner-1: 점수 5.0, 토큰 66964, 초 43.7, 검사 5/5, 연 파일 없음

18회 실행, 아티팩트 3개

샘플 출력

SOTA · With the skill: GLOSSARY.md (t1-glossary, run 1, Codex)

# Library Lending The library-lending context describes people who can borrow books, the books available to borrow, and their loans. ## Language **Member**: A person who can borrow books from the library, whether or not they currently have a loan. _Avoid_: Patron, borrower, customer **Loan**: An instance of a member borrowing a physical copy of a title from the library. _Avoid_: Checkout, rental **Copy**: One physical book belonging to a title. Two physical books of the same title are two distinct copies. _Avoid_: Title (when referring to a physical book) **Title**: The abstract book represented by physical copies. Multiple copies of the same book share a title. _Avoid_: Copy (when referring to the abstract book)

Pro 보기