SKILL.md file. 100xprompt discovers it, matches it to the work in front of you, and pulls in the full instructions only at the moment they matter.
The result is an agent that knows how your team does things - how you review code, cut a release, write migrations, or run an audit - without you re-explaining it every time.
Understand what a Skill is
A Skill is a named unit of expertise with three parts:- A description that tells 100xprompt what the Skill is for, so it can decide when to reach for it.
- A set of guardrails (which tools it may use, which model or agent runs it, how much reasoning to apply) that shape how the Skill executes.
- An instruction body - the actual playbook, checklist, or procedure - that gets loaded into the working context when the Skill is invoked.
On-demand
The instruction body stays out of context until a task actually needs it. No permanent prompt bloat.
Reusable
Author once, invoke anywhere - across sessions, projects, and teammates who share the file.
Governed
Declare the tools a Skill may touch and it is held to them for the duration of its work.
Know when to reach for a Skill
You keep re-explaining the same procedure
You keep re-explaining the same procedure
If you keep pasting the same “here’s how we do X” preamble into chats, that preamble is a Skill.
A task has a repeatable, checklist-shaped workflow
A task has a repeatable, checklist-shaped workflow
Security reviews, release checklists, migration steps, incident runbooks - anything with a defined sequence benefits from being captured once.
You want consistent output regardless of who runs it
You want consistent output regardless of who runs it
A Skill encodes your standards so every run - yours or a teammate’s - follows the same rules.
A specialized task deserves tighter guardrails
A specialized task deserves tighter guardrails
When a job should only read files, or should run on a specific model, a Skill lets you pin those constraints in one place.
Reach for a Skill when you’re packaging knowledge and procedure. Reach for a Command when you want a typed shortcut that expands into a prompt, and an Agent when you want a persona with its own model and tool profile. Skills, commands, and agents compose - a Skill can even hand its work to a specific agent.
See how a Skill is discovered and run
You never wire a Skill into a conversation by hand. 100xprompt keeps an index of every available Skill and its description. As you work, it matches the task in front of you against those descriptions and, when there’s a fit, loads the full instruction body just-in-time.- Automatic (just-in-time)
- On demand (slash command)
100xprompt reads each Skill’s
description (and optional when-to-use) and selects a Skill on its own when your task matches. Only the description sits in context up front - the heavier instruction body loads at the moment of use, so a large library of Skills costs you almost nothing until one is actually needed.Write the SKILL.md file
A Skill is a Markdown file named SKILL.md with a YAML frontmatter block on top and your instructions below it. Place it in its own folder under a .100xprompt/skill/ directory (either skill or skills works):
name and description are required. Everything else is optional and lets you tighten how the Skill runs.
Frontmatter fields
| Field | Type | Description |
|---|---|---|
name | string | Required. The Skill’s identifier. This is what you type as /name and how 100xprompt refers to it. Keep it lowercase and hyphenated. |
description | string | Required. One or two sentences on what the Skill does and when to use it. Drives just-in-time selection - make it specific. |
when-to-use | string | Extra guidance surfaced alongside the description to sharpen automatic selection. |
allowed-tools | list | Restricts the Skill to only these tools (e.g. read, grep, glob). Any tool not listed is blocked for the duration of the Skill’s work. |
model | string | Run this Skill on a specific model instead of the session default. |
agent | string | Run this Skill as a particular agent, inheriting that agent’s persona and tool profile. |
argument-hint | string | A short hint about the arguments the Skill expects, shown when you invoke it (e.g. <path> [focus-area]). |
effort | level or number | How much reasoning to apply: low, medium, high, xhigh, max, or a number. |
context | inline | fork | inline (default) runs the Skill in the current turn. fork runs it in a dedicated sub-run so its work stays isolated. |
paths | list | Glob patterns that scope the Skill to matching projects - it’s only offered for automatic selection when at least one file matches. |
disable-model-invocation | boolean | Hide the Skill from automatic selection while keeping it available as a /skill-name command. |
user-invocable | boolean | Set to false to remove the Skill from the slash-command menu (automatic selection still applies). |
The instruction body
Below the frontmatter, write the actual playbook in plain Markdown - checklists, code snippets, do’s and don’ts, links, whatever the task needs. This is what loads into context when the Skill fires. Treat it like the briefing you’d give a sharp new teammate: clear, ordered, and opinionated.Pass arguments to a Skill
Skills accept arguments. Place them in the body using the same placeholders as commands:| Placeholder | Expands to |
|---|---|
$ARGUMENTS | The entire raw argument string. |
$1, $2, $3, … | Positional arguments. The highest-numbered placeholder absorbs everything that remains. |
$1 and $2 substitutes src/api/users.ts for $1 and check rate limiting for $2 before the instructions run.
Skill bodies are treated as instructions, not scripts - placeholders are substituted as text and the guidance is followed by the agent. When a step needs to run a command, the agent uses its normal tools, subject to the Skill’s
allowed-tools.Author your first Skill
Suppose your team has a fixed release checklist you run every version bump. Capture it once as a Skill so any run - yours or a teammate’s - follows the same steps.Create the folder and file
Inside your project’s
.100xprompt/skill/ directory, make a folder named for your Skill and add a SKILL.md:Write the frontmatter
Start with
name and description, then add whatever guardrails fit. The name must match the folder’s intent and is what you’ll type as /release-checklist.Write the instruction body
Below the frontmatter, spell out the procedure. Use
$1, $2, and $ARGUMENTS wherever the Skill should pick up what you pass on the command line.Invoke it
The Skill is now available two ways. Let 100xprompt pick it up automatically when you talk about cutting a release, or invoke it directly and pass the version:
Refine the guardrails
If the Skill should never modify files, drop
bash and edit-family tools from allowed-tools. If it deserves its own isolated run, add context: fork. Tighten description until automatic selection fires exactly when you want it to.Your first Skill is live - reusable across every session in this project.
Compare built-in Skills with your own
100xprompt ships with a set of ready-made Skills, so useful capabilities are available out of the box. It blends them seamlessly with the ones you author.Built-in Skills
Curated Skills that come with 100xprompt. They’re always available and require no setup - just invoke them or let them fire automatically.
Your own Skills
The
SKILL.md files you author. These layer on top of the built-ins and are the way you encode your team’s specific standards and workflows.Scope where a Skill applies
You control both where a Skill lives and when it’s offered:- Project vs. global. A
SKILL.mdunder a project’s.100xprompt/skill/directory is available in that project. Placing it under.100xprompt/skill/in your home directory makes it available everywhere you work. - Path scoping. Add
pathsglobs to auto-scope a Skill to relevant projects. A Skill withpaths: ["**/*.tf"], for example, is only offered for automatic selection when the project actually contains Terraform files. It stays loadable by name regardless. - Visibility. Use
disable-model-invocation: trueto keep a Skill out of automatic selection while leaving it available as a/command, oruser-invocable: falseto do the reverse. - Agent permissions. When a Skill runs under a specific agent, that agent’s permissions apply - an agent that isn’t allowed a given Skill won’t be offered it.
Related
- Commands: typed shortcuts that expand into prompts - pair them with Skills for fast, repeatable workflows.
- Plugins: bundle Skills, commands, and agents into shareable packages your team can install.
- Agents: personas with their own model and tool profile - a Skill can hand its work to one.
Commands
Typed shortcuts that expand into prompts. Pair them with Skills for fast, repeatable workflows.
Plugins
Bundle Skills, commands, and agents into shareable packages your whole team can install.
Agents
Personas with their own model and tool profile - a Skill can hand its work to one.