Skip to main content

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
آخر نشاط في المصدر
١١ فبراير ٢٠٢٦ في ١٩:٣٧
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٣
التفرعات
٣

خيارات التثبيت

يُحدَّد 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