Create, revise, and validate AstrBot Skills built around SKILL.md instruction bundles. Use when the user asks to create, scaffold, improve, package, or review a
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-skill-creator-2082e4954b61 ,按照其中的说明把「skill-creator」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Build small, reusable instruction bundles that another agent can discover and follow reliably.
SKILL.md focused. Put detailed reference material in references/, repeatable automation in scripts/, and output material in assets/.SKILL.md and state when to use it. Avoid deep chains of references.README.md, changelogs, installation guides, or quick-reference duplicates.Before writing files, identify:
Ask only for information that materially changes the result. Infer ordinary details from the current task and environment.
Use the runtime declared in the system instructions and the location requested by the user. Do not infer the runtime from filesystem paths.
In local mode, common targets are:
<workspace>/skills/<skill-name><astrbot-data>/skills/<skill-name>.<astrbot-data>/plugins/<plugin-name>/skills/<skill-name>.If no location is specified in local mode, create the Skill under skills/<skill-name> in the current AstrBot workspace. Creating or modifying a locally installed Skill requires administrator access and is enforced by the filesystem tools. If permission is denied, use the workspace target and explain the fallback.
In sandbox mode, do not use <astrbot-data> or attempt to install a Skill into the host AstrBot instance. Create it under skills/<skill-name> in the current sandbox workspace, and treat it as sandbox-scoped unless the runtime provides a dedicated persistence or release workflow.
Treat plugin-provided Skills as read-only during normal runtime. Modify a plugin Skill only when the user is working in that plugin's source tree and has explicitly requested the change. If the requested target is not writable, create the Skill in the workspace and explain how to install or move it.
name.For each repeated operation, decide whether plain instructions are sufficient:
scripts/ only for deterministic, repeatable operations.references/ only for material the agent may need to consult while working.assets/ only for files intended to be copied or incorporated into outputs.Do not create empty resource directories.
Start with YAML frontmatter containing only name and description:
---
name: example-skill
description: Describe what the Skill does and the concrete requests or situations that should trigger it.
---
Make the description specific enough for discovery. Put all trigger guidance in the description because AstrBot loads the body only after the Skill is selected.
Write the body as direct instructions:
For a new Skill, prefer the bundled initializer when Python and shell execution are available:
python <this-skill-directory>/scripts/init_skill.py <skill-name> --path <target-skills-root> --description <description>
Add --resources scripts,references,assets with only the directories that are needed. The initializer refuses to overwrite an existing Skill.
If shell execution is unavailable, create the directory and UTF-8 SKILL.md with astrbot_file_write_tool. Create optional resources only after their content is known.
When updating a Skill, read its complete SKILL.md and directly referenced resources before editing. Preserve useful behavior and avoid unrelated restructuring.
When Python and shell execution are available, run:
python <this-skill-directory>/scripts/validate_skill.py <created-skill-directory>
Otherwise verify manually:
name.SKILL.md is UTF-8 and has valid YAML frontmatter.description explains both capability and trigger conditions.Run any bundled scripts on representative safe inputs. Fix validation or execution failures before presenting the Skill.
Report the created or updated location, included resources, validation performed, and any runtime or activation step still required. Do not enable a globally installed Skill or change an AstrBot configuration unless the user requested it.