Recommended Claude Code Skills | How to Use All 42 Curated Types
Claude Code Skills can be overwhelming when it comes to choosing which ones to use. This article consolidates all major patterns — the 7 bundled skills, Plugin-based skills, and custom skills — into a single comprehensive table, organized by acquisition method, with key points on SKILL.md design and troubleshooting checks, all grounded in official documentation.
The first place to start is the 7 bundled skills — no installation required, ready to use immediately. /simplify, /debug, /security-review, and /batch are available from the moment a session starts, letting you build habits around quality review and debugging while keeping the Skill learning curve to a minimum.
If you want to consolidate git → push → PR into a single command, the commit-commands Plugin's /commit-commands:commit-push-pr is the fastest route. In any environment where gh CLI is authenticated, it runs end-to-end from auto-generating a commit message to creating the pull request, eliminating repetitive boilerplate.
When you want your organization's conventions or naming rules to be always available, a custom Skill created by placing a single ~/.claude/skills/<name>/SKILL.md file is the optimal solution. The official recommendation is to keep it under 500 lines; if it exceeds that, split the reference material into separate files and link to them from SKILL.md.
目次 (14)
- Before Choosing a Skill — 3 Acquisition Methods and Decision Criteria
- Complete Skill Reference Table — Bundled, Plugin-based, and Custom Patterns in One View
- Table 2: Complete SKILL.md Frontmatter Field Reference
- Practical Tips for Choosing Frontmatter
- Table 3: Access Control, Scope, and Security Settings Reference
- 3 Settings to Configure First When Deploying to an Organization
- Table 4: Troubleshooting — Symptoms, Causes, and Remedies
- Recommended Adoption Roadmap Using the Complete Skill Tables
- Stage 1: Spend One Week Getting the Most Out of the 7 Bundled Skills
- Stage 2: Consolidate Your Git Workflow with the commit-commands Plugin
- Stage 3: Keep Your Organization's Conventions Resident in a Personal Skill
- Stage 4: Integrate Deploy-Type Skills into a Manual Approval Workflow
- Sources (Primary Information)
- Related Articles
Before Choosing a Skill — 3 Acquisition Methods and Decision Criteria
There are 3 ways to obtain Claude Code Skills: Bundled / Plugin-based / Custom. You can avoid confusion by choosing based on the following criteria.
If you want something working right now, use the bundled skills. No installation needed — /simplify and /debug are available from the very start of a session. If you want to consolidate git, PR, and deploy into one flow, installing a Plugin is the fastest path. Installing just commit-commands combines commit → push → PR creation into a single command. If you want to keep your organization's naming conventions and deploy procedures permanently available to Claude, custom skills are the best option. Simply place a SKILL.md file in ~/.claude/skills/ and it becomes active across all projects.
The following section presents all Skills confirmed from official sources in a single table.
Complete Skill Reference Table — Bundled, Plugin-based, and Custom Patterns in One View
The table below consolidates all Skills confirmed from the Anthropic official documentation (Command Reference) and the official GitHub repository (anthropics/claude-code plugins). Plugin-based Skills that contain multiple skills per plugin are expanded into separate rows. Custom skill patterns are excerpted from examples in the official documentation.
If you are reading this for the first time, focus only on the top 7 "Bundled" rows. Once you have a grasp of these 7 skills — available with no installation from the very start — you can expand your view to the Plugin-based and custom rows without getting lost in the 41-row table.
| Category | Skill Name | Acquisition | Primary Use | How to Invoke | Recommended | Notes |
|---|---|---|---|---|---|---|
| Bundled | /simplify |
Standard | Reviews recently changed files from 3 perspectives (reuse, quality, efficiency) and applies fixes | /simplify [focus] or automatic |
★★★ | Generates 3 parallel agents — relatively high token consumption |
| Bundled | /batch |
Standard | Splits large-scale changes across an entire codebase into 5–30 units and executes them with parallel background agents | /batch <instruction> or automatic |
★★★ | Requires a git repository; each unit automatically creates a PR |
| Bundled | /debug |
Standard | Enables debug logging and reads session logs to troubleshoot issues | /debug [description] or automatic |
★★★ | Log capture starts from the point it is run within a session |
| Bundled | /loop |
Standard | Repeatedly runs a prompt while a session is open; omit interval for automatic pacing | /loop [interval] [prompt] or automatic |
★★ | Uses the prompt from .claude/loop.md if it exists. Alias: /proactive |
| Bundled | /claude-api |
Standard | Loads Claude API reference material suited to the project language, covering tool use, streaming, and batch | /claude-api [migrate|managed-agents-onboard] or automatic |
★★ (API projects) | Auto-activates when anthropic / @anthropic-ai/sdk is imported |
| Bundled | /fewer-permission-prompts |
Standard | Scans transcripts and adds an allowlist of common read-only Bash and MCP tool calls to .claude/settings.json |
/fewer-permission-prompts |
★★ | Modifies project settings.json — review beforehand is recommended |
| Bundled | /security-review |
Standard | Analyzes pending changes on the current branch for security vulnerabilities (injection, authentication, data exposure) | /security-review |
★★★ | Based on git diff; targets staged changes only |
| Plugin: commit-commands | commit |
commit-commands Plugin |
Creates a git commit with an auto-generated commit message based on staged and unstaged changes | /commit-commands:commit |
★★★ | Auto-generates commit message only; push is a separate command |
| Plugin: commit-commands | commit-push-pr |
commit-commands Plugin |
Runs commit → push → pull request creation end-to-end | /commit-commands:commit-push-pr |
★★★ | Requires gh CLI |
| Plugin: commit-commands | clean_gone |
commit-commands Plugin |
Cleans up local branches that have been deleted from the remote | /commit-commands:clean_gone |
★★ | Dedicated to local branch cleanup |
| Plugin: pr-review-toolkit | comment-analyzer Agent |
pr-review-toolkit Plugin |
Analyzes the accuracy and maintainability of PR comments and annotations (comment quality, documentation, technical debt) | /pr-review-toolkit:comment-analyzer or automatic |
★★ | Operates as an Agent; recommended to use alongside reviews |
| Plugin: pr-review-toolkit | pr-test-analyzer Agent |
pr-review-toolkit Plugin |
Analyzes test coverage quality in PRs (behavioral coverage, gaps, edge cases) | /pr-review-toolkit:pr-test-analyzer or automatic |
★★★ | Highly effective at discovering PRs with insufficient tests |
| Plugin: pr-review-toolkit | silent-failure-hunter Agent |
pr-review-toolkit Plugin |
Detects error handling and silent failures (catch blocks, error logging, fallbacks) | /pr-review-toolkit:silent-failure-hunter or automatic |
★★★ | Detects easily overlooked empty catch implementations |
| Plugin: pr-review-toolkit | type-design-analyzer Agent |
pr-review-toolkit Plugin |
Evaluates type design quality on a 1–10 scale (encapsulation, invariants, type usefulness) | /pr-review-toolkit:type-design-analyzer or automatic |
★★ | For TypeScript / typed language projects |
| Plugin: pr-review-toolkit | code-reviewer Agent |
pr-review-toolkit Plugin |
General code quality review (CLAUDE.md compliance, style, bug detection) | /pr-review-toolkit:code-reviewer or automatic |
★★★ | Especially effective when a CLAUDE.md with conventions exists |
| Plugin: pr-review-toolkit | code-simplifier Agent |
pr-review-toolkit Plugin |
Code simplification and refactoring (readability, complexity, redundancy) | /pr-review-toolkit:code-simplifier or automatic |
★★ | Suggests refactoring only; application is manual |
| Plugin: plugin-dev | Hook Development Skill |
plugin-dev Plugin |
Design and implement Hooks API and event-driven automation | Automatic via trigger phrases like create a hook |
★★ | Specialized Skill for Plugin developers |
| Plugin: plugin-dev | MCP Integration Skill |
plugin-dev Plugin |
Integrate Model Context Protocol servers | Automatic via trigger phrases like add MCP server |
★★ | Focused on .mcp.json configuration |
| Plugin: plugin-dev | Plugin Structure Skill |
plugin-dev Plugin |
Plugin organization and manifest configuration | Automatic via trigger phrases like plugin structure |
★★ | Assists with plugin.json manifest writing |
| Plugin: plugin-dev | Plugin Settings Skill |
plugin-dev Plugin |
Settings patterns using .claude/plugin-name.local.md |
Automatic via trigger phrases like plugin settings |
★ | Dedicated to per-project settings file management |
| Plugin: plugin-dev | Command Development Skill |
plugin-dev Plugin |
Design and define slash commands with frontmatter | Automatic via trigger phrases like create a slash command |
★★ | For Plugin command developers |
| Plugin: plugin-dev | Agent Development Skill |
plugin-dev Plugin |
Design and define autonomous sub-agents with frontmatter | Automatic via trigger phrases like create an agent |
★★ | For Plugin agent developers |
| Plugin: plugin-dev | Skill Development Skill |
plugin-dev Plugin |
Skill creation and progressive disclosure design | Automatic via trigger phrases like create a skill |
★★ | Includes a guide to improving Skill description |
| Plugin: agent-sdk-dev | /new-sdk-app |
agent-sdk-dev Plugin |
Generates boilerplate for a new Claude Agent SDK application (TypeScript / Python) via an interactive wizard | /new-sdk-app <project-name> |
★★★ | Includes automatic installation of the latest SDK version and type checking |
| Plugin: agent-sdk-dev | agent-sdk-verifier-py Agent |
agent-sdk-dev Plugin |
Verifies Python Agent SDK apps (SDK installation, usage patterns, security settings, error handling) | Automatic or manual invocation | ★★ | Includes .env / API key exposure checks |
| Plugin: agent-sdk-dev | agent-sdk-verifier-ts Agent |
agent-sdk-dev Plugin |
Verifies TypeScript Agent SDK apps (tsconfig, type safety, SDK usage patterns, error handling) | Automatic or manual invocation | ★★ | Includes tsconfig.json configuration checks |
| Plugin: code-review | code-review command |
code-review Plugin |
Reviews PRs with 4 parallel agents (CLAUDE.md compliance, bug detection, history analysis); reports only findings with 80+ confidence | /code-review |
★★★ | Closed, draft, and already-reviewed PRs are automatically excluded |
| Plugin: feature-dev | feature-dev command |
feature-dev Plugin |
Launches a 7-phase feature development workflow (Discovery → Exploration → Questions → Architecture → Implementation → Review → Summary) | /feature-dev |
★★★ | Suitable for large feature development with multiple parallel agents |
| Plugin: feature-dev | code-explorer Agent |
feature-dev Plugin |
Deeply analyzes existing codebase features and reports entry points, data flow, and architecture | Auto-launched in Phase 2 / manual | ★★ | Read-only exploration agent |
| Plugin: feature-dev | code-architect Agent |
feature-dev Plugin |
Designs architecture and implementation blueprints for features in parallel with multiple approaches | Auto-launched in Phase 4 / manual | ★★★ | Lets you choose from multiple design proposals |
| Plugin: feature-dev | code-reviewer Agent |
feature-dev Plugin |
Parallel review from 3 perspectives (bugs, quality issues, CLAUDE.md compliance); reports only issues with 80%+ confidence | Auto-launched in Phase 6 / manual | ★★★ | Confidence filter reduces false positives |
| Custom: Reference type | api-conventions |
Custom (Personal / Project) | Keeps codebase-specific API design conventions (REST naming, error formats, validation) permanently available to Claude | Automatic via description match / manual via /<skill-name> |
★★★ | Loaded only when needed, saving context compared to writing in CLAUDE.md |
| Custom: Task type | deploy |
Custom (Personal / Project) | Defines a procedure for test → build → push to deploy target. Use disable-model-invocation: true to prevent accidental auto-invocation |
/<skill-name> manual only |
★★★ | Use allowed-tools: Bash(./deploy.sh) to pre-approve the executable |
| Custom: Task type | commit |
Custom (Personal / Project) | Turns your own commit message conventions and staging procedures into a Skill | /<skill-name> manual only |
★★ | May be unnecessary if you already use the commit-commands Plugin |
| Custom: Dynamic injection type | pr-summary |
Custom (Personal / Project) | Dynamically injects !gh pr diff / !gh pr view --comments to pass live PR data to Claude in real time for summary generation |
/<skill-name> manual |
★★★ | Use context: fork + agent: Explore for isolated context execution |
| Custom: Dynamic injection type | session-logger |
Custom (Personal / Project) | Logs execution to logs/${CLAUDE_SESSION_ID}.log; automatic management of session-specific files |
Automatic via description match / manual via /<skill-name> |
★ | Uses ${CLAUDE_SESSION_ID} variable substitution |
| Custom: Codebase explanation type | explain-code |
Custom (Personal / Project) | Explains code using 4 elements: analogies (everyday comparisons), ASCII diagrams, step-by-step walkthroughs, and pitfalls | Automatic via phrases like How does this work? / /<skill-name> |
★★★ | The first example in the official tutorial; ideal for beginners |
| Custom: Visualization type | codebase-visualizer |
Custom (Personal / Project) | Runs a Python script to generate an interactive HTML tree view (codebase-map.html) of the codebase |
Automatic via Visualize this codebase / /<skill-name> |
★★ | Requires allowed-tools: Bash(python *); uses only Python built-in libraries |
| Plugin: Other | explanatory-output-style |
explanatory-output-style Plugin |
Adds educational insights and commentary about implementation choices to Claude's responses | Automatic after installation | ★★ | For developers learning from code reviews |
| Plugin: Other | learning-output-style |
learning-output-style Plugin |
Claude responds in an interactive learning mode for skill-building | Automatic after installation | ★★ | For educational and mentoring use |
| Plugin: Other | frontend-design Skill |
frontend-design Plugin |
Guides and implements frontend design patterns | Automatic via trigger phrases / manual | ★★ | Specialized Skill for frontend projects |
| Plugin: Other | writing-rules Skill |
hookify Plugin |
Provides writing rules when creating custom hooks | Automatic via phrases like create a hook |
★ | Skill exclusive to the hookify Plugin |
Total Skills in this table: 7 Bundled + 24 Plugin-based + 7 Custom + 4 Other Plugins = 42 total.
Table 2: Complete SKILL.md Frontmatter Field Reference
The frontmatter in SKILL.md gives you full control over when, who, and how a Skill is invoked. The table below consolidates all fields and string substitution variables confirmed from the official frontmatter reference. All fields are optional; only description is "recommended."
| Field / Variable | Type | Required/Optional | Purpose | Example Value | Source |
|---|---|---|---|---|---|
name |
string | Optional | Display name for the Skill. If omitted, the directory name is used. Lowercase, numbers, and hyphens only; max 64 characters | my-skill |
Official |
description |
string | Recommended | The Skill's purpose and auto-trigger conditions. Claude uses this to decide when to use the Skill. If omitted, the first body paragraph is used. Truncated at 1,536 characters combined with when_to_use |
"Explains code with diagrams. Use when..." |
Official |
when_to_use |
string | Optional | Additional context for when Claude should invoke the Skill (trigger phrases, example requests). Added to description and counted toward the 1,536-character limit |
"Use when user asks 'how does X work?'" |
Official |
argument-hint |
string | Optional | Argument hint displayed during autocomplete | [issue-number] / [filename] [format] |
Official |
arguments |
string or list | Optional | Named positional arguments for $name substitution. Accepts a space-separated string or a YAML list |
arguments: [issue, branch] → $issue $branch |
Official |
disable-model-invocation |
boolean | Optional | When true, blocks Claude from auto-invoking the Skill. Only /name manual invocation works. Also prevents preloading into sub-agents. Default: false |
true |
Official |
user-invocable |
boolean | Optional | When false, hides the Skill from the / menu. Claude can still use it as background knowledge. Default: true |
false |
Official |
allowed-tools |
string or list | Optional | Tools Claude can use without permission while the Skill is active. Other tools are still governed by permission settings | Bash(git add *) Bash(git commit *) |
Official |
model |
string | Optional | Model to use while the Skill is active. Applied to the remainder of the current turn. Use inherit to retain the session model |
inherit / claude-opus-4-8 |
Official |
effort |
string | Optional | Thinking effort level while the Skill is active. Overrides the session effort. Model-dependent | low / medium / high / xhigh / max |
Official |
context |
string | Optional | When set to fork, runs in an isolated context as a sub-agent. Has no access to conversation history |
fork |
Official |
agent |
string | Optional | Sub-agent type to use when context: fork is set. Built-in options (Explore/Plan/general-purpose) or a custom agent in .claude/agents/ |
Explore / Plan / general-purpose |
Official |
hooks |
object | Optional | Hook configuration scoped to the Skill's lifecycle | hooks: {on_exit: ...} |
Official |
paths |
string or list | Optional | Glob patterns that restrict auto-invocation. The Skill is auto-loaded only when working on matching files. Useful in monorepos | "packages/frontend/**" |
Official |
shell |
string | Optional | Shell to use for !`command` and ```! blocks. bash (default) or powershell |
bash / powershell |
Official |
$ARGUMENTS |
variable | — | All arguments passed when the Skill is invoked. If $ARGUMENTS is not present in the Skill, ARGUMENTS: <value> is appended at the end |
/fix-issue 123 → $ARGUMENTS = 123 |
Official |
$ARGUMENTS[N] / $N |
variable | — | Accesses a specific argument by 0-based index. Shell-style quoting treats multi-word phrases as a single argument | $ARGUMENTS[0] / $0 |
Official |
${CLAUDE_SESSION_ID} |
variable | — | The current session ID. Used for log file naming and creating session-specific files | logs/${CLAUDE_SESSION_ID}.log |
Official |
${CLAUDE_EFFORT} |
variable | — | The current effort level string. Used to adapt Skill instructions to the active effort setting | low / medium / high / xhigh / max |
Official |
${CLAUDE_SKILL_DIR} |
variable | — | Absolute path to the directory containing the Skill's SKILL.md. Used to reference bundled scripts |
python ${CLAUDE_SKILL_DIR}/scripts/run.py |
Official |
Frontmatter total: 15 fields + 6 variables = 21 entries.
Practical Tips for Choosing Frontmatter
description is the single field that most determines whether a Skill succeeds or fails. When Claude decides whether to load a Skill, it matches on this description and when_to_use. Put the primary use case at the very beginning so that even when the 1,536-character cut for the Skill list kicks in, the important keywords survive.
Always set disable-model-invocation: true for Skills with side effects (deploy, commit, sending email). If Claude decides from the conversation context that "now is the right time" and auto-executes, you lose control. This setting is essential for any workflow that requires manual approval.
context: fork is effective for long-running research tasks or independent generation tasks. However, if you attach it to a reference-type Skill (one that simply makes conventions available, like api-conventions), the sub-agent receives the conventions but has no actionable prompt to run, and it will fire and do nothing. Only use context: fork on Skills that are meant to be executed as tasks.
Table 3: Access Control, Scope, and Security Settings Reference
Skill access control is structured across 4 layers: frontmatter settings, permission rules, environment variables, and scope. The table below consolidates all settings confirmed from the official Skills documentation and the official discover-plugins documentation.
| Setting Key | Scope | Effect | Config File / Location | Example Value |
|---|---|---|---|---|
disable-model-invocation: true |
Individual Skill | Completely blocks Claude from auto-invoking. Only /<skill-name> manual invocation works. The Skill's description is no longer included in context |
SKILL.md frontmatter | disable-model-invocation: true |
user-invocable: false |
Individual Skill | Hides the Skill from the user's / menu. Claude can still use it as background knowledge, but users cannot directly invoke it |
SKILL.md frontmatter | user-invocable: false |
allowed-tools |
Individual Skill | Pre-approves the listed tools for use while the Skill is active. Other tools are managed by normal permission settings | SKILL.md frontmatter | Bash(git add *) Bash(git commit *) |
Skill deny rule |
Session / Project | Blocks Claude from invoking all Skills | Deny rule in /permissions |
Skill |
Skill(name) deny rule |
Session / Project | Blocks Claude from invoking only the specified Skill. Exact match | Deny rule in /permissions |
Skill(deploy) |
Skill(name *) deny rule |
Session / Project | Blocks invocation of the specified Skill for any arguments via prefix match | Deny rule in /permissions |
Skill(deploy *) |
Skill(name) allow rule |
Session / Project | Allows Claude to invoke only the specified Skill (used in combination with deny rules) | Allow rule in /permissions |
Skill(commit) |
disableSkillShellExecution: true |
Project / Admin settings | Stops all !`command` dynamic context injection. Each command is replaced with [shell command execution disabled by policy]. Bundled and managed Skills are excluded |
.claude/settings.json or admin settings |
"disableSkillShellExecution": true |
| Scope: Enterprise | Organization-wide | Skills distributed from admin settings take highest priority and override same-named Personal / Project Skills | Admin settings (admin-distributed) | — |
| Scope: Personal | All projects | Skills under ~/.claude/skills/. Second priority after Enterprise |
~/.claude/skills/<skill-name>/SKILL.md |
— |
| Scope: Project | Current project only | Skills under .claude/skills/. Third priority after Personal |
.claude/skills/<skill-name>/SKILL.md |
— |
| Scope: Plugin | Where Plugin is enabled | Skills in <plugin>/skills/<skill-name>/SKILL.md. Uses <plugin-name>:<skill-name> namespacing, so no conflicts with others |
Automatically placed on Plugin install | commit-commands:commit |
| Scope priority (same-named Skills) | All scopes | Enterprise > Personal > Project. Plugin Skills have namespacing so there are no conflicts | — | — |
| Live change detection | Personal / Project | Monitors file changes in ~/.claude/skills/ / .claude/skills/ and reflects them in the session without restarting |
File system monitoring | — |
| Monorepo nested detection | Project | Automatically detects nested skills directories like packages/frontend/.claude/skills/ when working on files in subdirectories |
Any subdirectory under .claude/skills/ |
— |
--add-dir + skills exception |
Session | The .claude/skills/ directory in a directory added with --add-dir is auto-loaded (other .claude/ settings are not loaded, but Skills are an exception) |
CLI flag | claude --add-dir /path/to/shared-skills |
| Plugin install scope: User | Plugin | Installs for your personal use across all projects. The default scope | /plugin install <name> |
— |
| Plugin install scope: Project | Plugin | Added to .claude/settings.json. All repository collaborators can use it |
.claude/settings.json |
"enabledPlugins": [...] |
| Plugin install scope: Local | Plugin | Local only; not shared with collaborators | Local settings file | — |
| Plugin install scope: Managed | Plugin | Installed by admins via admin settings. Users cannot modify | Admin settings | — |
Total access control settings: 20 rows.
3 Settings to Configure First When Deploying to an Organization
When deploying Claude Code across an organization, start by adding disableSkillShellExecution: true to the admin settings. This blocks the path where users create Skills with !`command` to freely execute shell commands. Next, centrally manage Plugin installation at the Managed scope so that everyone uses the same version of Plugin Skills. Finally, set disable-model-invocation: true on deploy-type Skills to ensure Claude cannot deploy to production automatically. Configuring these 3 settings significantly reduces the risk of accidental operations while preserving flexibility.
Table 4: Troubleshooting — Symptoms, Causes, and Remedies
Common issues encountered when operating Skills, consolidated from the official troubleshooting section and real-world experience.
| Symptom | Cause | Remedy | Reference |
|---|---|---|---|
| Skill does not auto-trigger as expected | The description lacks keywords that users would naturally use |
1. Check whether the Skill appears in /skills. 2. Add trigger phrases to description. 3. Rephrase your request. 4. Manually invoke with /<skill-name> |
Official |
| Skill auto-triggers too frequently | description is too broad and matches unrelated conversations |
Narrow the description to more specific conditions. For Skills with side effects, set disable-model-invocation: true |
Official |
| Skill description is truncated and keywords stop matching | When there are many Skills, the character budget for descriptions runs short. Combined description + when_to_use is cut at 1,536 characters |
Place the primary use case at the beginning of description. You can also raise the limit via the SLASH_COMMAND_TOOL_CHAR_BUDGET environment variable |
Official |
| Skill stops working mid-session in long sessions | An old Skill was dropped after auto-compaction. The 25,000-token re-attach budget is filled starting from the most recent Skills, excluding older ones | Invoke the affected Skill again to restore its full content. Or start a fresh session with /clear |
Official |
!`command` dynamic injection does not work |
disableSkillShellExecution: true is set |
If configured in admin settings, users cannot change it. Check your own settings and consult your admin if needed | Official |
Sub-agent fires but does nothing when context: fork is set |
context: fork is attached to a reference-type Skill (one that only defines conventions). A fork without a task receives guidelines but has no actionable prompt |
Use context: fork only on Skills meant to be executed as tasks. Reference-type Skills should run inline (default) |
Official |
Plugin Skill does not appear in the / menu |
/reload-plugins was not run after installing the Plugin |
Run /reload-plugins. If it still doesn't appear, delete ~/.claude/plugins/cache and restart Claude Code |
Official |
| Skill content stops influencing behavior after the first response | Skill content is injected only once as a message during a session; it is not reloaded in later turns | Write rules that should be followed throughout a task as standing instructions (in the form of "always do X"). Distinguish them from one-time procedural steps | Official |
| A same-named Skill exists in multiple scopes and the wrong one activates | Scope priority: Enterprise > Personal > Project. Higher scope overrides lower | Use /skills to check which Skill is currently active and which scope it comes from. Remove unintended Skills from the higher scope |
Official |
| A newly saved SKILL.md is not recognized | When a top-level skills directory that did not exist before the session started is added, Claude Code is not watching that directory | Restart Claude Code to add the new directory to its watch list. Changes within existing directories are reflected live | Official |
Total troubleshooting entries: 10 rows.
Recommended Adoption Roadmap Using the Complete Skill Tables
Based on the 4 tables above, here is a 4-stage adoption flow. Each stage is independent, so you can start from whichever phase you are at.
Stage 1: Spend One Week Getting the Most Out of the 7 Bundled Skills
No installation needed. Just inserting /simplify, /debug, and /security-review before and after your daily commits will give you visibility into what Claude is doing.
Stage 2: Consolidate Your Git Workflow with the commit-commands Plugin
Install the commit-commands Plugin and make /commit-commands:commit-push-pr part of your daily routine. The majority of your git workflow consolidates into a single command, reducing repetitive tasks.
Stage 3: Keep Your Organization's Conventions Resident in a Personal Skill
Write your organization's or team's conventions into ~/.claude/skills/api-conventions/SKILL.md and keep them resident at the Personal scope. Compared to writing long conventions in CLAUDE.md, this reduces the context load on conversations because the Skill is only loaded when needed.
Stage 4: Integrate Deploy-Type Skills into a Manual Approval Workflow
Create a deploy-type Skill with disable-model-invocation: true and integrate it into a manual approval workflow. Use allowed-tools: Bash(./deploy.sh) to limit pre-approved tools and make explicit the range of actions Claude can execute automatically.
The 3 core principles that the official documentation recommends for operations are: keep SKILL.md under 500 lines, move long reference material to separate files, and place the primary use case at the very beginning of description (Source: Extending Claude with Skills).
Sources (Primary Information)
- Extending Claude with Skills — Claude Code Official
- Command Reference — Claude Code Official
- Discover and Install Plugins from the Marketplace — Claude Code Official
- Plugin Reference — Claude Code Official
- anthropics/claude-code plugins — GitHub
- Agent Skills Open Standard
- Sub-Agents — Claude Code Official
Related Articles
- Getting Started with Custom Claude Skills — Building a Minimal Working SKILL.md
- The Structure and Creation of Claude Code Marketplace
- Recommended Claude Code Plugins + All Categories
- Introduction to Claude Code — 9 Features That Work Even for Non-Engineers
- Claude Code Scheduling — 4 Methods and Their Pitfalls