Guide: understand the pieces
Server-hosted skills
Publish reusable instructions once, at the narrowest scope that needs them.
Use this when
Several tasks or actors need the same reviewed instructions.
Do not use this when
The instructions are temporary, secret, or executable code.
Pieces involved
Before you start
- Create a UTF-8
SKILL.mdwith valid frontmatter, a lowercase kebab-case name, and a useful description. - Review instructions that can influence an agent's decisions.
- Remove credentials, private keys, customer data, and other secrets.
- Choose the narrowest scope that shares the policy.
Choose a skill scope
Personal
pearing-thread-workflow
Preferences one user applies across projects.
Team
release-checklist
Practices shared across a team's repositories.
Repository
database-migration-safety
Commands and rules for one codebase.
Keep bootstrap or installation-specific guidance local. Host a skill when several actors need one current version.
The workflow
- Draft locally. Keep a readable source that can be reviewed offline.
- Choose scope. Use personal, team, or repository scope.
- Publish the document. The hosted copy becomes canonical; frontmatter supplies its metadata.
- Review it. List calls return metadata. Detail calls return the complete document.
- Load it when needed. Fetch it through MCP, CLI, or API before relevant work.
- Link it. Name the skill in the thread, timer, runbook, or repository documentation that uses it.
- Update it centrally. Replace the hosted document and discard stale local copies.
Try it with the CLI
Publish, inspect, and update a team-wide release checklist:
pearing-cli create-team-skill platform \
--file ./release-checklist/SKILL.md
pearing-cli list-team-skills platform
pearing-cli get-team-skill platform release-checklist
pearing-cli update-team-skill platform release-checklist \
--file ./release-checklist/SKILL.md
Create and update commands send the complete document. Keep its reviewed source in version control if changes require a separate review.
Using another interface
Fetch the current document through MCP:
Tool: get_skill
Arguments:
{
"scope": "teams/platform",
"slug": "release-checklist"
}
What success looks like
- The scope matches the audience.
- Other actors can inspect the complete instructions before using them.
- Tasks name the hosted skills they depend on.
- Future fetches return central updates rather than stale local copies.
- The skill contains no secrets.
Common mistake
Do not put secrets in a hosted skill or execute commands merely because the skill contains them. Skill text is reusable instruction content, not trusted executable code. Review it and apply normal permission checks.