모든 스킬

writing-for-agents (mattpocock/skills)

에이전트가 안정적으로 따를 수 있는 스킬, AGENTS.md, CLAUDE.md 문서를 작성하고 편집합니다.

writing-for-agents: 가장 뚜렷한 이득은 규칙을 잃지 않고 AGENTS.md를 줄이는 것(5.0 대 4.3)이지만, 새 스킬을 작성할 때는 대조군과 비슷한 점수를 받습니다. 한 문장 프롬프트는 4.6점으로 스킬의 4.5점을 앞섭니다

상황에 따라안전

Codex CLI · gpt-6-astra

24.9 / 30

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

상황에 따라: 향상폭 +0.35가 +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.4
출력 품질
4.5
토큰 및 시간 비용
4.0
설치 및 이식성
4.0
안전성
5.0

보안 리뷰

안전

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

설치

npx skills@latest add mattpocock/skills --skill writing-for-agents

출처

고정 커밋: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

테스트일: 2026-11-02

테스트한 과제

  • 커밋 메시지 스킬 작성 — skills/commit-writer/SKILL.md에 스킬(SKILL.md)을 작성해, 코딩 에이전트가 다음 규칙에 따라 커밋 메시지를 쓰도록 하세요: 제목은 명령형이고 50자 미만이며 끝에 마침표를 찍지 않습니다. 그다음 빈 줄, 이어서 72자에서 줄바꿈한 본문…
  • AGENTS.md 다듬기 — AGENTS.md는 아무도 읽지 않을 만큼 커졌습니다. 에이전트가 실제로 필요한 내용을 잃지 않으면서 최대한 짧아지도록 그 자리에서 다시 작성하세요.
  • 버그 트리아지 스킬 작성 — skills/bug-triage/SKILL.md에 스킬(SKILL.md)을 작성해, 에이전트가 들어오는 버그 보고를 S1(데이터 손실 또는 서비스 중단), S2(주요 기능 고장이지만 우회 방법이 있음), S3(사소하거나 외관상 문제)로 분류하고, 빠진 재현 절차를 먼저 요청하도록 하세요…

장점

  • 스킬 이름을 언급하지 않았는데도 적용되었습니다. 스킬 사용군 실행 6/6회에서 스킬 파일을 읽었습니다.
  • 스킬 사용 시 높은 절대 품질: 4.52/5.

단점

  • 한 문장 프롬프트는 4.63점, 스킬 사용은 4.52점(-0.11).
  • 과제·그룹당 n=2이며, 약 1점 미만의 차이는 노이즈입니다.

리뷰

Codex CLI 0.166 (gpt-6-astra, low reasoning)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬 설치(스킬 사용군), 미설치(대조군), 미설치 상태에서 스킬의 핵심 요구사항만 한 문장으로 압축해 프롬프트에 덧붙인 경우(한 문장 프롬프트군)로 나눴으며, 과제·그룹당 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 언급하지 않았습니다(아래에 적은 경우 제외). writing-skills와 같은 세 가지 과제를 냈습니다: 네 가지 규칙으로 커밋 메시지 스킬 작성하기, 군더더기로 부풀려진 AGENTS.md를 핵심을 잃지 않고 다듬기(실제 규칙 5개가 채우기 문장, 중복, 오래된 포인터 사이에 묻혀 있음), 버그 트리아지 스킬 작성하기. 대조군에는 과제만 주어집니다. 한 문장 프롬프트에는 스킬의 핵심 규칙을 한 문장으로 담았습니다. 생성된 SKILL.md 파일은 writing-skills와 같은 7점 체크리스트로 채점했는데, 이 체크리스트는 'Use when ...' 형식의 설명을 기대합니다. 이 스킬 자체의 조언은 '트리거를 먼저'이며, 그런 문자 그대로의 문구를 쓰라는 것이 아닙니다.

3개 그룹 비교

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

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

판정: 상황에 따라 다름 (24.9 / 30). 출처: mattpocock/skills, skills/productivity/writing-for-agents, 커밋 4ae2317에 고정. 설치: npx skills@latest add mattpocock/skills --skill writing-for-agents. 라이선스: MIT(저장소 LICENSE).

무엇인가

writing-for-agents 스킬(mattpocock/skills)은 에이전트가 읽는 지침을 작성하는 방법을 안내합니다. 설명에서 트리거를 맨 앞에 두고 고유한 분기마다 트리거 하나를 두기, 각 의미를 단일 진실 공급원에 유지하기, 모델이 이미 따르는 무효 지시와 환경(스크립트, 설정)을 되풀이하는 줄 삭제하기, 각 단계를 검증 가능한 완료 기준으로 끝내기, 파일을 짧게 유지하기입니다.

