Compare commits

..

1 Commits

Author SHA1 Message Date
Claude
13530b1747 docs: Add skills frontmatter field documentation
Document the `skills` frontmatter field added in v2.0.43 for declaring
skills to auto-load for subagents and commands. This helps ensure skills
persist across context compaction by explicitly declaring required skills.

- Add skills field to agent-development SKILL.md frontmatter fields section
- Add skills field to command-development frontmatter-reference.md
- Update examples, validation checklists, and best practices
2025-12-11 10:39:03 +00:00
4 changed files with 87 additions and 21 deletions

View File

@@ -1,24 +1,5 @@
# Changelog # Changelog
## Unreleased
- Fixed marketplace auto-installation failure during native install. Workaround: If you encounter "officialMarketplaceAutoInstallFailReason: unknown" in ~/.claude.json, clear the officialMarketplaceAutoInstall* fields and restart Claude to trigger marketplace installation in interactive mode
## 2.0.67
- Claude now suggests prompts to speed up your workflow: press Tab to accept or Enter to submit
- Thinking mode is now enabled by default for Opus 4.5
- Thinking mode configuration has moved to /config
- Added search functionality to `/permissions` command with `/` keyboard shortcut for filtering rules by tool name
- Show reason why autoupdater is disabled in `/doctor`
- Fixed false "Another process is currently updating Claude" error when running `claude update` while another instance is already on the latest version
- Fixed MCP servers from `.mcp.json` being stuck in pending state when running in non-interactive mode (`-p` flag or piped input)
- Fixed scroll position resetting after deleting a permission rule in `/permissions`
- Fixed word deletion (opt+delete) and word navigation (opt+arrow) not working correctly with non-Latin text such as Cyrillic, Greek, Arabic, Hebrew, Thai, and Chinese
- Fixed `claude install --force` not bypassing stale lock files
- Fixed consecutive @~/ file references in CLAUDE.md being incorrectly parsed due to markdown strikethrough interference
- Windows: Fixed plugin MCP servers failing due to colons in log directory paths
## 2.0.65 ## 2.0.65
- Added ability to switch models while writing a prompt using alt+p (linux, windows), option+p (macos). - Added ability to switch models while writing a prompt using alt+p (linux, windows), option+p (macos).
@@ -42,7 +23,6 @@
- VSCode: Added copy-to-clipboard button on code blocks and bash tool inputs - VSCode: Added copy-to-clipboard button on code blocks and bash tool inputs
- VSCode: Fixed extension not working on Windows ARM64 by falling back to x64 binary via emulation - VSCode: Fixed extension not working on Windows ARM64 by falling back to x64 binary via emulation
- Bedrock: Improve efficiency of token counting - Bedrock: Improve efficiency of token counting
- Bedrock: Add support for `aws login` AWS Management Console credentials
- Unshipped AgentOutputTool and BashOutputTool, in favor of a new unified TaskOutputTool - Unshipped AgentOutputTool and BashOutputTool, in favor of a new unified TaskOutputTool
## 2.0.62 ## 2.0.62

View File

