johnlindquist/skill-publish-skill
Overview
This skill publishes a local skill to GitHub so it becomes discoverable via the npx skills CLI. It guides collection of key details, validates the skill manifest and supporting files, creates or updates a GitHub repo, and pushes the skill into a standardized skills directory for discovery.
How this skill works
The skill inspects the local skill folder for a skill manifest file with required name and description frontmatter and confirms supporting folders (references, scripts, assets) are present. It uses the GitHub CLI to create or open a target GitHub repo, copies the skill into a skills/ subfolder, commits, and pushes changes. Finally it verifies the skill can be listed by the npx skills tool.
When to use it
- When you want to share a local skill so others can install it with npx skills
- When asked to "publish skill", "share skill", or "make skill discoverable"
- When consolidating multiple skills into a public GitHub collection
- When preparing a skill for community discovery or distribution
- When you need an automated, repeatable publish workflow
Best practices
- Ensure the skill manifest includes a clear name and short description in frontmatter
- Keep the manifest concise (under ~200 lines) and include only required metadata
- Include references/, scripts/, and assets/ folders if the skill depends on extra files
- Use the GitHub CLI (gh) for authentication and repo creation to automate publishing
- Publish to a public GitHub repo so the npx skills CLI can discover it
- Add a brief root-level project README describing the collection and installation steps
Example use cases
- Publish a single local skill so a team member can install it with npx skills add org/repo
- Aggregate several internal skills into one public GitHub collection for sharing
- Automate CI to validate and republish updated skills after changes
- Migrate an experimental skill from local development to a public installable package
- Quickly share a working skill example during a demo or onboarding session
FAQ
It checks for the skill manifest file in the skill folder and validates frontmatter that contains name and description.
Do I need a public GitHub repo?
Yes. Skills must be in a public GitHub repo so the npx skills CLI can discover and list them.