1. Agent Skills란 무엇인가
Codex Agent Skills는
에이전트에게 특정 도메인의 작업 방법을 가르치는 모듈형 지식 패키지이다.
단순히 프롬프트를 저장하는 것이 아니라,
지침·스크립트·레퍼런스·에셋을 하나의 디렉토리로 묶어
- 버전 관리하고,
- 팀 전체가 재사용할 수 있는 형태로 만든 것이다.
시스템 프롬프트, 툴, 스킬의 차이는 다음과 같다.
| 종류 | 역할 | 지속성 |
| 시스템 프롬프트 | 전역 제약 조건 설정 | 매 세션 항상 로드 |
| 툴 | 파일 I/O, API 호출 등 부작용 처리 | 필요 시 실행 |
| 스킬 | 반복 가능한 절차 + 스크립트 + 에셋 패키지 | 매칭 시에만 로드 |
스킬이 시스템 프롬프트와 결정적으로 다른 점은 Progressive Disclosure(점진적 공개) 구조이다.
처음부터 모든 것을 컨텍스트에 올리는 것이 아니라,
- 처음에는 이름과 설명만 로드되고,
- 실제로 사용될 때만 전체 지침이 컨텍스트에 올라온다.

▲ Agent Skills는 이름·설명 메타데이터만 먼저 노출하고 실제 호출 시에만 전체 지침을 로드하는 구조이다
2. 스킬의 물리적 구조: 폴더가 전부다
스킬은 단 하나의 파일로 시작할 수 있다.
확장 구조는 다음과 같다.
my-skill/
├── SKILL.md ← 필수: 지침 + 메타데이터
├── agents/
│ └── openai.yaml ← 선택: UI 메타데이터 + 호출 정책
├── scripts/ ← 선택: 실행 가능한 코드
├── references/ ← 선택: 문서 (필요 시에만 로드)
└── assets/ ← 선택: 템플릿, 리소스
SKILL.md 최소 형식
---
name: pr-review
description: Pull request를 열거나 코드 변경을 검토할 때 사용한다.
병합 전 품질 기준 확인이 필요한 경우에만 호출한다.
---
## PR 리뷰 워크플로
1. 변경된 파일 목록과 diff 확인
2. 테스트 커버리지 및 린트 결과 확인
3. 코드 스타일 가이드 준수 여부 검증
4. 리뷰 코멘트 작성 후 승인 또는 요청 변경 처리
description 필드가 핵심이다.
이것이 암시적 호출의 유일한 트리거 신호이다.
"언제 사용해야 하고, 언제 사용하지 말아야 하는지"를 명확히 써야 오작동이 줄어든다.
agents/openai.yaml 선택 설정
interface:
display_name: "PR 리뷰 도우미"
short_description: "코드 변경 검토 및 품질 확인"
brand_color: "#3B82F6"
default_prompt: "$pr-review 이 PR을 검토해줘"
policy:
allow_implicit_invocation: false # 명시적 호출만 허용
allow_implicit_invocation: false는 보안·민감도가 높은 스킬에 중요한 설정이다.
이 값을 false로 설정하면
- Codex가 프롬프트를 보고 자동으로 활성화하지 않으며,
- 반드시 $스킬명으로 명시적으로 호출해야만 동작한다.
3. 스킬 호출 방식: 명시적 vs 암시적
명시적 호출: 프롬프트에 $스킬명을 직접 포함하거나 CLI에서 /skills를 실행한다.
# CLI에서 명시적 호출
$pr-review 이 PR의 보안 이슈를 중점으로 검토해줘
# /skills 명령으로 설치된 스킬 목록 확인
/skills
암시적 호출: 사용자 프롬프트가 스킬의 description과 일치하면 Codex가 자동으로 선택한다.
# "PR을 검토해줘"라는 프롬프트 → pr-review 스킬 자동 활성화
이 PR을 검토해줘
암시적 호출은 편리하지만 예상치 못한 스킬이 활성화될 수 있다.
OpenAI 공식 문서는 "암시적 매칭은 description에 의존하므로, 명확한 범위와 경계를 갖도록 description을 작성하라"고 권장한다.
사례: OpenAI Agents SDK 팀의 스킬 활용
OpenAI가 직접 공개한 사례이다.
내부 Agents SDK 레포지토리에 다음 5개의 스킬을 적용하였다.
$implementation-strategy (API 호환성 결정), $code-change-verification (코드 변경 검증), $changeset-validation (npm 패키지 변경 검증), $openai-knowledge (OpenAI API 통합 작업), $pr-draft-summary (PR 작성 완료 후 요약).
그 결과 2025년 12월~2026년 2월 3개월간 병합된 PR이 316건에서 457건으로 약 45% 증가하였다.
Python 레포는 182→226건, TypeScript 레포는 134→231건이었다.
4. 스킬 저장 위치 6종류 — 어디에 놓느냐가 범위를 결정한다
Codex는 6개 위치에서 스킬을 자동으로 스캔한다.
| 범위 | 경로 | 용도 |
| REPO (CWD) | $CWD/.agents/skills | 특정 마이크로서비스·모듈 전용 스킬 |
| REPO (상위) | $CWD/../.agents/skills | 중간 디렉토리 공통 스킬 |
| REPO (루트) | $REPO_ROOT/.agents/skills | 레포 전체 공통 스킬 |
| USER | $HOME/.agents/skills | 개인 전용, 모든 레포에서 사용 |
| ADMIN | /etc/codex/skills | 머신·컨테이너 단위 공유 스킬 |
| SYSTEM | Codex 내장 | $skill-creator, $skill-installer 등 기본 제공 |
같은 이름의 스킬이 두 위치에 존재하면 Codex는 병합하지 않는다.
두 스킬 모두 목록에 표시되므로 이름 충돌에 주의해야 한다.
스킬 비활성화: 삭제하지 않고 끄려면 ~/.codex/config.toml에 다음을 추가한다.
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false

