Skip to content

Commit 05ac208

Browse files
Update Skills Docs (#624)
* Update Skills Docs * remove examples * fix
1 parent b9a3266 commit 05ac208

File tree

2 files changed

+51
-4
lines changed

2 files changed

+51
-4
lines changed

docs/cli/configuration/custom-slash-commands.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ keywords: ['slash commands', 'custom commands', 'commands', 'shortcuts', 'prompt
66

77
Custom slash commands turn repeatable prompts or setup steps into `/shortcuts`. Droid scans a pair of `.factory/commands` folders, turns each file into a command, and pipes the result straight into the conversation or your terminal session.
88

9+
<Note>
10+
**Skills are now user-invokable via slash commands.** You can create skills in `.factory/skills/` that work as both slash commands (user-invoked) and Droid-invocable capabilities. Your existing `.factory/commands/` files continue to work unchanged. For new commands, consider using [skills](/cli/configuration/skills) instead – they offer additional features like supporting files and [invocation control](/cli/configuration/skills#control-who-invokes-a-skill).
11+
</Note>
12+
913
---
1014

1115
## 1 · Discovery & naming

docs/cli/configuration/skills.mdx

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ title: Skills
33
description: Reusable capabilities that your AI agent invokes on demand.
44
keywords: ['skills', 'capabilities', 'tools', 'workflows', 'expertise', 'reusable', 'invoke', 'skill']
55
---
6-
Skills are **reusable capabilities** that your AI agent invokes on demand. They pack instructions, expertise, and tools into a lightweight package.
6+
Skills are **reusable capabilities** that extend what your Droid can do. Create a `SKILL.md` file with instructions, and the Droid adds it to its toolkit. The Droid uses skills when relevant, or you can invoke one directly with `/skill-name`.
77

88
<Tip>
99
Explore the full [skills cookbooks](/guides/skills) for examples.
1010
</Tip>
1111

12+
<Note>
13+
**Custom slash commands have been merged into skills.** A file at `.factory/commands/review.md` and a skill at `.factory/skills/review/SKILL.md` both create `/review` and work the same way. Your existing `.factory/commands/` files keep working. Skills add optional features: a directory for supporting files, frontmatter to [control who can invoke them](#control-who-invokes-a-skill), and the ability for Droids to load them automatically when relevant.
14+
</Note>
15+
1216
**Key properties:**
13-
- **Model-invoked**Droids decide when to use them based on the task, not typed commands
17+
- **Flexible invocation**Both you and the Droid can invoke skills. Type `/skill-name` or let the Droid decide when to use them.
1418
- **Composable** – can be chained together as part of larger workflows
1519
- **Token-efficient** – lightweight and focused, not bloated with unused tools or repeated instructions
1620

@@ -52,7 +56,7 @@ description: Summarize the staged git diff in 3–5 bullets. Use when the user a
5256
3. Call out any migrations, risky areas, or tests that should be run.
5357
```
5458

55-
You can also include additional frontmatter fields such as `allowed-tools` in future iterations; for now, `name` and `description` are the key fields that help Droids discover and use your skill.
59+
You can also include additional frontmatter fields to control behavior. See [Frontmatter reference](#frontmatter-reference) for all available options.
5660

5761
## Where skills live
5862

@@ -95,6 +99,44 @@ In large monorepos, you can either:
9599

96100
Project skills are the primary way to share and standardize capabilities inside an engineering org; personal skills are ideal for individual workflows or experiments.
97101

102+
## Frontmatter reference
103+
104+
Skills support YAML frontmatter fields between `---` markers at the top of your `SKILL.md` file:
105+
106+
```yaml
107+
---
108+
name: my-skill
109+
description: What this skill does and when to use it
110+
user-invocable: true
111+
disable-model-invocation: false
112+
---
113+
114+
Your skill instructions here...
115+
```
116+
117+
| Field | Required | Default | Description |
118+
| :------------------------- | :---------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------- |
119+
| `name` | No | Directory name | Display name for the skill. Lowercase letters, numbers, and hyphens only. |
120+
| `description` | Recommended || What the skill does and when to use it. The Droid uses this to decide when to apply the skill. |
121+
| `user-invocable` | No | `true` | Set to `false` to hide from the `/` slash command menu. Use for background knowledge users shouldn't invoke directly. |
122+
| `disable-model-invocation` | No | `false` | Set to `true` to prevent the Droid from automatically loading this skill. Use for workflows you want to trigger manually with `/skill-name`. |
123+
124+
## Control who invokes a skill
125+
126+
By default, both you and the Droid can invoke any skill. You can type `/skill-name` to invoke it directly, and the Droid can load it automatically when relevant to your conversation. Two frontmatter fields let you restrict this:
127+
128+
- **`disable-model-invocation: true`**: Only you can invoke the skill. Use this for workflows with side effects or that you want to control timing, like `/deploy` or `/send-notification`. You don't want the Droid deciding to deploy because your code looks ready.
129+
130+
- **`user-invocable: false`**: Only the Droid can invoke the skill. Use this for background knowledge that isn't actionable as a command. A `legacy-system-context` skill explains how an old system works. The Droid should know this when relevant, but `/legacy-system-context` isn't a meaningful action for users to take.
131+
132+
### Invocation summary
133+
134+
| Frontmatter | User can `/invoke` | Droid can invoke |
135+
| :------------------------------- | :----------------- | :--------------- |
136+
| (default) | Yes | Yes |
137+
| `disable-model-invocation: true` | Yes | No |
138+
| `user-invocable: false` | No | Yes |
139+
98140
## Quickstart
99141

100142
<Steps>
@@ -124,12 +166,13 @@ Project skills are the primary way to share and standardize capabilities inside
124166
Skills sit alongside other ways of shaping Droid behavior:
125167

126168
- **Custom droids** – define *which* model and tools to use and at what autonomy level; they are full agent configurations.
127-
- **Custom slash commands** – are **user-invoked** macros you call explicitly (e.g., `/review-pr`); they don’t automatically trigger based on the task.
169+
- **Legacy slash commands** (`.factory/commands/`) – user-invoked macros that still work but are now superseded by skills. Skills offer the same `/command` functionality plus optional Droid invocation and supporting files.
128170
- **MCP servers** – expose external systems (APIs, databases, SaaS tools) as tools; they are about *connecting* resources, not encoding your workflow.
129171

130172
Skills are different because they:
131173

132174
- Package **how work should be done** (your engineering playbook) as reusable capabilities.
175+
- Support **flexible invocation** – both you (via `/skill-name`) and the Droid can trigger them, with [fine-grained control](#control-who-invokes-a-skill) over who can invoke what.
133176
- Are **discoverable and composable** – the Droid can chain multiple skills inside a plan.
134177
- Can sit on top of tools, custom droids, and MCP servers to orchestrate them safely.
135178

0 commit comments

Comments
 (0)