For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
기본 탐색 메뉴
Theme

스킬 만들기

ChatGPT와 Codex에 새로운 기능과 전문 지식 추가하기

에이전트 스킬을 사용하면 ChatGPT와 Codex에 특정 작업에 필요한 기능을 추가할 수 있습니다. 스킬은 지침과 리소스, 필요한 경우 스크립트까지 한데 묶어 두 제품 모두에서 워크플로우를 일관되게 수행할 수 있도록 합니다. 스킬은 에이전트 스킬 공개 표준을 기반으로 합니다.

스킬은 재사용할 워크플로우를 작성하는 형식입니다. 플러그인은 ChatGPT와 Codex가 공유하는 통합 플러그인 디렉터리를 통해 재사용 가능한 스킬과 커넥터를 배포합니다. 플러그인은 웹, 데스크톱, 모바일용 ChatGPT의 Chat과 Work, ChatGPT 데스크톱 앱의 Codex, Codex CLI에서 사용할 수 있습니다. 스킬로 워크플로우를 설계한 다음, 다른 사람도 설치할 수 있도록 배포하려면 플러그인으로 패키징하세요.

독립형 스킬은 ChatGPT 데스크톱 앱, Codex CLI, IDE 확장 프로그램에서 사용할 수 있습니다. 플러그인에 포함된 스킬은 웹, 데스크톱, 모바일용 ChatGPT의 Chat과 Work에서도 사용할 수 있습니다.

ChatGPT 데스크톱 앱의 사이드바에서 스킬을 열면 여러 프로젝트에서 만든 스킬을 한곳에서 살펴볼 수 있습니다.

스킬은 정보를 단계적으로 공개하는 방식으로 컨텍스트를 효율적으로 관리합니다. ChatGPT와 Codex는 먼저 각 스킬의 이름과 설명을 확인하고, 사용할 스킬을 결정하면 해당 스킬의 SKILL.md 지침 전체를 불러옵니다.

Codex의 초기 목록에는 각 스킬의 파일 경로도 포함됩니다. 기본적으로 이 목록은 모델 컨텍스트 윈도우의 최대 2%를 사용합니다. 컨텍스트 윈도우의 크기를 알 수 없으면 최대 8,000자를 사용합니다. 설치된 스킬이 많으면 Codex는 먼저 스킬 설명을 줄입니다. 스킬이 매우 많으면 초기 목록에서 일부 스킬을 제외하고 경고를 표시할 수 있습니다.

skills.max_context_tokens를 사용하면 이 한도를 최대 10,000토큰까지 조정할 수 있습니다.

이 한도는 초기 스킬 목록에만 적용됩니다. Codex가 스킬을 선택하면 해당 스킬의 SKILL.md 지침 전체를 읽습니다.

스킬은 SKILL.md 파일이 있는 디렉터리이며, 필요에 따라 스크립트와 참고 자료를 포함할 수 있습니다. SKILL.md 파일에는 name과 description이 있어야 합니다.

  • my-skill/
    • SKILL.md 필수: 지침 및 메타데이터
    • scripts/ 선택: 실행 가능한 코드
    • references/ 선택: 참고 문서
    • assets/ 선택: 템플릿 및 리소스
    • agents/
      • openai.yaml 선택: 화면 표시 및 종속성 설정

ChatGPT와 Codex가 스킬을 사용하는 방식

ChatGPT와 Codex에서 스킬을 호출하는 방법은 두 가지입니다.

  1. 명시적 호출: 프롬프트에 스킬을 직접 지정하세요. ChatGPT에서는 @를 입력해 스킬을 선택하세요. Codex CLI나 IDE 확장 프로그램에서는 /skills를 실행하거나 $를 입력해 스킬을 지정하세요.
  2. 암시적 호출: 요청한 작업이 스킬의 description과 일치하면 ChatGPT나 Codex가 해당 스킬을 선택할 수 있습니다.

암시적 호출에서는 description을 기준으로 스킬을 선택하므로, 스킬이 언제 적용되고 어디까지 처리하는지 간결하고 명확하게 작성하세요. 설명이 짧아져도 호스트가 작업에 맞는 스킬을 찾을 수 있도록 주요 사용 사례와 호출의 단서가 되는 단어를 앞부분에 넣으세요.

