Skilo 사용하기
Skilo는 Agent Skills 개발을 위한 CLI 도구입니다.
설치
curl -sSfL https://raw.githubusercontent.com/manuelmauro/skilo/main/install.sh | sh
빠른 시작
skilo new my-skill # 템플릿에서 생성
skilo add owner/repo # Git에서 설치
skilo lint . # 사양에 맞게 검증
skilo fmt . # SKILL.md 파일 형식 정리
모든 명령어와 옵션은 skilo -h를 실행하세요.
항상 스킬 검증하기
스킬 변경사항을 커밋하기 전에 항상 skilo lint와 skilo fmt를 실행하세요. 이 명령어들은 Agent Skills 사양을 강제하고 일반적인 문제를 잡아냅니다.
# 한 번에 검증 및 포맷
skilo check .
# CI 엄격 모드 (경고가 오류로 처리됨)
skilo check --strict .
스킬 구조
my-skill/
├── SKILL.md # 필수: YAML 프론트매터가 포함된 매니페스트
├── scripts/ # 선택 사항: 실행 가능한 코드
├── references/ # 선택 사항: 추가 문서 (요청 시 로드)
└── assets/ # 선택 사항: 정적 리소스
프론트매터 요구 사항
필수 필드
name (1-64자)
- 소문자 영숫자와 하이픈만 허용 (
a-z,0-9,-) -로 시작하거나 끝날 수 없으며--를 포함할 수 없음- 상위 디렉터리 이름과 일치해야 함
description (1-1024자)
- 스킬이 무엇을 하는지 AND 언제 사용해야 하는지 설명
- 에이전트가 사용자 요청을 매칭하는 데 도움이 되는 키워드 포함
선택 필드
license- 짧게 유지하고, 자세한 내용은 LICENSE 파일 참조compatibility(최대 500자) - 환경 요구 사항 (예:Requires git, docker)metadata- 사용자 정의 속성을 위한 키-값 쌍allowed-tools- 사전 승인된 도구의 공백 구분 목록 (실험적)
모범 사례
효과적인 설명 작성
설명은 에이전트가 스킬을 활성화할 시기를 결정하는 방법입니다. 구체적으로 작성하세요.
# 좋음 - 구체적, 키워드 풍부
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.
# 나쁨 - 모호함, 활성화 단서 없음
description: Helps with PDFs.
본문 내용 간결하게 유지
SKILL.md 본문 전체는 스킬이 활성화될 때 로드됩니다. 500줄 미만으로 유지하세요.
- 단계별 지침 포함
- 입력과 출력 예제 추가
- 일반적인 엣지 케이스 다루기
- 상세 자료는
references/로 이동
점진적 공개 사용
컨텍스트 사용을 최소화하도록 스킬 구조화:
- 메타데이터 (~100 tokens) -
name+description: 시작 시 모든 스킬에 대해 로드됨 - 지침 (<5000 tokens) - 전체 본문: 스킬 활성화 시 로드됨
- 리소스 (on-demand) -
scripts/,references/,assets/: 필요할 때만 로드됨
자체 포함 스크립트 작성
scripts/의 스크립트는:
- 자체 포함되거나 종속성을 명확히 문서화해야 함
- 유용한 오류 메시지 포함
- 엣지 케이스를 우아하게 처리
참조 자료 효과적으로 구성
references/의 파일은 요청 시 로드됨:
- 파일을 집중적으로 유지 (파일 하나 = 개념 하나)
- 스킬 루트에서 상대 경로 사용
- 깊게 중첩된 참조 체인 피하기
린트 규칙
Skilo는 다음 규칙을 적용합니다 (.skilorc.toml에서 구성 가능):
| 코드 | 규칙 | 기본값 |
|---|---|---|
| E001 | name_format | 활성화 |
| E002 | name_length | 64자 |
| E003 | name_directory | 활성화 |
| E004 | description_required | 활성화 |
| E005 | description_length | 1024자 |
| E006 | compatibility_length | 500자 |
| E009 | references_exist | 활성화 |
| W001 | body_length | 500줄 |
| W002 | script_executable | 활성화 |
| W003 | script_shebang | 활성화 |
CI 통합
- name: Validate skills
run: |
curl -sSfL https://raw.githubusercontent.com/manuelmauro/skilo/main/install.sh | sh
skilo check --strict skills/