Remote Skills
Prepare a skill
Turn your instructions into a skill you can share.
With the publisher CLI installed, a skill starts as a Markdown file in your project. This page covers its instructions, optional resources, and validation. If you followed the Quickstart, you can extend your existing howdy skill.
Write the instructions
Create skills/howdy/SKILL.md. The folder name and the name field must match.
---
name: howdy
description: Greet someone with a friendly cowboy welcome.
---
When greeting someone, say "Howdy partner!" and offer to help.The description helps an agent decide when to use the skill; the body tells it how to carry out the task. Remote Skills uses the Agent Skills format, so existing skills can use the same structure.
Add resources (optional)
Supporting material lives inside the skill folder. For example, create skills/howdy/references/welcome.md:
# Welcome note
Keep the welcome warm and brief. Ask what the person would like help with.Then add a sentence to the instructions linking to [the welcome note](references/welcome.md). The client can read this file when your agent needs it; it does not have to put every resource into the model's context.
Validate your skill
Check your skill from the project directory:
npm exec -- remote-skills validateValidation checks the skill metadata, local references, file safety, and size limits. Writing suggestions are warnings; --strict makes them errors.
This checks your source without producing output. When you're ready to publish, Build and host packages it in one command, with validation included.
What gets included
Each folder directly inside skills/ is a candidate. Publisher configuration can change that source directory or the output settings.
Repository metadata, dependencies, build output, .env*, and common secret files are excluded by default. .skillignore can exclude more files, but cannot restore safety exclusions. Symlinks and hard links are rejected.
Review what you share: defaults cannot recognize every secret.
The build normalizes paths, ordering, timestamps, permissions, and compression so the same input produces the same bytes. Executable bits do not grant permission; bundled scripts are data and Remote Skills never runs them.
When you need named releases, add optional metadata.version and follow Versions and history.