스킬 만들기

이미 워크플로우를 알고 있고 말로 설명하기보다 직접 보여 주는 편이 쉽다면 녹화 및 재생을 사용하세요. 녹화 도구가 워크플로우를 기록하고 각 단계를 분석해 시연 내용을 바탕으로 재사용할 수 있는 스킬 초안을 만듭니다.

스킬을 말로 설명하려면 기본 제공 스킬 생성 도구를 사용하세요. ChatGPT Work에서는 @skill-creator로 호출하세요. Codex에서는 다음과 같이 호출하세요.

$skill-creator

생성 도구는 스킬이 어떤 작업을 수행하는지, 언제 호출해야 하는지, 지침만으로 구성할지 아니면 스크립트도 포함할지 묻습니다. 기본값은 지침만 포함하는 것입니다.

SKILL.md 파일이 있는 폴더를 만들어 스킬을 직접 작성할 수도 있습니다.

---
name: skill-name
description: Explain exactly when this skill should and should not trigger.
---

Skill instructions for ChatGPT or Codex to follow.

Codex는 스킬 변경 사항을 자동으로 감지합니다. 변경 사항이 표시되지 않으면 Codex를 다시 시작하세요.

Codex가 로컬 스킬을 불러오는 위치

Codex는 리포지터리, 사용자, 관리자, 시스템 위치에서 스킬을 읽습니다. 리포지터리에서는 현재 작업 디렉터리부터 리포지터리 루트까지 각 디렉터리의 .agents/skills를 탐색합니다. 두 스킬의 name이 같아도 Codex는 두 스킬을 병합하지 않으므로 스킬 선택 메뉴에 둘 다 표시될 수 있습니다.

스킬 범위 위치 권장 용도
REPO $CWD/.agents/skills
Codex를 실행한 현재 작업 디렉터리
리포지터리나 개발 환경에서 팀은 특정 작업 폴더에 필요한 스킬을 해당 폴더에 커밋할 수 있습니다. 예를 들어 특정 마이크로서비스나 모듈에서만 쓰는 스킬이 여기에 해당합니다.
REPO $CWD/../.agents/skills
Git 리포지터리 안에서 Codex를 실행한 경우 현재 작업 디렉터리의 상위 폴더
폴더가 중첩된 리포지터리에서는 조직이 여러 폴더에 공통으로 필요한 스킬을 상위 폴더에 커밋할 수 있습니다.
REPO $REPO_ROOT/.agents/skills
Git 리포지터리 안에서 Codex를 실행한 경우 리포지터리의 최상위 폴더
폴더가 중첩된 리포지터리에서는 조직이 모든 리포지터리 사용자에게 필요한 스킬을 루트에 커밋할 수 있습니다. 이런 루트 스킬은 리포지터리의 모든 하위 폴더에서 사용할 수 있습니다.
USER $HOME/.agents/skills
사용자의 개인 폴더에 커밋한 스킬
사용자가 어느 리포지터리에서 작업하든 사용할 수 있도록 개인에게 필요한 스킬을 모아 두세요.
ADMIN /etc/codex/skills
머신이나 컨테이너의 시스템 공용 위치에 커밋한 스킬
SDK 스크립트와 자동화에 사용하거나, 머신의 모든 사용자가 쓸 수 있는 기본 관리자 스킬을 커밋하세요.
SYSTEM OpenAI가 Codex에 포함해 배포합니다. skill-creator와 skill-installer가 포함됩니다. 시스템 스킬은 기본적으로 활성화되어 있습니다.

Codex는 심볼릭 링크로 연결된 스킬 폴더를 지원하며, 위 위치를 탐색할 때 링크가 가리키는 폴더를 확인합니다.

이 위치들은 스킬을 작성하고 로컬에서 찾는 데 사용됩니다. 재사용 가능한 스킬을 단일 리포지터리 밖으로 배포하거나 커넥터와 함께 묶으려면 플러그인을 사용하세요.

플러그인으로 스킬 배포하기

