with one click
skill-management
// Create, update, and manage Claude Code skills. Use when working with SKILL.md files, slash commands, or extending Claude's capabilities. Use when this capability is needed.
// Create, update, and manage Claude Code skills. Use when working with SKILL.md files, slash commands, or extending Claude's capabilities. Use when this capability is needed.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | skill-management |
| description | Create, update, and manage Claude Code skills. Use when working with SKILL.md files, slash commands, or extending Claude's capabilities. Use when this capability is needed. |
| metadata | {"author":"bfollington"} |
Full docs: https://code.claude.com/docs/en/skills.md
| Location | Path | Scope |
|---|---|---|
| Personal | ~/.claude/skills/<name>/SKILL.md | All your projects |
| Project | .claude/skills/<name>/SKILL.md | This project only |
| Plugin | <plugin>/skills/<name>/SKILL.md | Where enabled |
| Enterprise | Managed settings | All org users |
Priority: enterprise > personal > project. Plugin skills use plugin:skill namespace.
my-skill/
āāā SKILL.md # Required - main instructions
āāā reference.md # Optional - detailed docs (loaded on demand)
āāā examples/ # Optional - example outputs
āāā scripts/ # Optional - executable scripts
Keep SKILL.md under 500 lines; move detailed reference to separate files.
---
name: skill-name # Display name (defaults to directory name)
description: What it does # RECOMMENDED - helps Claude decide when to use
argument-hint: [issue-number] # Shown in autocomplete
disable-model-invocation: true # Only user can invoke via /name
user-invocable: false # Only Claude can invoke (hidden from / menu)
allowed-tools: Read, Grep, Glob # Restrict tool access
model: opus # Model override (sonnet, opus, haiku)
context: fork # Run in isolated subagent
agent: Explore # Subagent type when context: fork
hooks: ... # Skill-scoped hooks
---
All fields optional. Only description is recommended.
Formatting purposes: all times it would be ! I have written āļø.
| Variable | Description |
|---|---|
$ARGUMENTS | All arguments passed to skill |
$ARGUMENTS[N] / $N | Specific argument (0-indexed) |
${CLAUDE_SESSION_ID} | Current session ID |
āļø`command` | Dynamic injection - runs before sending |
If $ARGUMENTS not in content, args appended as ARGUMENTS: <value>.
| Setting | User invokes | Claude invokes | In context |
|---|---|---|---|
| (default) | Yes | Yes | Description |
disable-model-invocation: true | Yes | No | Not loaded |
user-invocable: false | No | Yes | Description |
Add context: fork to run in isolation. Skill content becomes the subagent's task.
---
name: deep-research
context: fork
agent: Explore # or Plan, general-purpose, or custom agent name
---
Research $ARGUMENTS thoroughly...
Built-in agents: Explore, Plan, general-purpose. Custom agents from .claude/agents/.
Shell commands run BEFORE content sent to Claude:
---
name: pr-summary
---
PR diff: āļø`gh pr diff`
PR comments: āļø`gh pr view --comments`
Summarize this PR...
Include "ultrathink" anywhere in skill content to enable extended thinking.
Reference skill (conventions/guidelines):
---
name: api-conventions
description: API design patterns for this codebase
---
When writing API endpoints:
- Use RESTful naming
- Return consistent error formats
Task skill (user-triggered action):
---
name: deploy
description: Deploy to production
disable-model-invocation: true
context: fork
---
Deploy $ARGUMENTS:
1. Run tests
2. Build
3. Push to deployment target
Read-only skill (restricted tools):
---
name: safe-reader
description: Explore without modifying
allowed-tools: Read, Grep, Glob
---
Restrict in /permissions:
Skill - deny all skillsSkill(name) - exact matchSkill(name *) - prefix match with argsdisable-model-invocation: trueSLASH_COMMAND_TOOL_CHAR_BUDGET to override.Converted and distributed by TomeVault ā claim your Tome and manage your conversions.