Codex에서 Plugin과 Skill은 무엇인가?
최근 AI 개발 도구는 단순히 “코드를 물어보고 답을 받는 방식”에서 벗어나고 있습니다.
이제는 AI에게 프로젝트 구조를 이해시키고, 반복 작업을 맡기고, 개발 규칙을 지키게 하고, 필요한 도구까지 연결해서 실제 개발 흐름 안에서 함께 일하는 방향으로 발전하고 있습니다.
OpenAI의 Codex도 이런 흐름에 맞춰 Plugin과 Skill이라는 개념을 제공합니다.
처음 보면 둘 다 확장 기능처럼 보여 헷갈릴 수 있지만, 역할은 다릅니다.
간단히 정리하면 다음과 같습니다.
Skill은 Codex가 특정 작업을 잘 수행하도록 만드는 작업 지침입니다.
Plugin은 그런 Skill과 설정을 묶어서 설치하고 공유할 수 있게 만든 배포 패키지입니다.
1. Codex란?
Codex는 OpenAI에서 제공하는 AI 코딩 에이전트입니다.
단순히 코드 조각을 생성하는 수준을 넘어, 프로젝트 폴더를 읽고, 파일을 수정하고, 명령을 실행하고, 오류를 분석하고, 테스트까지 도와주는 개발 보조 도구입니다.
예를 들어 다음과 같은 작업에 활용할 수 있습니다.
- C# WinForms 화면 수정
- .NET MAUI 앱 오류 수정
- Python Flask 서버 API 보완
- SQL 테이블 구조 분석
- README, 매뉴얼, 출시노트 작성
- Git 변경사항 검토
- 반복되는 개발 작업 자동화
즉, Codex는 개발자가 직접 하던 여러 작업을 AI에게 위임할 수 있는 형태로 발전하고 있습니다.
2. Skill이란?
Skill은 Codex에게 특정 업무 방식을 알려주는 재사용 가능한 작업 지침입니다.
예를 들어 매번 Codex에게 다음과 같이 설명한다고 생각해 보겠습니다.
“우리 프로젝트는 C# WinForms이고, Syncfusion을 사용하고, 화면 수정 시 기존 스타일을 유지하고, 수정 후 빌드 오류를 확인하고, 변경 파일만 정리해줘.”
이런 내용을 매번 프롬프트에 적으면 번거롭습니다.
이때 Skill로 만들어 두면 Codex가 해당 작업을 할 때 필요한 규칙과 절차를 자동으로 참고할 수 있습니다.
Skill은 보통 다음과 같은 내용을 포함합니다.
- 언제 이 Skill을 사용할지
- 어떤 절차로 작업할지
- 어떤 파일을 우선 확인할지
- 어떤 코딩 규칙을 지킬지
- 어떤 명령으로 빌드/테스트할지
- 결과를 어떤 형식으로 보고할지
- 필요한 경우 참고 문서나 스크립트
쉽게 말하면 Skill은 “Codex용 작업 매뉴얼”입니다.
3. Skill의 기본 구조
Skill은 하나의 폴더로 구성됩니다.
가장 중요한 파일은 SKILL.md입니다.
예시 구조는 다음과 같습니다.
my-skill/
├─ SKILL.md
├─ scripts/
├─ references/
└─ assets/
각 항목의 역할은 다음과 같습니다.
SKILL.md : Skill의 핵심 설명과 작업 지침
scripts/ : 자동 실행 스크립트
references/ : 참고 문서, 규칙, 샘플
assets/ : 템플릿, 이미지, 예제 파일
가장 기본적인 SKILL.md 예시는 다음과 같습니다.
---
name: maui-error-review
description: .NET MAUI 앱의 오류 처리, 예외 처리, 강제 종료 방지 작업을 점검할 때 사용한다.
---
## 목적
.NET MAUI 앱에서 네트워크 오류, API 오류, null 오류, 권한 오류로 인해 앱이 강제 종료되지 않도록 점검한다.
## 작업 절차
1. API 호출부를 확인한다.
2. try-catch 누락 여부를 확인한다.
3. 사용자에게 표시할 오류 메시지를 정리한다.
4. 강제 종료 가능성이 있는 코드를 수정한다.
5. 수정 후 빌드 오류를 점검한다.
## 결과 보고
- 수정 파일
- 수정 내용
- 예상 효과
- 추가 확인 필요 사항
이렇게 만들어 두면 Codex에게 “MAUI 앱 오류 처리 점검해줘”라고 요청했을 때 해당 Skill을 활용할 수 있습니다.
4. Skill을 사용하는 이유
Skill을 사용하면 Codex 작업의 일관성이 높아집니다.
일반 프롬프트만 사용할 경우, 같은 작업을 요청해도 매번 답변 방식이나 수정 방식이 조금씩 달라질 수 있습니다.
하지만 Skill에 작업 기준을 정리해 두면 Codex가 일정한 기준에 따라 작업합니다.
Skill의 장점은 다음과 같습니다.
1) 반복 설명을 줄일 수 있음
자주 사용하는 작업 절차를 매번 설명하지 않아도 됩니다.
예를 들어 다음과 같은 업무는 Skill로 만들기 좋습니다.
- MAUI 앱 출시 전 점검
- WinForms 화면 디자인 정리
- Flask API 오류 처리
- Google Play 출시노트 작성
- Tistory 블로그 글 작성
- SQL 테이블 명세서 작성
- MES 화면 표준 검토
2) 프로젝트별 작업 품질을 유지할 수 있음
개발 프로젝트마다 규칙이 다릅니다.
예를 들어 eMES Lite 프로젝트라면 다음과 같은 기준이 있을 수 있습니다.
- C# WinForms 우선 개발
- 메뉴/권한 관리는 기존 시스템 재사용
- 향후 다국어 전환을 고려
- Syncfusion 컨트롤 사용
- DB 저장값과 화면 표시 문구 분리
- 제조업 MES 업무 흐름에 맞게 구성
이런 규칙을 Skill에 넣어두면 Codex가 프로젝트 성격에 맞게 작업할 가능성이 높아집니다.
3) 업무 노하우를 팀 단위로 공유할 수 있음
혼자 사용하는 Skill도 가능하지만, 팀에서 공통 Skill을 만들어 사용할 수도 있습니다.
예를 들어 회사 내부에서 다음과 같은 Skill을 만들 수 있습니다.
mes-screen-standard
mes-table-design
maui-release-check
winform-syncfusion-ui
google-play-release-note
tistory-dev-post
이렇게 하면 개발자마다 다른 방식으로 작업하지 않고, 같은 기준으로 Codex를 사용할 수 있습니다.
5. Plugin이란?
Plugin은 Codex에서 사용할 수 있는 설치 가능한 확장 패키지입니다.
Skill이 작업 지침 자체라면, Plugin은 여러 구성 요소를 묶어서 설치하고 공유할 수 있게 만든 단위입니다.
Plugin에는 다음과 같은 것들이 포함될 수 있습니다.
- 하나 이상의 Skill
- 앱 연동 설정
- MCP 서버 설정
- 프로젝트별 자동화 설정
- 팀 공통 개발 워크플로우
즉, Skill은 “작업 방법”이고 Plugin은 “설치 가능한 작업 패키지”라고 볼 수 있습니다.
6. Skill과 Plugin의 차이
둘의 차이를 표로 정리하면 다음과 같습니다.
구분SkillPlugin
| 개념 | 작업 지침 | 설치 가능한 패키지 |
| 목적 | Codex가 특정 업무를 잘 수행하게 함 | Skill과 설정을 묶어 배포 |
| 구성 | SKILL.md, scripts, references, assets | Skills, 앱 연동, MCP 설정 등 |
| 사용 범위 | 개인/프로젝트/팀 | 팀 또는 여러 프로젝트에 배포 |
| 예시 | MAUI 오류 점검 Skill | MAUI 개발 통합 Plugin |
| 핵심 역할 | 업무 수행 방식 정의 | 업무 환경 설치 및 공유 |
쉽게 표현하면 다음과 같습니다.
Skill = 작업 매뉴얼
Plugin = 작업 매뉴얼 + 도구 설정 + 배포 패키지
7. AGENTS.md와 Skill의 차이
Codex를 사용할 때 AGENTS.md도 자주 등장합니다.
AGENTS.md는 프로젝트 전체에 적용되는 기본 지침입니다.
예를 들어 저장소 루트에 AGENTS.md를 만들어 다음과 같이 적을 수 있습니다.
# AGENTS.md
## 프로젝트 기본 규칙
- C# 코드는 기존 네임스페이스 구조를 유지한다.
- UI 수정 시 기존 색상 톤을 최대한 유지한다.
- 수정 후 빌드 오류 가능성을 설명한다.
- 불필요한 대규모 구조 변경은 피한다.
AGENTS.md는 프로젝트 전체의 기본 규칙을 알려주는 파일입니다.
반면 Skill은 특정 반복 업무를 수행하기 위한 세부 절차입니다.
정리하면 다음과 같습니다.
| 구분 | AGENTS.md | Skill |
| 목적 | 프로젝트 기본 지침 | 특정 업무 수행 절차 |
| 적용 범위 | 저장소 또는 디렉터리 전체 | 필요한 작업에 선택적으로 사용 |
| 예시 | 코딩 규칙, 빌드 명령, 폴더 구조 | 출시노트 작성, 오류 점검, UI 개선 |
| 성격 | 기본 운영 규칙 | 반복 업무 매뉴얼 |
8. Codex에서 Skill이 동작하는 방식
Codex는 설치된 Skill의 이름과 설명을 먼저 확인합니다.
사용자의 요청이 특정 Skill과 맞다고 판단되면 해당 Skill의 자세한 지침을 읽고 작업에 반영합니다.
Skill은 두 가지 방식으로 사용할 수 있습니다.
1) 명시적 호출
사용자가 직접 Skill을 지정하는 방식입니다.
예를 들어 다음처럼 요청할 수 있습니다.
$maui-error-review 를 사용해서 앱 오류 가능성을 점검해줘.
또는 Codex의 Skill 목록에서 선택할 수도 있습니다.
2) 자동 선택
사용자가 Skill 이름을 직접 말하지 않아도, Codex가 요청 내용을 보고 적절한 Skill을 선택할 수 있습니다.
예를 들어 Skill 설명에 다음과 같이 작성되어 있다고 가정합니다.
description: .NET MAUI 앱의 네트워크 오류, 예외 처리, 강제 종료 방지 작업을 점검할 때 사용한다.
사용자가 “앱이 네트워크 문제로 종료되지 않게 점검해줘”라고 요청하면 Codex가 이 Skill을 사용할 수 있습니다.
그래서 Skill을 만들 때는 description을 아주 중요하게 작성해야 합니다.
너무 모호하면 Codex가 Skill을 잘 선택하지 못하고, 너무 넓게 쓰면 불필요한 상황에서도 Skill이 호출될 수 있습니다.
9. 개발자에게 유용한 Skill 예시
실제 개발 업무에서는 다음과 같은 Skill을 만들면 유용합니다.
1) MAUI 앱 오류 점검 Skill
이름: maui-error-review
용도: .NET MAUI 앱의 강제 종료 가능성, API 오류, 권한 오류, null 오류 점검
활용 예:
성격어때 앱에서 실행 중 오류가 발생해도 종료되지 않게 점검해줘.
2) Google Play 출시노트 작성 Skill
이름: google-play-release-note
용도: 앱 업데이트 내용을 Google Play Console 출시노트 형식으로 정리
활용 예:
이번 수정 내용을 기준으로 프로덕션 출시노트 작성해줘.
3) Tistory 블로그 작성 Skill
이름: tistory-dev-post
용도: 개발 내용, 개편 안내, 앱 소개를 티스토리 블로그 형식으로 작성
활용 예:
지도어때 재출시 내용을 티스토리용으로 정리해줘.
4) MES 화면 설계 Skill
이름: mes-screen-design
용도: 중소 제조업 MES 화면 구조, 메뉴, 권한, 생산관리 흐름 설계
활용 예:
eMES Lite 생산실적등록 화면을 WinForms 기준으로 설계해줘.
5) SQL 테이블 명세 작성 Skill
이름: sql-table-spec
용도: MariaDB 또는 SQL Server 테이블 구조를 분석해 명세서 작성
활용 예:
첨부한 테이블 기준으로 테이블 명세서를 Excel 형태로 정리해줘.
10. Plugin을 만들면 좋은 경우
Skill은 개별 업무 단위로 만들면 좋습니다.
하지만 여러 Skill과 설정을 하나로 묶어 다른 프로젝트나 팀원에게 배포하려면 Plugin이 적합합니다.
예를 들어 “MES Lite 개발 Plugin”을 만든다면 다음과 같이 구성할 수 있습니다.
emes-lite-plugin/
├─ skills/
│ ├─ mes-screen-design/
│ ├─ mes-table-spec/
│ ├─ winform-ui-review/
│ └─ release-note-writer/
├─ mcp/
│ └─ database-config
└─ plugin-config
이 Plugin을 설치하면 Codex가 MES Lite 개발에 필요한 여러 Skill과 설정을 함께 사용할 수 있습니다.
11. Plugin 활용 예시
Plugin은 다음과 같은 상황에서 유용합니다.
1) 회사 표준 개발 환경 구성
회사에서 C#, WinForms, MAUI, Flask, MariaDB를 주로 사용한다면 이 기준을 Plugin으로 묶어둘 수 있습니다.
eplus-dev-plugin
- C# 코딩 규칙
- WinForms UI 기준
- MAUI 오류 처리 기준
- Flask API 작성 기준
- MariaDB 테이블 명세 기준
- Tistory 문서 작성 기준
2) 앱 출시 업무 자동화
Google Play 앱 출시 작업은 반복되는 절차가 많습니다.
app-release-plugin
- 출시 전 점검 Skill
- 출시노트 작성 Skill
- 티스토리 개편 안내 Skill
- 테스트 안내 메일 작성 Skill
- 버전별 변경사항 정리 Skill
이렇게 구성하면 앱 업데이트 때마다 같은 기준으로 문서를 만들 수 있습니다.
3) MES 구축 프로젝트 표준화
MES 프로젝트는 고객사마다 요구사항은 다르지만 기본 구조는 반복됩니다.
mes-project-plugin
- 기준정보 설계
- 품목/BOM/공정/설비 관리
- 작업지시
- 생산실적
- LOT 추적
- 불량관리
- 재고관리
- 권한관리
- 보고서 작성
이런 Plugin을 만들어 두면 신규 MES 프로젝트를 시작할 때 초기 분석과 설계 시간을 줄일 수 있습니다.
12. Skill 작성 시 주의할 점
Skill을 만들 때는 다음 사항을 주의해야 합니다.
1) 이름은 짧고 명확하게
좋은 예:
maui-error-review
winform-ui-cleanup
tistory-post-writer
나쁜 예:
helper
dev-tool
my-skill
이름만 봐도 어떤 작업에 쓰는지 알 수 있어야 합니다.
2) description을 구체적으로 작성
Skill의 설명은 Codex가 해당 Skill을 사용할지 판단하는 중요한 기준입니다.
좋은 예:
description: .NET MAUI 앱에서 네트워크 오류, API 오류, 권한 오류로 인한 강제 종료 가능성을 점검할 때 사용한다.
나쁜 예:
description: 앱 개발에 사용한다.
설명이 너무 넓으면 Codex가 언제 써야 할지 판단하기 어렵습니다.
3) 작업 절차를 단계별로 작성
Skill에는 가능한 한 작업 순서를 넣는 것이 좋습니다.
예:
## 작업 절차
1. 관련 파일을 먼저 찾는다.
2. 오류 가능성이 있는 부분을 확인한다.
3. 최소 변경으로 수정한다.
4. 빌드 오류 가능성을 검토한다.
5. 수정 내용을 요약한다.
이렇게 하면 Codex가 무작정 코드를 바꾸지 않고 일정한 흐름에 따라 작업합니다.
4) 하지 말아야 할 것도 명시
좋은 Skill은 “해야 할 일”뿐 아니라 “하지 말아야 할 일”도 포함합니다.
예:
## 금지 사항
- 기존 DB 구조를 임의로 변경하지 않는다.
- 사용자가 요청하지 않은 대규모 리팩터링은 하지 않는다.
- API Key를 코드에 새로 노출하지 않는다.
- 기존 화면 색상을 과도하게 바꾸지 않는다.
이런 기준은 실제 개발에서 매우 중요합니다.
13. Skill과 Plugin을 잘 쓰는 방법
Codex를 효율적으로 사용하려면 다음 순서가 좋습니다.
1단계: 자주 반복하는 작업을 찾는다.
2단계: 해당 작업을 Skill로 만든다.
3단계: 프로젝트 기본 규칙은 AGENTS.md에 정리한다.
4단계: 여러 Skill을 묶어야 하면 Plugin으로 구성한다.
5단계: 실제 작업에 사용하면서 계속 보완한다.
처음부터 거창하게 만들 필요는 없습니다.
자주 사용하는 프롬프트를 하나씩 Skill로 바꾸는 방식이 가장 현실적입니다.
14. 예시: 앱 개발자용 Skill 구성
광고 없는 생활 편의 앱을 여러 개 운영하는 경우 다음과 같은 Skill 구성이 유용합니다.
skills/
├─ maui-crash-prevention/
├─ maui-popup-design/
├─ google-play-release-note/
├─ tistory-app-update-post/
├─ private-test-mail/
├─ api-error-handling/
└─ app-store-policy-review/
각 Skill의 역할은 다음과 같습니다.
| Skill | 용도 |
| maui-crash-prevention | 앱 강제 종료 방지 점검 |
| maui-popup-design | 안내 팝업 디자인 표준화 |
| google-play-release-note | 구글 출시노트 작성 |
| tistory-app-update-post | 티스토리 개편 안내 작성 |
| private-test-mail | 비공개 테스트 안내 메일 작성 |
| api-error-handling | 공공 API 오류 처리 |
| app-store-policy-review | 스토어 정책 위반 가능성 점검 |
이렇게 구성해 두면 앱을 업데이트할 때마다 Codex에게 같은 기준으로 작업을 맡길 수 있습니다.
15. 예시: MES 개발자용 Skill 구성
MES Lite와 같은 제조업 시스템을 개발한다면 다음과 같은 Skill도 유용합니다.
skills/
├─ mes-master-data-design/
├─ mes-lot-tracking/
├─ mes-production-result/
├─ mes-quality-control/
├─ mes-inventory-flow/
├─ winform-syncfusion-screen/
└─ multilingual-ui-design/
MES는 기준정보, 공정, 작업지시, 생산실적, LOT 추적, 품질, 재고 흐름이 중요합니다.
이런 업무 지식을 Skill로 정리하면 Codex가 단순한 화면 개발이 아니라 제조 업무 흐름을 고려해 설계할 수 있습니다.
16. 결론
Codex의 Plugin과 Skill은 AI 개발 도구를 더 실무적으로 사용하기 위한 핵심 기능입니다.
정리하면 다음과 같습니다.
AGENTS.md = 프로젝트 기본 규칙
Skill = 반복 업무를 위한 작업 지침
Plugin = Skill과 설정을 묶은 설치 패키지
MCP = 외부 도구나 시스템 연결
Subagent = 전문 역할을 가진 보조 에이전트
개발자가 Codex를 단순 질문 답변 도구로만 사용하면 효과가 제한적입니다.
하지만 프로젝트 규칙은 AGENTS.md로 정리하고, 반복 업무는 Skill로 만들고, 여러 Skill과 연동 설정은 Plugin으로 묶으면 Codex를 훨씬 더 체계적인 개발 파트너로 사용할 수 있습니다.
특히 앱 개발, MES 개발, WinForms 관리 프로그램, Flask API 서버, Google Play 출시 업무처럼 반복 작업이 많은 개발 환경에서는 Skill과 Plugin의 효과가 큽니다.
앞으로의 개발은 “AI에게 한 번 물어보는 방식”보다 “AI가 우리 프로젝트의 규칙과 업무 절차를 이해하고 계속 함께 일하게 만드는 방식”으로 바뀌어 갈 가능성이 큽니다.
Codex의 Skill과 Plugin은 바로 그 방향으로 가기 위한 중요한 기능이라고 볼 수 있습니다.
한 줄 정리
Skill은 Codex에게 일을 잘 시키기 위한 작업 매뉴얼이고, Plugin은 그 매뉴얼과 설정을 묶어 설치하고 공유하는 패키지입니다.