docs: skills (#6062)

This commit is contained in:
dianed-square
2025-12-17 11:04:13 -08:00
committed by GitHub
parent d9b447d683
commit 0051b33142
24 changed files with 465 additions and 19 deletions
+112
View File
@@ -0,0 +1,112 @@
---
title: Skills Extension
description: Load reusable instruction sets that teach goose specific workflows
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { PlatformExtensionNote } from '@site/src/components/PlatformExtensionNote';
import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';
The Skills extension loads *skills* — reusable sets of instructions that teach goose how to perform specific tasks or follow particular workflows.
goose automatically discovers skills at startup and uses them when relevant to your request. goose skills are compatible with Claude Desktop's skill format, so skills you create for one tool work with both. To learn about creating skills and how goose uses them, see [Using Skills](/docs/guides/context-engineering/using-skills).
## Configuration
<PlatformExtensionNote/>
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
<GooseBuiltinInstaller
extensionName="Skills"
description="Load and use skills from the .claude/skills or .goose/skills directories"
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to `Toggle Extensions`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Toggle Extensions
◆ Enable extensions: (use "space" to toggle and "enter" to submit)
// highlight-start
│ ● skills
// highlight-end
└ Extension settings updated successfully
```
</TabItem>
</Tabs>
## Example Usage
Let's say you have a skill that goose discovers on startup in `~/.config/goose/skills/deploy/SKILL.md`:
```markdown
---
name: production-deploy
description: Safe deployment procedure for production environment
---
# Production Deployment
## Pre-deployment Checklist
1. Ensure all tests pass
2. Check staging environment is stable
3. Notify #deployments channel
## Deployment Steps
1. Create release branch from main
2. Run `npm run build:prod`
3. Deploy to staging first, then production
4. Monitor error rates for 30 minutes
```
### goose Prompt
```
Deploy the current branch to production
```
### goose Output
:::note Desktop
I'll help you deploy the current branch to production. Let me first load the production deployment skill to follow the safe deployment procedure.
I can see you're on the **`my-feature-branch`** branch with some untracked files. Before proceeding with production deployment, I need to follow the safe deployment procedure.
#### ⚠️ Pre-deployment Confirmation Required
According to the production deployment skill, I need to complete the following checklist:
**Pre-deployment Checklist**
1. **Ensure all tests pass** - Have tests been run?
2. **Check staging environment is stable** - Has this been deployed to staging first?
3. **Notify #deployments channel** - Should I notify the team?
**Deployment Steps (once confirmed)**
1. Create release branch from main
2. Run `npm run build:prod`
3. Deploy to staging first, then production
4. Monitor error rates for 30 minutes
---
**Before I proceed, please confirm:**
1. ✅ Have all tests passed for the `my-feature-branch` branch?
2. ✅ Has this been tested on staging?
3. ✅ Should I notify the #deployments channel?
4. ✅ Are you sure you want to deploy the `my-feature-branch` branch (not `main`) to production?
Please confirm these items and I'll proceed with the deployment.
:::