build-a-skill
Use when creating or modifying a skill: follow SKILL.md rules, define commands and dependencies, validate locally, version correctly, and publish
소스 정보
- 저장소
- avibe-bot/askill
- 최근 소스 활동
- 2026년 2월 11일 19:37
- 감지된 SKILL.md 언어
- 영어
- 스타
- 13
- 포크
- 3
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- build-a-skill
- slug
- build-a-skill
- description
- Use when creating or modifying a skill: follow SKILL.md rules, define commands and dependencies, validate locally, version correctly, and publish
- version
- 1.0.1
- author
- {"name":"askill","github":"askill"}
- tags
- ["official","development","askill"]
# Build a Skill
Use this skill when creating or updating a skill that must work with askill CLI and registry conventions.
## Authoring Standard
A valid skill requires one entry file:
- `SKILL.md` (required)
Optional supporting files:
- `scripts/` for executable commands
- `assets/` for templates or reference material
Recommended layout:
```text
my-skill/
├── SKILL.md
├── scripts/
│ └── main.js
└── assets/
```
## Minimal SKILL.md Template
```markdown
---
name: my-skill
slug: my-skill
description: One-line purpose of the skill
version: 0.1.0
---
# My Skill
## Overview
What this skill does and when to use it.
## Usage
Step-by-step instructions the agent can execute.
```
## Frontmatter Rules
Required:
- `name` - lowercase letters/numbers/hyphens only
- `description` - concise summary
Strongly recommended:
- `version` - valid semver (`1.0.0`, `1.1.0-beta.1`)
- `slug` - publish identifier (`@author/slug`)
Optional:
- `author`, `tags`, `dependencies`, `commands`, `repository`, `license`
Dependencies format:
- Published: `@author/skill-name` or `@author/skill-name@^1.2.0`
- Indexed GitHub: `gh:owner/repo@skill-name` or `gh:owner/repo/path`
Commands format:
```yaml
commands:
analyze:
run: node scripts/analyze.js
description: Analyze current repository
_setup:
run: npm ci
description: Install command dependencies
```
## Write for Agents, Not Humans
Your markdown body should be executable guidance:
- include clear preconditions
- include exact commands
- include expected outputs/artifacts
- include failure handling and recovery paths
Good instruction pattern:
1. Check prerequisites
2. Run command
3. Verify output
4. Handle common failures
## Development Loop (Local)
Use this loop while building:
```bash
# 1) scaffold
askill init ./my-skill
# 2) validate schema/fields
askill validate ./my-skill/SKILL.md
# 3) install locally for testing
askill add ./my-skill -a claude-code -y
# 4) run commands
askill run my-skill:<command>
# 5) inspect installed state
askill list
```
When iterating quickly, reinstall with `askill add ./my-skill -y` after changes.
## Publish Workflow
Publishing uses `slug` as publish intent.
```bash
askill login --token ask_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
askill whoami
askill publish ./my-skill
```
Alternative (publish from GitHub SKILL.md URL):
```bash
askill publish --github https://github.com/owner/repo/blob/main/path/to/SKILL.md
```
Important:
- `askill publish` requires `name`, `slug`, and valid semver `version`
- local publish uses logged-in user as author
- GitHub URL publish uses repo owner as author (supports org namespace)
- successful publish creates canonical slug `@author/<slug>`
- bump `version` before republishing updates
- `askill submit <github-url>` requests indexing and can trigger slug-driven publish flows
## Quality Checklist Before Release
- `askill validate` passes with no errors
- all documented commands exist in frontmatter
- command descriptions are present and specific
- prerequisites are explicit and testable
- instructions avoid hardcoded agent paths
- at least one end-to-end example is included
## Common Mistakes to Avoid
- vague instructions like "run the script"
- missing `run` or `description` in commands
- undocumented prerequisites (runtime/tooling)
- relying on unpublished assumptions instead of explicit steps
- hardcoding `.claude/skills/...` paths instead of `askill run`
## Maintenance Guidance
For updates:
1. change skill behavior/instructions
2. bump semver in `version`
3. validate locally
4. republish
For breaking changes, increment major version.
GitHub에서 보기