테스트 방법

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

writing-skills와 같은 작업 세 가지입니다. 규칙 네 개로 커밋 메시지 스킬 작성, 핵심을 잃지 않고 비대해진 AGENTS.md 다듬기(군더더기, 중복, 오래된 포인터 사이에 실제 규칙 5개가 묻혀 있음), 버그 트리아지 스킬 작성. 대조군은 작업만 받습니다. 한 문장 프롬프트는 스킬의 주요 규칙을 한 문장으로 제공합니다. 생성된 SKILL.md 파일은 writing-skills와 같은 7점 체크리스트로 채점하며, 이 체크리스트는 'Use when ...' 스타일 설명을 기대합니다. 이 스킬 자체의 조언은 '트리거를 먼저'이지 그런 문자 그대로의 문구가 아닙니다.

  1. 커밋 메시지 스킬 작성 — skills/commit-writer/SKILL.md에 코딩 에이전트가 다음 규칙에 따라 커밋 메시지를 작성하게 하는 스킬(SKILL.md)을 작성하세요: 제목은 명령형이고 50자 미만이며 끝에 마침표를 찍지 않습니다. 그다음 빈 줄과 72자에서 줄바꿈한 본문…
  2. AGENTS.md 다이어트 — AGENTS.md는 아무도 읽지 않을 만큼 커졌습니다. 에이전트가 실제로 필요한 내용을 잃지 않으면서 최대한 짧아지도록 그 자리에서 다시 작성하세요.
  3. 버그 트리아지 스킬 작성 — skills/bug-triage/SKILL.md에 에이전트가 들어오는 버그 리포트를 S1(데이터 손실 또는 장애), S2(주요 기능 고장이지만 우회 방법 있음), S3(사소하거나 외관상 문제)으로 분류하고, 빠진 재현 단계를 먼저 요청하게 하는 스킬(SKILL.md)을 작성하세요…

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

결과

세 번째 군에 전달한 한 문장 프롬프트: "에이전트를 위해 글을 쓰세요: 설명에서 트리거를 맨 앞에 두고 고유한 분기마다 트리거 하나, 각 의미는 단일 진실 공급원에 유지하고, 모델이 이미 따르는 무효 지시와 환경(스크립트, 설정)을 되풀이하는 줄은 삭제하며, 각 단계는 검증 가능한 완료 기준으로 끝내고, 파일은 짧게 유지하세요."

작업대조군 점수한 문장 프롬프트스킬 사용대조군 토큰한 문장 프롬프트 토큰스킬 사용 토큰스킬 읽음
t1-commit-skill4.064.594.3865k55k84k2/2
t2-trim-agents4.294.715.067k95k96k2/2
t3-triage-skill4.184.594.1875k75k84k2/2

평균 점수: 스킬 없음 4.17, 스킬 사용 4.52(차이 +0.35). 실행당 토큰: 70k 대 88k(1.27배), 시간: 39초 대 37초. 한 문장 프롬프트 군: 4.63(한 문장 프롬프트 대비 스킬의 이득 -0.11, 스킬 없음 대비 한 문장 프롬프트의 이득 +0.46). 한 문장 프롬프트의 실행당 토큰은 76k이므로 스킬은 한 문장 프롬프트의 1.17배 비용을 씁니다.

무슨 일이 있었나

  • 평균: 스킬 4.52, 한 문장 4.63, 대조군 4.17(각 n=6). 확실한 승리는 AGENTS.md 작업입니다. 스킬은 2회 모두 5.00(필수 규칙 5개 모두 유지, 군더더기 제거, 오래된 포인터 수정, 중복 통합)으로 대조군 4.29, 한 문장 4.71을 앞섰습니다. 한 문장 실행 2회는 모두 다듬는 과정에서 '마이그레이션은 추가 전용' 규칙을 삭제했고, 스킬 실행은 유지했습니다.
  • 스킬 작성 작업 두 개에서는 스킬이 대조군보다 낫지 않았습니다(4.18~4.59 대 4.06~4.18). 해당 작업의 스킬 사용 실행 4회 모두 설명이 워크플로 요약이거나 스킬을 언제 쓸지 말하지 않았습니다('들어오는 버그 리포트의 빠진 재현 단계를 요청하고 심각도를 분류해 트리아지...', 대조군과 동일). 그래서 7점 체크리스트는 대조군과 마찬가지로 5/7 또는 6/7을 줬습니다. 한 문장 실행은 트리거 스타일 설명을 작성했습니다('들어오는 버그 리포트에 재현 단계가 없으면 먼저 요청하세요...').
  • 대조군은 커밋 스킬 실행 2회 모두 '본문은 72자에서 줄바꿈, 이유 설명' 규칙을 빠뜨렸고(규칙 4개 중 3개), 스킬과 한 문장은 4개를 모두 유지했습니다.
  • 비용: 실행당 스킬 88k 토큰으로 대조군 70k, 한 문장 76k(1.26배, 1.16배). 스킬 사용 실행은 실행당 파일 4개를 프로젝트로 복사합니다.
  • AGENTS.md에 되풀이된 package.json 스크립트를 세는 검사는 여기서 대조군 2회 실행에서만 실패했습니다(3개 일치). 스킬의 '환경을 되풀이하지 말 것' 규칙과 일치합니다.