로컬에서 스킬을 작성하거나 특정 리포지터리에서만 쓰는 워크플로우를 만들 때는 스킬 폴더를 직접 사용하는 것이 가장 적합합니다. 재사용할 스킬을 배포하거나, 스킬을 두 개 이상 묶거나, 커넥터와 스킬을 함께 제공하려면 플러그인으로 패키징하세요.

플러그인에는 하나 이상의 스킬을 포함할 수 있습니다. 필요에 따라 등록된 MCP 서버 연결, 플러그인과 함께 제공할 MCP 서버 설정, 화면 표시에 사용할 에셋도 하나의 패키지에 담을 수 있습니다.

로컬에서 사용할 엄선된 스킬 설치하기

로컬 Codex 환경에 기본 제공 스킬 외에도 엄선된 스킬을 추가하려면 $skill-installer를 사용하세요. 예를 들어 $linear 스킬은 다음과 같이 설치합니다.

$skill-installer linear

설치 도구에 다른 리포지터리에서 스킬을 다운로드하도록 요청할 수도 있습니다. Codex는 새로 설치한 스킬을 자동으로 감지합니다. 스킬이 표시되지 않으면 Codex를 다시 시작하세요.

로컬 환경을 설정하거나 스킬을 시험해 볼 때 이 방법을 사용하세요. 직접 만든 스킬을 다른 사람도 재사용할 수 있도록 배포할 때는 플러그인을 권장합니다.

로컬 Codex 스킬 활성화 또는 비활성화하기

스킬을 삭제하지 않고 비활성화하려면 [[skills.config]] 항목을 ~/.codex/config.toml에 추가하세요.

[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false

각 항목에는 선택자를 정확히 하나만 지정하세요. path에 절대 경로를 지정하면 해당 경로의 SKILL.md 파일 하나와 일치합니다. name을 지정하면 해당 이름을 가진 모든 스킬과 일치합니다. 한 스킬과 일치하는 항목이 여러 개면 그중 마지막 항목의 설정이 적용됩니다.

현재 프로젝트에서 기본 제공 시스템 스킬을 모두 비활성화하려면 해당 프로젝트의 신뢰할 수 있는 .codex/config.toml에 다음 설정을 추가하세요.

[skills.bundled]
enabled = false

설정을 변경한 후 Codex를 다시 시작하세요.

선택적 메타데이터

agents/openai.yaml을 추가하면 ChatGPT 데스크톱 앱에 표시할 UI 메타데이터를 구성하고, 호출 정책을 설정하고, 도구 종속성을 선언해 스킬을 더 편리하게 사용할 수 있습니다.

interface:
  display_name: "Optional user-facing name"
  short_description: "Optional user-facing description"
  icon_small: "./assets/small-logo.svg"
  icon_large: "./assets/large-logo.png"
  brand_color: "#3B82F6"
  default_prompt: "Optional surrounding prompt to use the skill with"

policy:
  allow_implicit_invocation: false

dependencies:
  tools:
    - type: "mcp"
      value: "openaiDeveloperDocs"
      description: "OpenAI Docs MCP server"
      transport: "streamable_http"
      url: "https://developers.openai.com/mcp"

allow_implicit_invocation의 기본값은 true입니다. false로 설정하면 Codex가 사용자 프롬프트를 바탕으로 스킬을 암시적으로 호출하지 않습니다. $skill을 사용한 명시적 호출은 계속 가능합니다.

권장 사항

  • 스킬 하나가 한 가지 작업에 집중하도록 구성하세요.
  • 항상 같은 방식으로 실행해야 하거나 외부 도구가 필요한 경우가 아니라면 스크립트보다 지침을 우선하세요.
  • 각 단계는 명령형으로 작성하고 입력과 출력을 명확히 지정하세요.
  • 스킬 설명을 기준으로 프롬프트를 테스트해 의도한 조건에서 스킬이 호출되는지 확인하세요.

더 많은 예시는 GitHub CI 오류 수정, PDF, Linear, openai/skills, 에이전트 스킬 명세를 참고하세요. 다른 사람이 설치할 수 있는 형태로 배포할 때는 플러그인을 권장합니다.