From terma
Create, update, and manage Claude Code skills including SKILL.md files, slash commands, directory structures, frontmatter, substitutions, and invocation controls.
How this skill is triggered — by the user, by Claude, or both
Slash command
/terma:skill-managementThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Full docs: https://code.claude.com/docs/en/skills.md
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.npx claudepluginhub bfollington/terma --plugin termaGuides creation of new Claude Code skills from scratch, listing existing user/project skills, samples, current directory, and providing metadata templates for descriptions/tags.
Guides creation of Claude Code skills and slash commands: SKILL.md structure, frontmatter fields, invocation controls, commands vs skills, and best practices.
Guides developers in creating, improving, and organizing SKILL.md files for Claude Code plugins, covering frontmatter, triggers, structure, progressive disclosure, hooks, budgets, and best practices.