Example skill
Skill polrai-bg/polr-ai-skills/template/skills/example-skill
Public Claude Code plugin marketplace from POLR AI. Install a skill with one command, or fork and run your own. Includes daily-brief and agentic-os.
npx -y skills add polrai-bg/polr-ai-skills --skill example-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
A starter skill that explains the SKILL.md format. Replace this. Triggers on "run the example skill" or "show me the skill template". Says what it does and names its trigger phrases, the way every good description should.
SKILL.md
4.6 KB, 734 tokens by cl100k_base, as published. Nobody here has run it
Example Skill
This is the skill body. Everything below the frontmatter is the instruction set Claude follows once the skill is invoked. Write it the way you would brief a sharp new teammate: concrete, ordered, and unambiguous.
Delete this whole file's contents and write your own. The notes below are a guide to the format, not content to keep.
How a skill is invoked
- Automatically, when the user's request matches your
description. - Manually, by typing
/<plugin-name>:<skill-name>. For this template that would be/example-skill:example-skillonce installed.
Plugin skills are always namespaced by the plugin name, so pick names that read well together.
How to structure the body
Use plain Markdown headings. A reliable shape:
- Trigger phrases: restate the exact phrases that should fire the skill, so behavior is predictable.
- Workflow: numbered steps. Tell Claude what to read, what to compute, and in what order. Be explicit about parallel vs. sequential work.
- Output format: show the exact shape of the result. If it is long, put it
in a
references/file (see below) and point to it. - Rules / guardrails: what to never do, what to confirm before doing, how to handle missing data.
- Examples: a few
"user says X"to"skill does Y"lines remove ambiguity faster than paragraphs of prose.
Bundling supporting files
A skill is a folder, not just one file. You can ship:
example-skill/
├── SKILL.md # this file, the entry point
├── references/ # longer docs the skill reads at runtime
│ └── output-format.md
└── scripts/ # helper scripts the skill can run
└── do-thing.sh
Reference bundled docs by their relative path (e.g. "see
references/output-format.md") and Claude will read them. If a step runs a
bundled script or executable, reference it with the ${CLAUDE_PLUGIN_ROOT}
variable (e.g. ${CLAUDE_PLUGIN_ROOT}/scripts/do-thing.sh) so the path still
resolves after the plugin is installed into Claude Code's cache. Never use
../ to reach outside the skill folder.
Reading the user's own data
If your skill needs the user's files or live data, do NOT bake real data into the skill. Instead:
- Read from files the user keeps in their repo (document the expected paths).
- Pull live data from MCP servers the user connects themselves.
- Ship only fictional placeholders under an
examples/folder, and write aSETUP.mdtelling the user how to wire up their own.
See plugins/daily-brief/ in this repo for a full worked example of that
pattern.
Checklist before you publish
-
descriptionis specific and names trigger phrases. - Folder renamed;
namein frontmatter matches the folder. -
.claude-plugin/plugin.jsonupdated (name, description, keywords). - No real data, emails, names, or credentials anywhere.
- Registered in
.claude-plugin/marketplace.json. - Installed and invoked once locally to confirm it loads.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.