항목별 점수

항목점수근거
1. 출력 품질4.52

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

2. 스킬 없음 대비 향상2.35

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

3. 트리거5.0스킬 사용군 6/6회 실행에서 스킬 파일을 읽었습니다.
4. 지침 이식성4짧은 SKILL.md 하나. 스크립트는 없습니다.
5. 효율성4토큰 1.27배(실행당 88k 대 70k), 시간 0.94배(37초 대 39초).
6. 안전성·위생5산문만 포함. 지적 사항 없음.

이 테스트의 한계

  • 규칙 기반 검사로, 일부는 writing-skills 테스트에서 가져왔습니다. 7점 스킬 체크리스트는 이 스킬이 요구하지 않는 'Use when' 문구에 점수를 주므로, 스킬 작성 작업 두 개에서 이 스킬을 과소평가합니다.
  • 작성된 스킬이나 다듬은 AGENTS.md가 실제로 에이전트 행동을 바꾸는지는 아무도 테스트하지 않았습니다.
  • 셀당 n=2.
  • 작업·군당 n = 2: 약 1점 미만의 차이는 노이즈입니다.
  • 규칙 기반 채점은 검사가 볼 수 있는 것만 측정합니다. 취향이나 결과가 최선인지는 판단할 수 없습니다.

보안

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

결론

지침 파일을 압축할 때는 가치가 있습니다(한 문장 프롬프트가 놓친 실제 규칙을 모두 유지). 그 외에는 새 스킬을 작성할 때 기본 모델보다 낫지 않으며 토큰은 1.26배 듭니다.

트랜스크립트

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

t1-commit-skill control-1: 점수 4.06, 토큰 55944, 초 45.4, 검사 1/2, 연 파일 없음
t1-commit-skill control-2: 점수 4.06, 토큰 75771, 초 39.9, 검사 1/2, 연 파일 없음
t1-commit-skill oneliner-1: 점수 4.59, 토큰 55800, 초 30.0, 검사 2/2, 연 파일 없음
t1-commit-skill oneliner-2: 점수 4.59, 토큰 55891, 초 31.8, 검사 2/2, 연 파일 없음
t1-commit-skill treatment-1: 점수 4.18, 토큰 84379, 초 38.2, 검사 1/2, 연 파일 writing-for-agents
t1-commit-skill treatment-2: 점수 4.59, 토큰 84910, 초 43.3, 검사 2/2, 연 파일 writing-for-agents
t2-trim-agents control-1: 점수 3.93, 토큰 67718, 초 37.8, 검사 5/7, 연 파일 없음
t2-trim-agents control-2: 점수 4.64, 토큰 68132, 초 36.7, 검사 6/7, 연 파일 없음
t2-trim-agents oneliner-1: 점수 4.71, 토큰 86525, 초 36.9, 검사 6/7, 연 파일 없음

18회 실행, 아티팩트 3개

샘플 출력

SOTA · With the skill: skills/commit-writer/SKILL.md (t1-commit-skill, run 1, Codex)

--- name: commit-writer description: Write or revise commit messages using the team's subject, rationale, and ticket-reference conventions. --- # Commit writer Base the message on the changes and their purpose in the available task context. Apply every rule below before returning the message: - Write an imperative subject (for example, "Fix" rather than "Fixed") under 50 characters, including spaces, with no trailing period. - Follow the subject with a blank line and a required body. Explain why the change is needed and its intended benefit, rather than listing what changed. Hard-wrap body lines at 72 characters or fewer. - End the message with the relevant ticket ID, such as `PROJ-123`, on its own line, separated from the body by a blank line. Use the actual ID from the task or branch context; if it is missing or ambiguous, ask for it rather than inventing one. - Keep the message focused on the change's rationale. Never mention AI tools, including in attribution or co-author trailers. Return the commit message as plain text when asked for a message.

Pro 보기