@@ -93,6 +93,11 @@ Found 3 issues:
<link to file and line with full sha1 + line range for context> <link to file and line with full sha1 + line range for context>
🤖 Generated with [Claude Code](https://claude.ai/code)
<sub>- If this code review was useful, please react with 👍. Otherwise, react with 👎.</sub>
--- ---
- Or, if you found no issues: - Or, if you found no issues:
@@ -103,6 +108,8 @@ Found 3 issues:
No issues found. Checked for bugs and CLAUDE.md compliance. No issues found. Checked for bugs and CLAUDE.md compliance.
🤖 Generated with [Claude Code](https://claude.ai/code)
--- ---
- When linking to code, follow the following format precisely, otherwise the Markdown preview won't render correctly: https://github.com/anthropics/claude-code/blob/c21d3c10bc8e898b7ac1a2d745bdc9bc4e423afe/package.json#L10-L15 - When linking to code, follow the following format precisely, otherwise the Markdown preview won't render correctly: https://github.com/anthropics/claude-code/blob/c21d3c10bc8e898b7ac1a2d745bdc9bc4e423afe/package.json#L10-L15

View File

@@ -42,6 +42,7 @@ assistant: "[How assistant should respond and use this agent]"
model: inherit model: inherit
color: blue color: blue
tools: ["Read", "Write", "Grep"] tools: ["Read", "Write", "Grep"]
skills: skill-name-1, skill-name-2
--- ---
You are [agent role description]... You are [agent role description]...
@@ -159,6 +160,35 @@ tools: ["Read", "Write", "Grep", "Bash"]
- Testing: `["Read", "Bash", "Grep"]` - Testing: `["Read", "Bash", "Grep"]`
- Full access: Omit field or use `["*"]` - Full access: Omit field or use `["*"]`
### skills (optional)
Declare skills to auto-load when this agent is invoked.
**Format:** Comma-separated list of skill names
```yaml
skills: database-migration, postgres-ops
```
**Purpose:** Ensures specific skills are always available to the agent, regardless of context matching. This is especially useful for:
- Skills that should persist across context compaction
- Specialized agents that always need certain domain knowledge
- Ensuring consistent agent behavior with required skills
**Example:**
```yaml
---
name: db-admin
description: Use this agent for database administration tasks...
model: inherit
color: cyan
tools: ["Bash", "Read", "Write"]
skills: database-migration, sql-optimization
---
```
**Best practice:** Only declare skills essential to the agent's core function. Let context-triggered skills load naturally for optional capabilities.
## System Prompt Design ## System Prompt Design
The markdown body becomes the agent's system prompt. Write in second person, addressing the agent directly. The markdown body becomes the agent's system prompt. Write in second person, addressing the agent directly.
@@ -355,6 +385,7 @@ Output: [What to provide]
| model | Yes | inherit/sonnet/opus/haiku | inherit | | model | Yes | inherit/sonnet/opus/haiku | inherit |
| color | Yes | Color name | blue | | color | Yes | Color name | blue |
| tools | No | Array of tool names | ["Read", "Grep"] | | tools | No | Array of tool names | ["Read", "Grep"] |
| skills | No | Comma-separated names | skill-a, skill-b |
### Best Practices ### Best Practices

View File

@@ -12,6 +12,7 @@ description: Brief description
allowed-tools: Read, Write allowed-tools: Read, Write
model: sonnet model: sonnet
argument-hint: [arg1] [arg2] argument-hint: [arg1] [arg2]
skills: skill-a, skill-b
--- ---
Command prompt content here... Command prompt content here...
@@ -321,6 +322,51 @@ disable-model-invocation: true
- Document why in command comments - Document why in command comments
- Consider if command should exist if always manual - Consider if command should exist if always manual
### skills
**Type:** String (comma-separated list)
**Required:** No
**Default:** None
**Purpose:** Declare skills to auto-load when this command executes. Ensures specific skills are always available regardless of context matching.
**Examples:**
```yaml
skills: database-migration, sql-optimization
```
**When to use:**
1. **Commands requiring domain knowledge:** Ensure relevant skills load
```yaml
---
description: Run database migration
skills: database-migration, postgres-ops
---
```
2. **Skills that should persist across compaction:** Force-load skills that might otherwise be lost
```yaml
---
description: Complex multi-step workflow
skills: workflow-skill, validation-skill
---
```
3. **Specialized commands:** Commands that always need specific expertise
```yaml
---
description: Generate API documentation
skills: api-documentation, openapi-spec
---
```
**Best practices:**
- Only declare skills essential to the command's function
- Use skill names exactly as defined in SKILL.md frontmatter
- Keep the list focused (2-4 skills max)
- Let context-triggered skills load naturally for optional capabilities
## Complete Examples ## Complete Examples
### Minimal Command ### Minimal Command
@@ -451,6 +497,7 @@ Before committing command:
- [ ] model is valid value if specified - [ ] model is valid value if specified
- [ ] argument-hint matches positional arguments - [ ] argument-hint matches positional arguments
- [ ] disable-model-invocation used appropriately - [ ] disable-model-invocation used appropriately
- [ ] skills references valid skill names if specified
## Best Practices Summary ## Best Practices Summary
@@ -460,4 +507,5 @@ Before committing command:
4. **Choose right model:** Use haiku for speed, opus for complexity 4. **Choose right model:** Use haiku for speed, opus for complexity
5. **Manual-only sparingly:** Only use disable-model-invocation when necessary 5. **Manual-only sparingly:** Only use disable-model-invocation when necessary
6. **Clear descriptions:** Make commands discoverable in `/help` 6. **Clear descriptions:** Make commands discoverable in `/help`
7. **Test thoroughly:** Verify frontmatter works as expected 7. **Declare essential skills:** Use skills field for domain knowledge that must persist
8. **Test thoroughly:** Verify frontmatter works as expected