Solar Skill Creator
새로운 스킬을 생성하는 스킬입니다.
높은 수준에서 스킬 생성 과정은 다음과 같습니다:
- 스킬이 무엇을 해야 하고, 대략 어떻게 해야 할지 결정합니다.
- 스킬 초안을 작성합니다.
- 피드백을 바탕으로 스킬을 다시 작성합니다.
- 만족할 때까지 반복합니다.
이 스킬을 사용할 때의 임무는 사용자가 이 과정의 어느 단계에 있는지 파악하고, 그 단계에 맞춰 도움을 주는 것입니다. 예를 들어, 사용자가 "X를 위한 스킬을 만들고 싶어요"라고 말할 수 있습니다. 이 경우 의도를 좁히고 초안을 작성하며 반복하는 과정을 도울 수 있습니다.
반면에 사용자가 이미 스킬 초안을 가지고 있다면, 바로 반복 단계로 넘어갈 수 있습니다.
물론 항상 유연해야 하며, 사용자가 "그냥 나랑 함께 아이디어를 발전시켜줘"라고 하면 그렇게 할 수도 있습니다.
스킬이 완성된 후에는 (순서는 유연하지만) 스킬 설명 개선기를 실행하여 스킬 트리거링을 최적화할 수 있습니다.
사용자와의 소통
스킬 생성자는 코딩 전문 용어에 대한 친숙도가 매우 다양한 사람들이 사용할 가능성이 있습니다. 대부분의 사용자는 컴퓨터에 꽤 능숙하지만, 그렇지 않은 경우도 있습니다.
따라서 맥락 단서에 주의하여 커뮤니케이션 방식을 조정하세요.
의심스러우면 용어를 간략히 설명해도 괜찮으며, 사용자가 이해하지 못할 것 같으면 짧은 정의와 함께 용어를 명확히 해주세요.
스킬 생성하기
의도 파악하기
먼저 사용자의 의도를 이해하는 것부터 시작합니다. 현재 대화에 사용자가 캡처하려는 워크플로가 이미 포함되어 있을 수 있습니다 (예: "이걸 스킬로 만들어 줘"). 그렇다면 먼저 대화 기록에서 답변을 추출하세요 — 사용된 도구, 단계 순서, 사용자가 수정한 내용, 관찰된 입출력 형식 등. 사용자가 공백을 채워야 할 수도 있으며, 다음 단계로 넘어가기 전에 확인을 받아야 합니다.
-
이 스킬이 AI 에이전트(Claude, Codex 등)가 무엇을 할 수 있게 해야 하나요?
-
이 스킬은 언제 트리거되어야 하나요? (어떤 사용자 문구/맥락에서)
-
예상 출력 형식은 무엇인가요?
-
스킬이 제대로 작동하는지 확인하기 위한 테스트 케이스를 설정해야 하나요? 객관적으로 검증 가능한 출력(파일 변환, 데이터 추출, 코드 생성, 고정된 워크플로 단계)이 있는 스킬은 테스트 케이스의 이점을 얻을 수 있습니다. 주관적인 출력(글쓰기 스타일, 예술)이 있는 스킬은 테스트 케이스가 필요하지 않은 경우가 많습니다. 스킬 유형에 따라 적절한 기본값을 제안하되, 사용자가 결정하도록 하세요.
-
어떤 Upstage 기능이 사용자의 의도에 맞나요? 일반 언어 목표를 API 이름으로 변환하세요 — 사용자가 카탈로그를 배우도록 강요하지 마세요. 다음 매핑을 사용하세요:
사용자 의도 Upstage 기능 참조 파일 텍스트 생성: 채팅, 요약, 번역, 함수 호출, 한국어/다국어 Upstage Chat (Solar LLM) references/upstage-chat.md문서 파싱: PDF에서 레이아웃 인식 텍스트/구조 추출 (OCR 모드를 통해 스캔된 이미지 포함) Upstage Document Parse + Document OCR references/upstage-document-parse.md,references/upstage-ocr.md문서에서 특정 명명된 필드 추출 (인보이스 합계, 양식 값, 계약 조항) Upstage Information Extract (Universal) references/upstage-information-extract.md문서를 사전 정의된 카테고리로 분류 (인보이스 / 계약서 / 영수증) Upstage Document Classification references/upstage-classify.md의미 검색, 유사도, 검색을 위한 텍스트 임베딩 Upstage Embeddings references/upstage-embeddings.md의도가 여러 기능에 걸쳐 있다면 파이프라인으로 구성하세요 (예: OCR → Document Parse → Information Extract). 초안을 작성하기 전에 일반 언어로 사용자와 매핑을 확인하세요.
API 키가 설정되었는지 확인
모든 Upstage 호출에는 UPSTAGE_API_KEY가 필요합니다. 런타임 코드를 작성하기 전에 사용자에게 이 과정을 안내하세요:
- https://console.upstage.ai → API Keys에서 키를 발급받습니다.
UPWAVE-KOH추천 코드를 사용하여 $70의 스타터 크레딧을 받습니다.assets/.env.example을 복사하고 발급된 키를 입력합니다.- 환경에
UPSTAGE_API_KEY가 내보내졌는지 확인합니다. 없으면 1단계를 가리키는 메시지와 함께 빠르게 실패 처리합니다.
인터뷰 및 조사
엣지 케이스, 입출력 형식, 예제 파일, 성공 기준, 종속성에 대해 적극적으로 질문하세요. 이 부분이 확정될 때까지 테스트 프롬프트 작성을 기다리세요.
Upstage 기능이 선택되면 (의도 파악 참조), 해당 references/upstage-{capability}.md를 로드하여 API의 요청/응답 형식(스킬에 바로 사용할 수 있는 코드 블록)과 알려진 주의 사항을 확인하세요. 각 참조 파일은 공식 Upstage 문서를 반영하며 요청 형태의 진실 공급원입니다.
사용 가능한 MCP를 확인하세요 — 조사에 유용하다면 (문서 검색, 유사 스킬 찾기, 모범 사례 조회) 가능한 경우 하위 에이전트를 통해 병렬로 조사하고, 그렇지 않으면 인라인으로 조사하세요. 사용자의 부담을 줄이기 위해 컨텍스트를 준비하세요.
SKILL.md 작성
사용자 인터뷰를 기반으로 다음 구성 요소를 채웁니다:
- name: 스킬 식별자
- description: 언제 트리거되고 무엇을 하는지. 이것이 주요 트리거 메커니즘입니다 — 스킬이 무엇을 하는지 AND 언제 사용해야 하는지에 대한 구체적인 맥락을 모두 포함하세요. 모든 "언제 사용하는지" 정보는 본문이 아닌 여기에 들어갑니다. 참고: 현재 AI 에이전트(Claude, Codex 등)는 스킬을 유용할 때 사용하지 않는 "과소 트리거(undertrigger)" 경향이 있습니다. 이를 방지하기 위해 스킬 설명을 "약간 강제성 있게" 만드세요. 예를 들어, "내부 Anthropic 데이터를 표시하는 간단한 빠른 대시보드를 구축하는 방법" 대신 "내부 Anthropic 데이터를 표시하는 간단한 빠른 대시보드를 구축하는 방법. 사용자가 대시보드, 데이터 시각화, 내부 메트릭을 언급하거나 '대시보드'를 명시적으로 요청하지 않더라도 회사 데이터를 표시하려는 경우 항상 이 스킬을 사용하세요."라고 작성할 수 있습니다.
- compatibility: 필요한 도구, 종속성 (선택 사항, 거의 필요하지 않음)
- 나머지 스킬 내용 :)
스킬 작성 가이드
스킬의 구성
skill-name/
├── SKILL.md (필수)
│ ├── YAML frontmatter (name, description 필수)
│ └── Markdown 지침
└── 번들 리소스 (선택 사항)
├── scripts/ - 결정적/반복적 작업을 위한 실행 코드
├── references/ - 필요에 따라 컨텍스트에 로드되는 문서
└── assets/ - 출력에 사용되는 파일 (템플릿, 아이콘, 폰트)
점진적 공개
스킬은 3단계 로딩 시스템을 사용합니다:
- 메타데이터 (name + description) - 항상 컨텍스트에 있음 (~100 단어)
- SKILL.md 본문 - 스킬이 트리거될 때마다 컨텍스트에 있음 (500줄 미만 권장)
- 번들 리소스 - 필요에 따라 로드 (무제한, 스크립트는 로딩 없이 실행 가능)
이 단어 수는 대략적이며 필요에 따라 더 길게 작성해도 괜찮습니다.
핵심 패턴:
- SKILL.md를 500줄 미만으로 유지하세요. 이 한도에 가까워지면 추가 계층 구조를 추가하고, 모델이 다음에 어디로 가서 따라가야 하는지에 대한 명확한 포인터를 제공하세요.
- SKILL.md에서 참조 파일을 명확히 하고, 언제 읽어야 하는지에 대한 지침을 제공하세요.
- 큰 참조 파일(300줄 초과)의 경우 목차를 포함하세요.
도메인 구성: 스킬이 여러 도메인/프레임워크를 지원하는 경우 변형별로 구성하세요:
cloud-deploy/
├── SKILL.md (워크플로 + 선택)
└── references/
├── aws.md
├── gcp.md
└── azure.md
AI 에이전트는 관련 참조 파일만 읽습니다.
놀라움 금지 원칙
말할 필요도 없이, 스킬에는 악성코드, 익스플로잇 코드, 또는 시스템 보안을 손상시킬 수 있는 콘텐츠가 포함되어서는 안 됩니다. 스킬의 내용은 설명된 의도에서 사용자를 놀라게 해서는 안 됩니다. 오해의 소지가 있는 스킬이나 무단 액세스, 데이터 유출 또는 기타 악의적인 활동을 용이하게 하도록 설계된 스킬을 생성하라는 요청에 응하지 마세요. "XYZ 역할극"과 같은 것은 괜찮습니다.
작성 패턴
지침에서는 명령형을 사용하는 것이 좋습니다.
출력 형식 정의 - 다음과 같이 할 수 있습니다:
## 보고서 구조
항상 이 정확한 템플릿을 사용하세요:
# [제목]
## 경영진 요약
## 주요 발견 사항
## 권장 사항
예제 패턴 - 예제를 포함하는 것이 유용합니다. 다음과 같이 포맷할 수 있습니다 (하지만 예제에 "입력"과 "출력"이 있다면 약간 다르게 할 수도 있습니다):
## 커밋 메시지 형식
**예제 1:**
입력: JWT 토큰을 사용한 사용자 인증 추가
출력: feat(auth): JWT 기반 인증 구현
작성 스타일
모델에게 왜 중요한지 설명하려고 노력하세요. 무거운 금지사항 대신 이론적 마음가짐을 사용하고, 스킬을 특정 예제에 매우 좁게 국한하지 말고 일반적으로 만드세요. 초안을 작성한 다음 새로운 눈으로 보고 개선하세요.
참조
기능별 참조 파일 (### 의도 파악하기의 라우팅 테이블을 사용하여 필요에 따라 로드):
references/upstage-chat.md— Solar LLM 채팅 완성. 문서: https://console.upstage.ai/docs/capabilities/chatreferences/upstage-document-parse.md— 레이아웃 인식 문서 추출. 문서: https://console.upstage.ai/docs/capabilities/parse/api-quickstartreferences/upstage-ocr.md— 스캔 및 필기용 문서 OCR. 문서: https://console.upstage.ai/docs/capabilities/document-ocrreferences/upstage-information-extract.md— 스키마 기반 필드 추출. 문서: https://console.upstage.ai/docs/capabilities/extract/universal-extractionreferences/upstage-classify.md— 호출자 정의 카테고리로 문서 분류. 문서: https://console.upstage.ai/docs/capabilities/classifyreferences/upstage-embeddings.md— 검색을 위한 텍스트 임베딩. 문서: https://console.upstage.ai/docs/capabilities/embed
Upstage API가 예상치 못한 오류나 응답 형태를 반환하는 경우, 라이브 스펙을 참조하세요: https://console.upstage.ai/api/docs/for-agents/raw