▲ 스킬 저장 위치가 범위를 결정한다. 레포 루트에 두면 팀 전체가, 홈 디렉토리에 두면 개인이 모든 레포에서 사용할 수 있다
5. 첫 번째 스킬 만들기: $skill-creator 사용법
가장 빠른 시작 방법은 내장 스킬 생성기를 사용하는 것이다.
$skill-creator
생성기가 세 가지를 묻는다.
- 스킬이 무엇을 하는지,
- 언제 트리거되어야 하는지,
- 명령어만 쓸지 스크립트도 포함할지이다.
기본값은 명령어(instruction-only) 이다.
가장 좋은 스킬을 생성하기 위한 가이드
- 한 가지 작업에만 집중:
스킬 하나가 여러 역할을 하면
description이 모호해지고 암시적 호출이 엉뚱하게 된다. - 스크립트보다 명령어 우선:
결정론적 동작이나 외부 툴링이 꼭 필요할 때만 scripts/를 사용한다. - 명령형으로, 입출력 명시:
"확인하라", "생성하라", "리포트하라" 처럼 동사형으로,
결과물이 무엇인지 명확히 쓴다. - description을 검색 쿼리처럼 작성:
팀이 실제로 Codex에게 요청할 때 사용하는 문장으로 써야 암시적 매칭이 잘 된다.
마치며
Codex Agent Skills의 핵심 가치는 단순하다.
팀의 암묵지를 버전 관리 가능한 파일로 바꾸는 것이다.
- "우리 팀이 PR을 어떻게 검토하는가",
- "배포 전 어떤 체크리스트를 거치는가" — 이런 지식이 지금은 팀원의 머릿속에 있다.
스킬로 만들면 Codex가 언제든지 그 지식을 그대로 따른다.
Codex가 실패할 때 "더 잘 프롬프트하는 방법"을 찾는 것이 아니라,
"어떤 스킬이 빠져 있는가"를 묻는 것이 에이전트 엔지니어링의 핵심 질문이다.
📎 참고 출처
- OpenAI Codex Agent Skills 공식 문서: https://developers.openai.com/codex/skills
- Using skills to accelerate OSS maintenance: https://developers.openai.com/blog/skills-agents-sdk
- AI Agent Skills 완전 가이드: https://www.thepromptindex.com/how-to-use-ai-agent-skills-the-complete-guide.html
'AI' 카테고리의 다른 글
| 2026년 4월 Codex 요금제 완전 분석 — 바뀐 요금이 내 비용에 미치는 진짜 영향 (0) | 2026.04.11 |
|---|---|
| AI 에이전트는 어떻게 말할까? — 눈에 보이지 않는 IT 서비스의 대화법, API의 작동 원리 (0) | 2026.04.08 |
| 코딩 비용이 0에 수렴한 시대의 엔지니어링 원칙 — 에이전트와 함께 일하는 실전 패턴 완전 분석 (0) | 2026.04.07 |
| 에이전트 우선(Agent-First) 시대의 소프트웨어 엔지니어링: 스캐폴딩과 피드백 루프의 필연성 (0) | 2026.04.06 |
| 코덱스(Codex)가 클로드 코드(ClaudeCode)보다 나은 5가지 상황 - 병렬 에이전트·가성비·생태계 통합 (1) | 2026.04.01 |