Codex 스킬 만들기와 호출 범위
매번 긴 체크리스트를 프롬프트에 붙이고 있다면 스킬로 분리할 수 있습니다. 스킬은 특정 작업의 절차와 필요한 자료를 묶는 기능입니다. 항상 적용할 저장소 정책은 AGENTS.md에, 특정 상황에서만 꺼내 쓸 절차는 스킬에 두면 역할이 분명해집니다.
공식 문서를 참고한 비공식 한국어 가이드입니다. 아래 스킬은 합성 예시이며 파일 생성·호출은 실행 미검증입니다. 스킬이 실행하는 코드나 외부 연결은 별도로 검토해야 합니다.
작은 SKILL.md 작성
연습용 저장소의 .agents/skills/change-notes/SKILL.md에 다음 구조를 둘 수 있습니다. 이름과 description은 언제 이 스킬을 선택할지 판단하는 정보이므로 구체적으로 씁니다.
---
name: change-notes
description: 코드 변경을 검토한 뒤 실행한 검증과 미검증 범위를 짧게 기록할 때 사용한다.
---
# 변경 기록
변경 파일과 요구사항을 대조한다.
실행한 테스트의 명령과 결과를 구분해 적는다.
미실행·실패·추정 내용을 성공으로 기록하지 않는다.
커밋·push·배포는 이 스킬만으로 허용하지 않는다.
기대 결과는 작업 후 검증 기록의 형식이 일관되는 것입니다. 수정이나 배포를 몰래 실행하는 스킬이 아닙니다. 실제 증거가 없을 때 ‘통과’를 만들어 내지 않는지도 확인합니다.
언제 읽고 호출하나
스킬은 처음부터 모든 내용을 문맥에 넣지 않는 progressive disclosure를 사용합니다. 발견용 메타데이터를 보고 적합한 스킬을 선택한 뒤 본문과 필요한 참조 자료를 읽습니다. 거대한 매뉴얼을 SKILL.md에 모두 복사하기보다 짧은 절차와 필요한 자료를 나눕니다.
CLI·IDE에서는 $change-notes처럼 명시하거나 /skills에서 선택합니다. ChatGPT의 스킬 진입은 @ 선택 경로이므로 모든 표면에 같은 입력법을 적용하지 않습니다. description이 잘 맞으면 암시적으로 선택될 수도 있습니다.
탐색 경로와 중복
공식 문서는 저장소에서 현재 디렉터리부터 루트까지의 .agents/skills, 사용자 ~/.agents/skills, 관리자 /etc/codex/skills 등을 설명합니다. 같은 이름의 여러 스킬이 자동으로 하나로 합쳐진다고 가정하지 않습니다. 작업 위치가 달라지면 발견되는 스킬도 확인합니다.
개별 스킬 비활성화는 [[skills.config]]에서 path 또는 name 중 하나를 지정하고 enabled = false로 제어합니다. 양쪽을 동시에 넣지 않으며 여러 규칙이 맞으면 마지막 일치가 적용되는 조건을 확인합니다.
자동 선택만 끄는 경우
스킬의 agents/openai.yaml에서 policy.allow_implicit_invocation: false를 쓰면 암시적 선택을 제한할 수 있습니다. 이는 명시적 호출까지 막거나 스킬의 도구 권한을 제거한다는 뜻은 아닙니다. 도구 의존성 선언도 실제 설치·승인·접속 가능성을 대신하지 않습니다.
스킬을 배포할 때는 숨은 명령 실행, 외부 데이터 전송, 비밀값 접근, 업데이트 경로를 봅니다. 예상하지 않은 스킬이 선택되면 결과를 계속 채택하지 말고 발견 경로와 메타데이터부터 확인하세요. 팀 배포 묶음은 플러그인, 외부 도구 연결은 MCP로 이어집니다.
공식 한국어 도움말: ChatGPT 플랜과 Codex에서 계정별 이용 안내를 확인할 수 있습니다. 이 글은 해당 도움말의 공식 번역이 아니며 계정 조건과 요금은 공식 안내를 우선합니다.
추가 공식 참조
다음은 관련 세부 기능과 전체 참조 문서입니다. 아래 항목은 원문 전체를 한국어로 설명하거나 실행 검증한 범위가 아닙니다. 적용 조건과 정확한 옵션은 공식 원문을 확인하세요.