# Codex에 공식적으로 도입된 Skills

> Clean Markdown view of GeekNews topic #25231. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25231](https://news.hada.io/topic?id=25231)
- GeekNews Markdown: [https://news.hada.io/topic/25231.md](https://news.hada.io/topic/25231.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-12-22T02:37:08+09:00
- Updated: 2025-12-22T02:37:08+09:00
- Original source: [developers.openai.com](https://developers.openai.com/codex/skills/)
- Points: 16
- Comments: 1

## Summary

Codex에 새롭게 도입된 **Agent Skills**는 작업 단위의 전문 능력을 모듈 형태로 추가해, 개발 워크플로를 자동화하고 팀 간 지식을 재사용할 수 있게 합니다. 각 스킬은 `SKILL.md` 중심의 간단한 구조로 정의되며, **CLI와 IDE 확장 모두에서 동일하게 동작**해 개인·조직·시스템 수준의 확장성을 제공합니다. 이제 자신만의 스킬을 만들어 Codex를 맞춤형 개발 도우미로 발전시킬 수 있습니다.

## Topic Body

- **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](http://agentskills.io/)를 기반으로 함  
- 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](https://agentskills.io/specification)을 기반으로 함  
  
### 스킬 설치 및 예시  
- `$skill-installer` 스킬을 사용해 [GitHub의 공개 스킬 저장소](https://github.com/openai/skills)에서 스킬 설치 가능  
  - 예: `$skill-installer linear`  
  - 다른 저장소의 스킬도 설치 가능  
- 내장 스킬 예시  
  - `$plan`: 새로운 기능 개발이나 복잡한 문제 해결을 위한 계획 수립  
  - `$skill-installer linear`: Linear 컨텍스트 접근  
  - `$skill-installer notion-spec-to-implementation`: Notion 데이터 접근  
  
### Codex 개발자에게의 의미  
- Agent Skills는 Codex의 **확장성과 협업성**을 높이는 핵심 구성요소  
- 개발자는 자신만의 스킬을 정의해 **자동화된 개발 워크플로**를 구축 가능  
- **CLI·IDE 통합**, **GitHub 연동**, **표준화된 스킬 사양**을 통해 Codex 생태계 확장 가능성 강화

## Comments



### Comment 48092

- Author: neo
- Created: 2025-12-22T02:37:08+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46334424) 
- **Skills**이 표준으로 자리 잡는 게 정말 반가움  
  단순한 **Markdown 파일**로 작성할 수 있고, 기본적으로 **context 효율적**임  
  기존 도구 위에 얹을 수 있어서 GitHub MCP 대신 `gh` CLI 사용법을 설명하는 skill을 만들 수도 있음  
  여러 skill을 조합해 사용할 수 있고, Python이나 JS 스크립트도 포함 가능함  
  덕분에 별도의 MCP 서버 노출 없이도 훨씬 단순하고 유연한 접근이 가능해짐  
  - 여기에 더해, 에이전트 자체가 skill을 **편집·개선·추가**할 수 있음  
    예를 들어 “이번 세션의 핵심 포인트를 skill로 추가해줘” 같은 식으로 자동화 가능함  
    좋은 세션뿐 아니라 시행착오가 많았던 세션에서도 학습 내용을 skill로 남길 수 있음  
    MCP보다 훨씬 빠르고 접근성 높은 **기능 확장 흐름**을 제공함  
  - 중간 규모의 **Django + PostgreSQL + Python** 웹앱에서 skill을 어떻게 활용할 수 있을지 고민 중임  
    CRUD 중심보다는 **데이터 사이언스나 DevOps** 쪽에서 더 유용할지도 궁금함  
  - 결국 skill은 **use case / workflow 레시피 캐싱** 같은 개념으로 이해됨  

- Skills의 핵심은, 스펙상 skill 코드나 markdown의 **본문 내용에는 RAG가 적용되지 않음**  
  즉, front-matter의 이름과 설명만 prompt에 포함되어 skill 선택에 사용됨  
  따라서 설명에 언급되지 않은 로직은 아예 발견되지 않을 수도 있음  
  또한 skill 설명은 일종의 **prompt injection**이므로, 전체 톤이나 token 비용에도 영향을 줌  
  관련 예시는 [이 코드 링크](https://github.com/openai/codex/blob/a6974087e5c04fc711af68f70fe93f7f5d2b0981/codex-rs/core/src/skills/render.rs#L16) 참고  
  - 개인적으로는 skill 인덱스가 **도움보다 부담**이 될 수도 있다고 느낌  
    context를 깔끔하게 유지하는 게 중요하므로, 필요할 때만 md 파일을 직접 추가하는 방식을 선호함  
    MCP는 과도하게 복잡하고, skill조차 약간 과설계된 느낌이 있음  
  - 일부 **agentic 시스템**은 skill에 RAG를 적용함  
    이는 LLM 자체보다는 **agentic harness 설계 문제**임  
    앞으로는 LLM과 harness가 더 긴밀히 통합될 것으로 보임  
  - MCP나 tools도 결국 같은 문제를 가짐  

- 나는 예전부터 비슷한 방식을 써왔음  
  각 기능별로 폴더를 만들고, `README.md`, `scripts`, `GUIDE.md`를 구성함  
  재사용 가능한 코드(예: clerk.dev 통합)를 발견하면 폴더로 정리하고,  
  필요할 때 [merge-to-md](https://www.npmjs.com/package/merge-to-md)로 병합해 사용했음  
  이런 접근이 완벽히 잘 작동했는데, 이제 이런 기능이 **에이전트에 기본 탑재**되는 게 반가움  
  - 이 설명 덕분에 skill 개념이 **쉽게 이해됨**  

- Skills는 장기적으로 **오픈소스 라이브러리**처럼 발전할 수 있을 것 같음  
  인증, 멀티테넌시 같은 표준화된 솔루션을 skill로 제공하면  
  보안성과 코드 품질이 크게 향상될 것임  
  - 나아가 모델이 **글로벌 skill 인덱스**에서 필요한 skill을 검색·다운로드해  
    즉시 사용할 수 있게 되면, 지속적 학습의 대안이 될 수도 있음  

- Skills, plugins, apps, connectors, MCPs, agents… 솔직히 헷갈림  
  - 이런 혼란은 **기술의 미성숙과 빠른 변화** 때문임  
    아직 최적의 접근법이 정해지지 않았고, 용어도 정리되지 않음  
    “Agent”조차 그룹마다 의미가 다름  
  - 사실 이 모든 건 **context를 불러오는 편의 장치**일 뿐임  
    도구 실행 외에는 prompt에 문맥을 추가하는 다양한 방법임  
  - 어떤 사람은 이걸 전부 **임시방편(bandaid)** 이라 표현함  
  - 또 다른 사람은 단지 **API와 prompt의 마케팅 이름**일 뿐이라 봄  
  - LLM이 비슷하지만 약간씩 다른 아이디어를 대량으로 생성하는 현상과도 닮았음  

- 최근 [이 글](https://news.ycombinator.com/item?id=45840088)에서  
  agent가 LLM을 반복 호출하며 JSON 형식으로 **도구 사용 요청**을 주고받는 구조를 설명했는데,  
  이 프레임워크에서 skill은 어떤 형태일까 궁금함  
  - 첫 루프 전에 harness가 LLM에 `&lt;Skills&gt;` 블록을 전송함  
    예: `&lt;Skill&gt;&lt;Name&gt;postgres&lt;/Name&gt;&lt;Description&gt;pre-prod DB 쿼리 방법&lt;/Description&gt;&lt;File&gt;skills/postgres.md&lt;/File&gt;&lt;/Skill&gt;`  
    이 알림을 주기적으로 재전송해 LLM이 skill을 “잊지 않게” 함  
    결국 **이름+설명+파일 경로**만 전달하므로 token 비용이 적음  
    하지만 충분히 똑똑한 LLM이라면 이런 구조 없이도 잘 동작할 수도 있음  
  - 에이전트는 필요할 때 하나 이상의 skill을 **선택적으로 로드**함  
    skill의 prompt와 관련 스크립트를 함께 불러와 사용하는 표준화된 방식임  

- 많은 사람들이 Skills를 오해하고 있음  
  핵심은 `.md` 파일이 아니라 **코드와 지시문의 번들링**임  
  Skills는 **코드 실행 환경**을 전제로 함  
  - 실행 가능한 코드를 미리 승인해두고, 필요할 때 prompt에서 호출할 수도 있음  
    **메타데이터 인덱싱과 지연 로딩**을 통한 context 절약이 큰 장점임  
  - 어떤 사람은 이를 **literate programming의 부활**로 표현함  

- 만약 **skills.md 마켓플레이스**가 있다면 기술 확산에 도움이 될 것 같음  
  - 하지만 현실적으로는 **스팸, 보안, 수익성 부재** 문제로 운영이 어렵다고 봄  
    MCP 관련 스팸 사례만 봐도 알 수 있음  
    결국 신뢰할 수 있는 기업이나 유명 개발자 중심으로만 유지될 가능성이 큼  
  - 이미 [Anthropic의 skills 저장소](https://github.com/anthropics/skills)가 존재함  
    평점이나 댓글은 없지만 품질은 기대할 만함  
  - 이런 시도는 자주 등장하지만, **맞춤형 skill 제작 비용이 거의 0**이라  
    남의 prompt를 쓸 유인이 적음  
  - 나도 Anthropic 문서를 참고해 **skill을 작성하는 skill**을 만들어봤음  
    결국 중요한 건 **자신의 워크플로우와 코드베이스에 맞게 최적화**하는 것임  

- 생성된 skill을 활용해, 에이전트가 여러 시도 끝에 얻은 **최종 해결책을 정리**할 수 있을지 궁금함  
  - 나도 “meta skill”을 만들어 세션이 끝난 뒤 **스스로 규칙을 갱신**하도록 함  
    이렇게 **flywheel 효과**를 만들어가고 있음  

- Anthropic이 OpenAI의 Chief Product Officer처럼 보인다는 농담이 있었음  
  - 거기에 “보상도 없는” 덧붙임 농담이 이어짐
