From terma
Create, update, and manage Claude Code skills including SKILL.md files, slash commands, directory structures, frontmatter, substitutions, and invocation controls.
npx claudepluginhub bfollington/terma --plugin termaThis skill uses the workspace's default tool permissions.
Full docs: https://code.claude.com/docs/en/skills.md
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
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.