Codex에 공식적으로 도입된 Skills
(developers.openai.com)- Agent Skills는 Codex에 작업별 전문 능력을 추가해 특정 워크플로를 안정적으로 수행하게 하는 확장 구조
- 각 스킬은
SKILL.md파일과 선택적 스크립트·리소스·에셋으로 구성되어, 팀이나 커뮤니티 간 공유 가능 - Codex는 스킬을 명시적 호출(
/skills명령 또는$입력)과 암묵적 호출(작업 설명과 일치 시 자동 사용) 방식으로 실행 - 스킬은 REPO, USER, ADMIN, SYSTEM 등 여러 저장 위치와 우선순위 체계를 통해 관리되며,
$skill-creator로 새 스킬을 생성 가능 - 이 기능은 Codex의 CLI와 IDE 확장 모두에서 사용 가능하며, GitHub 등에서 스킬을 설치해 기능을 확장할 수 있음
Agent Skills 개요
- Agent Skills는 Codex에 새로운 기능과 전문성을 부여하는 구조
- 스킬은 특정 작업을 수행하기 위한 지침, 리소스, 선택적 스크립트를 패키징
- 팀 또는 커뮤니티 간 공유 가능하며, open Agent Skills standard를 기반으로 함
- Codex의 CLI와 IDE 확장 모두에서 사용 가능
스킬 구조와 구성 요소
- 각 스킬은
SKILL.md파일을 중심으로 구성되며, 다음과 같은 폴더 구조를 가짐-
SKILL.md: 필수, 지침 및 메타데이터 포함 -
scripts/: 선택적 실행 코드 -
references/: 선택적 문서 -
assets/: 선택적 템플릿 및 리소스
-
- Codex는 progressive disclosure 방식을 사용해 컨텍스트를 효율적으로 관리
- 시작 시 스킬의 이름과 설명만 로드하고, 필요 시 전체 지침을 읽음
스킬 호출 방식
-
명시적 호출 (Explicit invocation)
-
/skills명령이나$입력으로 스킬을 직접 지정 - Codex 웹 및 iOS 버전은 아직 명시적 호출을 지원하지 않지만, 저장소에 포함된 스킬은 프롬프트로 사용 가능
-
-
암묵적 호출 (Implicit invocation)
- 사용자의 작업이 스킬 설명과 일치할 때 Codex가 자동으로 해당 스킬을 사용
스킬 저장 위치와 우선순위
- Codex는 여러 위치에서 스킬을 로드하며, 우선순위가 높은 위치의 스킬이 동일 이름의 하위 스킬을 덮어씀
- 주요 스코프 및 위치
-
REPO:$CWD/.codex/skills,$CWD/../.codex/skills,$REPO_ROOT/.codex/skills -
USER:$CODEX_HOME/skills또는~/.codex/skills -
ADMIN:/etc/codex/skills -
SYSTEM: Codex에 기본 포함된 스킬
-
- 각 스코프는 개인, 팀, 시스템 수준의 관리 목적에 따라 사용
스킬 생성 방법
- Codex 내장
$skill-creator스킬을 사용해 새 스킬을 자동 생성 가능-
$plan스킬과 결합하면 스킬 생성 전 계획을 수립
-
- 수동 생성 시, 유효한 위치에 폴더를 만들고
SKILL.md파일을 작성- 필수 항목:
name,description - 선택 항목:
metadata.short-description
- 필수 항목:
- 스킬은 Agent Skills specification을 기반으로 함
스킬 설치 및 예시
-
$skill-installer스킬을 사용해 GitHub의 공개 스킬 저장소에서 스킬 설치 가능- 예:
$skill-installer linear - 다른 저장소의 스킬도 설치 가능
- 예:
- 내장 스킬 예시
-
$plan: 새로운 기능 개발이나 복잡한 문제 해결을 위한 계획 수립 -
$skill-installer linear: Linear 컨텍스트 접근 -
$skill-installer notion-spec-to-implementation: Notion 데이터 접근
-
Codex 개발자에게의 의미
- Agent Skills는 Codex의 확장성과 협업성을 높이는 핵심 구성요소
- 개발자는 자신만의 스킬을 정의해 자동화된 개발 워크플로를 구축 가능
- CLI·IDE 통합, GitHub 연동, 표준화된 스킬 사양을 통해 Codex 생태계 확장 가능성 강화
Hacker News 의견들
-
Skills이 표준으로 자리 잡는 게 정말 반가움
단순한 Markdown 파일로 작성할 수 있고, 기본적으로 context 효율적임
기존 도구 위에 얹을 수 있어서 GitHub MCP 대신ghCLI 사용법을 설명하는 skill을 만들 수도 있음
여러 skill을 조합해 사용할 수 있고, Python이나 JS 스크립트도 포함 가능함
덕분에 별도의 MCP 서버 노출 없이도 훨씬 단순하고 유연한 접근이 가능해짐- 여기에 더해, 에이전트 자체가 skill을 편집·개선·추가할 수 있음
예를 들어 “이번 세션의 핵심 포인트를 skill로 추가해줘” 같은 식으로 자동화 가능함
좋은 세션뿐 아니라 시행착오가 많았던 세션에서도 학습 내용을 skill로 남길 수 있음
MCP보다 훨씬 빠르고 접근성 높은 기능 확장 흐름을 제공함 - 중간 규모의 Django + PostgreSQL + Python 웹앱에서 skill을 어떻게 활용할 수 있을지 고민 중임
CRUD 중심보다는 데이터 사이언스나 DevOps 쪽에서 더 유용할지도 궁금함 - 결국 skill은 use case / workflow 레시피 캐싱 같은 개념으로 이해됨
- 여기에 더해, 에이전트 자체가 skill을 편집·개선·추가할 수 있음
-
Skills의 핵심은, 스펙상 skill 코드나 markdown의 본문 내용에는 RAG가 적용되지 않음
즉, front-matter의 이름과 설명만 prompt에 포함되어 skill 선택에 사용됨
따라서 설명에 언급되지 않은 로직은 아예 발견되지 않을 수도 있음
또한 skill 설명은 일종의 prompt injection이므로, 전체 톤이나 token 비용에도 영향을 줌
관련 예시는 이 코드 링크 참고- 개인적으로는 skill 인덱스가 도움보다 부담이 될 수도 있다고 느낌
context를 깔끔하게 유지하는 게 중요하므로, 필요할 때만 md 파일을 직접 추가하는 방식을 선호함
MCP는 과도하게 복잡하고, skill조차 약간 과설계된 느낌이 있음 - 일부 agentic 시스템은 skill에 RAG를 적용함
이는 LLM 자체보다는 agentic harness 설계 문제임
앞으로는 LLM과 harness가 더 긴밀히 통합될 것으로 보임 - MCP나 tools도 결국 같은 문제를 가짐
- 개인적으로는 skill 인덱스가 도움보다 부담이 될 수도 있다고 느낌
-
나는 예전부터 비슷한 방식을 써왔음
각 기능별로 폴더를 만들고,README.md,scripts,GUIDE.md를 구성함
재사용 가능한 코드(예: clerk.dev 통합)를 발견하면 폴더로 정리하고,
필요할 때 merge-to-md로 병합해 사용했음
이런 접근이 완벽히 잘 작동했는데, 이제 이런 기능이 에이전트에 기본 탑재되는 게 반가움- 이 설명 덕분에 skill 개념이 쉽게 이해됨
-
Skills는 장기적으로 오픈소스 라이브러리처럼 발전할 수 있을 것 같음
인증, 멀티테넌시 같은 표준화된 솔루션을 skill로 제공하면
보안성과 코드 품질이 크게 향상될 것임- 나아가 모델이 글로벌 skill 인덱스에서 필요한 skill을 검색·다운로드해
즉시 사용할 수 있게 되면, 지속적 학습의 대안이 될 수도 있음
- 나아가 모델이 글로벌 skill 인덱스에서 필요한 skill을 검색·다운로드해
-
Skills, plugins, apps, connectors, MCPs, agents… 솔직히 헷갈림
- 이런 혼란은 기술의 미성숙과 빠른 변화 때문임
아직 최적의 접근법이 정해지지 않았고, 용어도 정리되지 않음
“Agent”조차 그룹마다 의미가 다름 - 사실 이 모든 건 context를 불러오는 편의 장치일 뿐임
도구 실행 외에는 prompt에 문맥을 추가하는 다양한 방법임 - 어떤 사람은 이걸 전부 임시방편(bandaid) 이라 표현함
- 또 다른 사람은 단지 API와 prompt의 마케팅 이름일 뿐이라 봄
- LLM이 비슷하지만 약간씩 다른 아이디어를 대량으로 생성하는 현상과도 닮았음
- 이런 혼란은 기술의 미성숙과 빠른 변화 때문임
-
최근 이 글에서
agent가 LLM을 반복 호출하며 JSON 형식으로 도구 사용 요청을 주고받는 구조를 설명했는데,
이 프레임워크에서 skill은 어떤 형태일까 궁금함- 첫 루프 전에 harness가 LLM에
<Skills>블록을 전송함
예:<Skill><Name>postgres</Name><Description>pre-prod DB 쿼리 방법</Description><File>skills/postgres.md</File></Skill>
이 알림을 주기적으로 재전송해 LLM이 skill을 “잊지 않게” 함
결국 이름+설명+파일 경로만 전달하므로 token 비용이 적음
하지만 충분히 똑똑한 LLM이라면 이런 구조 없이도 잘 동작할 수도 있음 - 에이전트는 필요할 때 하나 이상의 skill을 선택적으로 로드함
skill의 prompt와 관련 스크립트를 함께 불러와 사용하는 표준화된 방식임
- 첫 루프 전에 harness가 LLM에
-
많은 사람들이 Skills를 오해하고 있음
핵심은.md파일이 아니라 코드와 지시문의 번들링임
Skills는 코드 실행 환경을 전제로 함- 실행 가능한 코드를 미리 승인해두고, 필요할 때 prompt에서 호출할 수도 있음
메타데이터 인덱싱과 지연 로딩을 통한 context 절약이 큰 장점임 - 어떤 사람은 이를 literate programming의 부활로 표현함
- 실행 가능한 코드를 미리 승인해두고, 필요할 때 prompt에서 호출할 수도 있음
-
만약 skills.md 마켓플레이스가 있다면 기술 확산에 도움이 될 것 같음
- 하지만 현실적으로는 스팸, 보안, 수익성 부재 문제로 운영이 어렵다고 봄
MCP 관련 스팸 사례만 봐도 알 수 있음
결국 신뢰할 수 있는 기업이나 유명 개발자 중심으로만 유지될 가능성이 큼 - 이미 Anthropic의 skills 저장소가 존재함
평점이나 댓글은 없지만 품질은 기대할 만함 - 이런 시도는 자주 등장하지만, 맞춤형 skill 제작 비용이 거의 0이라
남의 prompt를 쓸 유인이 적음 - 나도 Anthropic 문서를 참고해 skill을 작성하는 skill을 만들어봤음
결국 중요한 건 자신의 워크플로우와 코드베이스에 맞게 최적화하는 것임
- 하지만 현실적으로는 스팸, 보안, 수익성 부재 문제로 운영이 어렵다고 봄
-
생성된 skill을 활용해, 에이전트가 여러 시도 끝에 얻은 최종 해결책을 정리할 수 있을지 궁금함
- 나도 “meta skill”을 만들어 세션이 끝난 뒤 스스로 규칙을 갱신하도록 함
이렇게 flywheel 효과를 만들어가고 있음
- 나도 “meta skill”을 만들어 세션이 끝난 뒤 스스로 규칙을 갱신하도록 함
-
Anthropic이 OpenAI의 Chief Product Officer처럼 보인다는 농담이 있었음
- 거기에 “보상도 없는” 덧붙임 농담이 이어짐