--- name: create-skill version: 1.0.0 description: 새로운 SKILL.md 파일을 생성하기 위한 범용 스킬 --- # Create Skill ## 목적 `agent-ops/skills/` 하위에 올바른 형식의 SKILL.md 파일을 생성한다. 기존 skill-template.md 를 기반으로, 요청 목적에 맞는 내용을 채워 넣는다. 생성 후 라우팅 항목을 추가한다. 이 스킬은 프로젝트 내부 `agent-ops` 라우터가 읽는 스킬을 만든다. `$CODEX_HOME/skills`에 설치되어 Codex가 직접 discover하는 스킬을 만들 때는 시스템 `skill-creator` 규칙을 우선하고, frontmatter는 `name`과 `description`만 사용한다. ### 생성 위치 결정 - `.agent-ops-source` 파일이 **있으면** (공통 관리 레포): `agent-ops/skills/common//SKILL.md` - `.agent-ops-source` 파일이 **없으면** (타겟 프로젝트): `agent-ops/skills/project//SKILL.md` ## 언제 호출할지 - 새로운 반복 작업 패턴이 생겨 skill로 정의해야 할 때 - 기존 skill이 없는 작업 유형을 처음 수행하기 전에 - 사용자가 특정 작업을 skill로 만들어 달라고 요청할 때 ## 입력 - `skill-name`: 생성할 skill 이름, kebab-case (필수) - `purpose`: 이 skill이 해결하는 문제 한 줄 요약 (필수) - `trigger-cases`: 이 skill을 호출해야 하는 상황 목록 (선택) ## 먼저 확인할 것 - [ ] `agent-ops/skills/common/` 및 `agent-ops/skills/project/` 하위에 동일 이름의 디렉터리가 이미 존재하는지 확인 - [ ] `agent-ops/skills/common/router.md` 및 `agent-ops/rules/project/rules.md` 에 이미 유사한 라우팅 항목이 있는지 확인 - [ ] `agent-ops/skills/common/_templates/skill-template.md` 를 읽어 최신 템플릿 형식 파악 ## 실행 절차 1. **중복 확인** - `agent-ops/skills/common//` 및 `agent-ops/skills/project//` 폴더 존재 여부 확인 - 기능이 겹치는 기존 skill이 있으면 사용자에게 알리고 중단한다 2. **목적 분석** - `purpose` 와 `trigger-cases` 를 바탕으로 아래 항목을 도출한다 - 언제 호출할지 (2~4개) - 필요한 입력 파라미터 - 사전 확인 항목 - 실행 절차 (3~7단계) - 출력 형식 - 금지 사항 3. **SKILL.md 생성** - 경로: 생성 위치 결정 규칙에 따라 `common/` 또는 `project/` 하위에 생성 - `skill-template.md` 형식을 따른다 - agent-ops 내부 스킬은 기존 로컬 관례에 맞춰 `version`을 둘 수 있다. Codex 설치형 스킬로 배포할 목적이면 `version`이나 `depends` 같은 비표준 frontmatter를 넣지 않는다. - 프로젝트 특화 내용보다 범용 절차를 우선한다 - 절차는 구체적이되 지나치게 세부 구현을 기술하지 않는다 4. **라우팅 업데이트** - `.agent-ops-source` 마커가 **있으면** (공통 관리 레포): `agent-ops/skills/common/router.md`에 라우팅 항목 추가 - `.agent-ops-source` 마커가 **없으면** (타겟 프로젝트): `agent-ops/rules/project/rules.md`의 프로젝트 스킬 라우터 섹션에 라우팅 항목 추가 - 기존 공통 스킬을 수정해 trigger가 달라졌다면 새 skill을 만들지 말고 `agent-ops/skills/common/router.md`의 기존 행을 갱신한다 - 이 skill이 속할 라우팅 축(구조 분석/코드 변경/흐름 추적 등)을 판단한다 - 기존 라우팅 구조를 깨지 않는다 5. **결과 보고** - 생성한 파일 경로 - 라우팅 항목을 추가한 파일과 내용 - 이 skill이 다루지 않는 범위(필요 시) ## 출력 형식 ``` ## 생성 완료 - SKILL 경로: agent-ops/skills/{common|project}//SKILL.md - 라우팅 추가: <대상 파일> → <라우팅 축> → ## 주의사항 (해당 시) - <이 skill이 다루지 않는 범위 또는 주의할 점> ``` ## 실행 결과 검증 - [ ] `agent-ops/skills/{common|project}//SKILL.md` 파일이 생성되었는가 - [ ] 생성된 파일이 `skill-template.md`의 필수 섹션(목적, 언제 호출할지, 실행 절차, 실행 결과 검증, 출력 형식, 금지 사항)을 포함하는가 - [ ] frontmatter에 name, description이 올바르게 기재되었는가 - [ ] agent-ops 내부 스킬이면 version 등 로컬 관례를 따르고, Codex 설치형 스킬이면 시스템 `skill-creator` frontmatter 규칙을 따르는가 - [ ] 라우팅 대상 파일에 해당 스킬의 라우팅 항목이 추가되었는가 - 검증 실패 시: 누락된 섹션 또는 라우팅 항목을 사용자에게 알리고 해당 부분만 보완한다 ## 금지 사항 - 이미 존재하는 skill 을 덮어쓰지 않는다 - 프로젝트 특화 경로(예: `app/screens/`)를 skill 본문에 하드코딩하지 않는다 - skill 생성과 무관한 코드 파일을 수정하지 않는다 - 라우팅 대상 파일의 기존 항목을 삭제하거나 재정렬하지 않는다 - 하나의 skill 에 여러 독립적인 책임을 묶지 않는다