본문 바로가기
AI

Codex Agent Skills 완전분석 스킬 구조와 동작 원리부터 실전 활용까지(2026년 4월 최신판)

by 심독 2026. 4. 13.

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가 실패할 때 "더 잘 프롬프트하는 방법"을 찾는 것이 아니라,
"어떤 스킬이 빠져 있는가"를 묻는 것이 에이전트 엔지니어링의 핵심 질문이다.


📎 참고 출처

반응형