skill-publish
Skill Publish
Language
Match user's language: Respond in the same language the user uses.
Overview
Package a agent skill into a complete, distributable GitHub repository. Generates all the surrounding files (README, LICENSE, plugin.json, marketplace.json) and optionally creates the GitHub repo.
How It Works
- Identify the skill to publish
- Optionally review first with skill-review
- Collect publishing metadata through dialogue
- Generate the repository structure with
publish.py - Optionally initialize git and create GitHub repo
Dialogue Flow
Progress:
- Step 1: Identify the skill
- Step 2: Pre-publish validation
- Step 3: Collect metadata
- Step 4: Generate repository
- Step 5: Post-generation
Step 1: Identify the Skill
Accept the skill location in multiple forms:
| Input | Detection | Action |
|---|---|---|
| Directory with SKILL.md | Direct path | Use as-is |
| SKILL.md file path | Path ends in SKILL.md |
Use parent directory |
| Current directory | No input, cwd has SKILL.md | Auto-detect |
Step 2: Pre-Publish Validation
Check for skill-review availability:
- First try:
{SKILL_DIR}/../skill-review/scripts/validate.py - Fallback:
~/.agents/skills/skill-review/scripts/validate.py
If found, suggest running validation:
python3 <validate.py path> run --path <skill-path>
If there are failures, recommend fixing them before proceeding. Warnings are acceptable.
If skill-review is not available, offer:
- A) Install it:
npx skills add psylch/better-skills@skill-review -g -y - B) Continue without it (quick manual check: verify SKILL.md exists with valid frontmatter)
- C) Cancel
Step 3: Collect Metadata
Use AskUserQuestion to gather:
-
GitHub owner/org — Default: try to infer from
git config user.nameorgh api user -q .login. Ask user to confirm or change. -
Repository name — Default:
<skill-name>-skill(e.g.,cors-audit-skill). Suggest the convention but let user override. -
Version — Default:
1.0.0. Use semver. -
License — Default: MIT. Options: MIT, Apache-2.0, GPL-3.0.
-
Output directory — Where to create the repo. Default: parent directory of the skill.
Step 4: Generate Repository
python3 {SKILL_DIR}/scripts/publish.py generate \
--skill-path <path> \
--owner <owner> \
--repo <repo-name> \
--version <version> \
[--license mit|apache2|gpl3] \
[--output <dir>] \
[--force]
Where {SKILL_DIR} is the directory containing this SKILL.md file.
The script outputs JSON to stdout:
{
"status": "ok",
"output_dir": "/path/to/output",
"repo": "owner/repo-name",
"created": [".claude-plugin/plugin.json", "README.md", "LICENSE", ...],
"hint": "Repository files generated. Next: git init or gh repo create."
}
Step 5: Post-Generation
Present a completion report:
[Skill Publish] Complete!
Skill: <skill-name>
Repository: <owner>/<repo>
License: <license>
Output: <directory>
Files created:
• <list from JSON "created" field>
Next Steps:
→ A) Initialize git repo
→ B) Create GitHub repo and push
→ C) Done — handle git manually
Then let the user choose:
Option A: Initialize git repo
cd <output-dir>
git init
git add .
git commit -m "Initial commit"
Option B: Create GitHub repo and push
cd <output-dir>
git init
git add .
git commit -m "Initial commit"
gh repo create <owner>/<repo> --public --source . --push
Option C: Done — User will handle git themselves.
After creation, remind the user:
- Edit README.md and README.zh.md to polish auto-generated content
- Register on skills.sh if they want public discoverability
- Test installation:
npx skills add ./ -g -y
Generated Repository Structure
<repo-name>/
├── .claude-plugin/
│ ├── plugin.json
│ └── marketplace.json
├── skills/
│ └── <skill-name>/ # Copied from source
│ ├── SKILL.md
│ ├── scripts/
│ └── references/
├── README.md
├── README.zh.md
├── LICENSE
└── .gitignore
Distribution Guide Reference
For details about skills.sh registry, versioning strategy, and publishing conventions, read references/distribution_guide.md.
More from psylch/better-skills
better-skill-review
Review an agent skill by combining automated linting with structured semantic analysis. Runs hard-rule validation, evaluates contextual findings, then performs deep review against best practices (description quality, workflow design, runtime robustness, script conventions, UX patterns). Produces actionable improvement suggestions with before/after examples. This skill should be used when reviewing a skill, validating skill structure, improving skill quality, checking skill conventions, or when the user says 'review skill', 'validate skill', 'check skill', 'improve skill', 'iterate on skill', '走查技能', '验证技能', '检查 skill', '改进技能', '优化 skill'.
11better-skill-publish
Package a agent skill into a complete GitHub repository ready for distribution via skills.sh. Generates README, LICENSE, plugin.json, marketplace.json, .gitignore, and the proper directory structure. Optionally initializes a git repo and creates a GitHub repository. This skill should be used when publishing a skill, packaging a skill for distribution, preparing a skill repo, or when the user says 'publish skill', 'package skill', 'release skill', '发布技能', '打包 skill'.
10better-skill-creator
Create new agent skills with best-practice templates. Guides through skill level selection (L0 pure prompt, L0+ with helper scripts, L1 with business scripts), environment strategy (stdlib/uv/venv), and generates ready-to-edit project files following runtime UX best practices. This skill should be used when creating a new skill, scaffolding a skill project, initializing skill templates, or when the user says 'help me build a skill', 'create a skill', '创建技能', '新建 skill'.
10skill-review
Review a agent skill by running automated validation checks and suggesting improvements based on best practices. Combines structural validation (graded report with pass/warn/fail checks) with analytical improvement suggestions (prioritized with before/after examples). Can interactively apply fixes. This skill should be used when reviewing a skill, validating skill structure, improving skill quality, checking skill conventions, or when the user says 'review skill', 'validate skill', 'check skill', 'improve skill', 'iterate on skill', '走查技能', '验证技能', '检查 skill', '改进技能', '优化 skill'.
6skill-creator
Create new agent skills with best-practice templates. Guides through skill level selection (L0 pure prompt, L0+ with helper scripts, L1 with business scripts), environment strategy (stdlib/uv/venv), and generates ready-to-edit project files following runtime UX best practices. This skill should be used when creating a new skill, scaffolding a skill project, initializing skill templates, or when the user says 'help me build a skill', 'create a skill', '创建技能', '新建 skill'.
5