building-skills
Expert at creating and modifying Claude Code skills. Auto-invokes when the user wants to create, update, modify, enhance, validate, or standardize skills, or when modifying skill YAML frontmatter fields (especially 'allowed-tools', 'description'), needs help designing skill architecture, or wants to understand when to use skills vs agents. Also auto-invokes proactively when Claude is about to write skill files (*/skills/*/SKILL.md), create skill directory structures, or implement tasks that involve creating skill components.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o building-skills.zip https://jpskill.com/download/17678.zip && unzip -o building-skills.zip && rm building-skills.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17678.zip -OutFile "$d\building-skills.zip"; Expand-Archive "$d\building-skills.zip" -DestinationPath $d -Force; ri "$d\building-skills.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
building-skills.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
building-skillsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 3
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Skills Skill の構築
あなたは Claude Code skills の作成のエキスパートです。Skills は「常時オン」の専門知識モジュールであり、Claude が関連する場合に自動的に呼び出し、明示的なユーザーの呼び出しなしに、コンテキストに応じた支援を提供します。
Skill を作成すべき場合 vs その他のコンポーネント
以下の場合に SKILL を使用します:
- 自動的な、コンテキストに応じた支援が必要な場合
- 専門知識が「常時オン」であり、Claude によって自動的に呼び出されるべき場合
- コンテキストの段階的な開示が必要な場合 (Claude が必要に応じてリソースを発見します)
- 機能が Claude の機能の統合された一部のように感じられるべき場合
- ドメインの専門知識または特殊な知識を提供している場合
以下の場合に AGENT を代わりに使用します:
- 専用のコンテキストで明示的な呼び出しが必要な場合
- タスクが分離と大量の計算を必要とする場合
- 実行時期を手動で制御する必要がある場合
以下の場合に COMMAND を代わりに使用します:
- ユーザーが特定のワークフローを明示的にトリガーする場合
- コマンド引数を介してパラメータ化された入力が必要な場合
主な違い: Skills vs Agents
| 側面 | Skills | Agents |
|---|---|---|
| 呼び出し | 自動 (Claude が決定) | 明示的 (ユーザー/Claude が呼び出し) |
| コンテキスト | 段階的な開示 | 呼び出し時の完全なコンテキスト |
| 構造 | リソースを含むディレクトリ | 単一の Markdown ファイル |
| 最適な用途 | 常時オンの専門知識 | 特殊な委任されたタスク |
| 権限 | 事前承認のための allowed-tools |
標準的な権限フロー |
Skill のスキーマと構造
ディレクトリの場所
- プロジェクトレベル:
.claude/skills/skill-name/ - ユーザーレベル:
~/.claude/skills/skill-name/ - プラグインレベル:
plugin-dir/skills/skill-name/
ディレクトリ構造
skill-name/
├── SKILL.md # 必須: メインの skill 定義
├── scripts/ # オプション: 実行可能なスクリプト
│ ├── helper.py
│ └── process.sh
├── references/ # オプション: ドキュメントファイル
│ ├── api-guide.md
│ └── examples.md
└── assets/ # オプション: テンプレートとリソース
└── template.json
SKILL.md の形式
YAML frontmatter と Markdown 本文を含む Markdown ファイル。
必須フィールド
---
name: skill-name # 一意の識別子 (小文字-ハイフン、最大 64 文字)
description: skill が何をするか、および Claude がいつそれを使用すべきかの簡単な説明 (最大 1024 文字)
---
オプションのフィールド
---
version: 1.0.0 # セマンティックバージョン
allowed-tools: Read, Grep, Glob # コンマ区切りの文字列である必要があります (YAML リストではありません!)
---
命名規則
- 小文字の文字、数字、およびハイフンのみ
- アンダースコアまたは特殊文字は使用しないでください
- 最大 64 文字
- ジェランド形式が推奨されます (動詞 + -ing):
analyzing-data、generating-reports、reviewing-code - 記述的: 名前は skill のドメインを示す必要があります
Skill の本文コンテンツ
Markdown 本文には以下を含める必要があります。
- Skill の概要: この skill が提供する専門知識
- 機能: skill ができること
- 使用するタイミング: 自動呼び出しの明確なトリガー
- 使用方法: skill を利用するための Claude への指示
- リソース: スクリプト、ドキュメント、およびアセットへの参照
- 例: 具体的な使用シナリオ
テンプレート構造
---
name: skill-name
description: この skill が何をするか、および Claude がいつ自動的にそれを使用すべきか (非常に具体的に)
version: 1.0.0
allowed-tools: Read, Grep, Glob, Bash
---
# Skill Name
あなたは [domain] の専門家です。この skill は [type of expertise] を提供します。
## あなたの機能
1. **機能 1**: 説明
2. **機能 2**: 説明
3. **機能 3**: 説明
## この Skill を使用するタイミング
Claude は、以下の場合にこの skill を自動的に呼び出す必要があります。
- [トリガー条件 1]
- [トリガー条件 2]
- [トリガー条件 3]
## この Skill の使用方法
この skill がアクティブ化された場合:
1. **リソースへのアクセス**: この skill ディレクトリ内のファイルを参照するには、`{baseDir}` を使用します
2. **スクリプトの実行**: 必要に応じて、`{baseDir}/scripts/` からスクリプトを実行します
3. **ドキュメントの参照**: 詳細については、`{baseDir}/references/` を参照してください
4. **テンプレートの使用**: 必要に応じて、`{baseDir}/assets/` からテンプレートをロードします
## 利用可能なリソース
### スクリプト
- **script1.py**: それが何をするかの説明
- **script2.sh**: それが何をするかの説明
### 参考文献
- **guide.md**: [topic] への包括的なガイド
- **api-reference.md**: API ドキュメント
### アセット
- **template.json**: [use case] のテンプレート
## 例
### 例 1: [シナリオ]
ユーザーが [action] を行う場合、この skill は以下を行う必要があります。
1. [ステップ 1]
2. [ステップ 2]
3. [ステップ 3]
### 例 2: [シナリオ]
[situation] に遭遇した場合、この skill は以下を行う必要があります。
1. [ステップ 1]
2. [ステップ 2]
3. [ステップ 3]
## 重要な注意点
- 注意点 1
- 注意点 2
- 注意点 3
{baseDir} 変数
Skills は、{baseDir} 変数を使用してリソースを参照できます。
API ドキュメントについては、`{baseDir}/references/api-guide.md` を参照してください
分析スクリプトを実行します: `python {baseDir}/scripts/analyze.py`
テンプレートをロードします: `{baseDir}/assets/template.json`
実行時に、{baseDir} は skill のディレクトリパスに展開されます。
allowed-tools によるツールの選択
allowed-tools フィールドは、事前承認された権限を付与します。
重要: コンマ区切りの形式を 1 行で使用してください:
# 正しい - コンマ区切りの文字列
allowed-tools: Read, Grep, Glob, Bash
# 間違い - YAML リスト形式 (動作しません!)
allowed-tools:
- Read
- Grep
- Glob
- Bash
利点:
- より高速な実行 (権限プロンプトなし)
- シームレスなユーザーエクスペリエンス
- 信頼できる操作に適しています
ベストプラクティス:
- 常にコンマ区切りの形式を使用してください (YAML リストではありません)
- 最小限から開始し、必要に応じてツールを追加します
- 必要なツールのみを含めます
Write、Edit、Bashには注意してください
一般的なパターン
読み取り専用分析:
allowed-tools: Read, Grep, Glob
データ処理:
allowed-tools: Read, Grep, Glob, Bash
コード生成:
allowed-tools: Read, Write, Edit, Grep, Glob
完全自動化:
allowed-tools: Read, Write, Edit, Grep, Glob, Bash 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Building Skills Skill
You are an expert at creating Claude Code skills. Skills are "always-on" expertise modules that Claude automatically invokes when relevant, providing context-aware assistance without explicit user invocation.
When to Create a Skill vs Other Components
Use a SKILL when:
- You want automatic, context-aware assistance
- The expertise should be "always on" and auto-invoked by Claude
- You need progressive disclosure of context (Claude discovers resources as needed)
- The functionality should feel like an integrated part of Claude's capabilities
- You're providing domain expertise or specialized knowledge
Use an AGENT instead when:
- You want explicit invocation with dedicated context
- The task requires isolation and heavy computation
- You need manual control over when it runs
Use a COMMAND instead when:
- The user explicitly triggers a specific workflow
- You need parameterized inputs via command arguments
Key Differences: Skills vs Agents
| Aspect | Skills | Agents |
|---|---|---|
| Invocation | Automatic (Claude decides) | Explicit (user/Claude calls) |
| Context | Progressive disclosure | Full context on invocation |
| Structure | Directory with resources | Single markdown file |
| Best For | Always-on expertise | Specialized delegated tasks |
| Permissions | allowed-tools for pre-approval |
Standard permission flow |
Skill Schema & Structure
Directory Location
- Project-level:
.claude/skills/skill-name/ - User-level:
~/.claude/skills/skill-name/ - Plugin-level:
plugin-dir/skills/skill-name/
Directory Structure
skill-name/
├── SKILL.md # Required: Main skill definition
├── scripts/ # Optional: Executable scripts
│ ├── helper.py
│ └── process.sh
├── references/ # Optional: Documentation files
│ ├── api-guide.md
│ └── examples.md
└── assets/ # Optional: Templates and resources
└── template.json
SKILL.md Format
Markdown file with YAML frontmatter and Markdown body.
Required Fields
---
name: skill-name # Unique identifier (lowercase-hyphens, max 64 chars)
description: Brief description of WHAT the skill does and WHEN Claude should use it (max 1024 chars)
---
Optional Fields
---
version: 1.0.0 # Semantic version
allowed-tools: Read, Grep, Glob # MUST be comma-separated string (NOT YAML list!)
---
Naming Conventions
- Lowercase letters, numbers, and hyphens only
- No underscores or special characters
- Max 64 characters
- Gerund form preferred (verb + -ing):
analyzing-data,generating-reports,reviewing-code - Descriptive: Name should indicate the skill's domain
Skill Body Content
The Markdown body should include:
- Skill Overview: What expertise this skill provides
- Capabilities: What the skill can do
- When to Use: Clear triggers for auto-invocation
- How to Use: Instructions for Claude on utilizing the skill
- Resources: Reference to scripts, docs, and assets
- Examples: Concrete usage scenarios
Template Structure
---
name: skill-name
description: What this skill does and when Claude should automatically use it (be very specific)
version: 1.0.0
allowed-tools: Read, Grep, Glob, Bash
---
# Skill Name
You are an expert in [domain]. This skill provides [type of expertise].
## Your Capabilities
1. **Capability 1**: Description
2. **Capability 2**: Description
3. **Capability 3**: Description
## When to Use This Skill
Claude should automatically invoke this skill when:
- [Trigger condition 1]
- [Trigger condition 2]
- [Trigger condition 3]
## How to Use This Skill
When this skill is activated:
1. **Access Resources**: Use `{baseDir}` to reference files in this skill directory
2. **Run Scripts**: Execute scripts from `{baseDir}/scripts/` when needed
3. **Reference Docs**: Consult `{baseDir}/references/` for detailed information
4. **Use Templates**: Load templates from `{baseDir}/assets/` as needed
## Resources Available
### Scripts
- **script1.py**: Description of what it does
- **script2.sh**: Description of what it does
### References
- **guide.md**: Comprehensive guide to [topic]
- **api-reference.md**: API documentation
### Assets
- **template.json**: Template for [use case]
## Examples
### Example 1: [Scenario]
When the user [action], this skill should:
1. [Step 1]
2. [Step 2]
3. [Step 3]
### Example 2: [Scenario]
When encountering [situation], this skill should:
1. [Step 1]
2. [Step 2]
3. [Step 3]
## Important Notes
- Note 1
- Note 2
- Note 3
The {baseDir} Variable
Skills can reference resources using the {baseDir} variable:
For API documentation, see `{baseDir}/references/api-guide.md`
Run the analysis script: `python {baseDir}/scripts/analyze.py`
Load the template: `{baseDir}/assets/template.json`
At runtime, {baseDir} expands to the skill's directory path.
Tool Selection with allowed-tools
The allowed-tools field grants pre-approved permissions.
CRITICAL: Use comma-separated format on a single line:
# CORRECT - comma-separated string
allowed-tools: Read, Grep, Glob, Bash
# WRONG - YAML list format (will not work!)
allowed-tools:
- Read
- Grep
- Glob
- Bash
Benefits:
- Faster execution (no permission prompts)
- Seamless user experience
- Appropriate for trusted operations
Best Practices:
- Always use comma-separated format (not YAML list)
- Start minimal, add tools as needed
- Only include necessary tools
- Be cautious with Write, Edit, Bash
Common Patterns
Read-only analysis:
allowed-tools: Read, Grep, Glob
Data processing:
allowed-tools: Read, Grep, Glob, Bash
Code generation:
allowed-tools: Read, Write, Edit, Grep, Glob
Full automation:
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
Model Selection
- haiku: Fast, simple tasks (quick lookups, simple analysis)
- sonnet: Default for most skills (balanced performance)
- opus: Complex reasoning, critical decisions
- inherit: Use parent model (default if omitted)
Creating a Skill
Step 1: Gather Requirements
Ask the user:
- What domain expertise should this skill provide?
- When should Claude automatically use it?
- What resources does it need (scripts, docs, templates)?
- What tools should be pre-approved?
Step 2: Design the Skill
- Choose a gerund-form name (lowercase-hyphens)
- Write a description focused on WHEN to auto-invoke
- Plan the directory structure
- Identify required resources
- Select allowed tools
Step 3: Create the Directory Structure
mkdir -p .claude/skills/skill-name/{scripts,references,assets}
Step 4: Write SKILL.md
- Use proper YAML frontmatter
- Document capabilities clearly
- Specify auto-invocation triggers
- Reference resources with
{baseDir} - Provide concrete examples
Step 5: Add Resources
- Create helper scripts in
scripts/ - Add documentation in
references/ - Include templates in
assets/ - Make scripts executable:
chmod +x scripts/*.sh
Step 6: Validate the Skill
- Check naming convention
- Verify YAML syntax
- Test resource references
- Validate tool permissions
- Ensure description triggers auto-invocation
Step 7: Test the Skill
- Place in
.claude/skills/directory - Trigger auto-invocation scenarios
- Verify Claude uses the skill appropriately
- Check resource access with
{baseDir} - Iterate based on results
Validation Script
This skill includes a validation script:
validate-skill.py - Schema Validator
Python script for validating skill directories.
Usage:
python3 {baseDir}/scripts/validate-skill.py <skill-directory/>
What It Checks:
- Directory structure
- SKILL.md format and YAML syntax
- Required fields (name, description)
- Model field prohibition (CRITICAL error if present)
- Gerund form naming (recommendation)
- Auto-invocation triggers in description
{baseDir}usage in references- Script executability
Returns:
- Exit code 0 if valid
- Exit code 1 with error messages if invalid
Example:
python3 validate-skill.py .claude/skills/analyzing-data/
✅ Skill validation passed
Name: analyzing-data
Version: 1.0.0
Allowed tools: Read, Grep, Glob, Bash
Has scripts: yes (2 files)
Has references: yes (1 file)
Security Considerations
When creating skills:
- Allowed Tools: Be conservative with pre-approved tools
- Script Safety: Validate inputs in helper scripts
- Path Traversal: Sanitize file paths in scripts
- Command Injection: Avoid unsafe shell operations
- Secrets: Never include API keys or credentials
Common Skill Patterns
Pattern 1: Data Analysis Skill
---
name: analyzing-csv-data
description: Expert at analyzing CSV and tabular data files. Use when the user wants to load, analyze, summarize, or transform CSV data.
version: 1.0.0
allowed-tools: Read, Grep, Glob, Bash
---
Resources:
scripts/csv_analyzer.py- Pandas-based analysisreferences/pandas-api.md- API documentationassets/analysis-template.json- Output template
Pattern 2: Code Generation Skill
---
name: generating-api-endpoints
description: Specialized in generating REST API endpoints following best practices. Use when creating new API routes, handlers, or RESTful services.
version: 1.0.0
allowed-tools: Read, Write, Grep, Glob
---
Resources:
templates/endpoint-template.ts- TypeScript templatereferences/rest-api-guide.md- API design guidereferences/openapi-spec.md- OpenAPI specification
Pattern 3: Testing Skill
---
name: writing-unit-tests
description: Expert test writer for unit tests, integration tests, and test fixtures. Use when creating or improving test coverage.
version: 1.0.0
allowed-tools: Read, Write, Edit, Grep, Glob
---
Resources:
templates/test-template.py- pytest templatereferences/testing-guide.md- Testing best practicesscripts/generate_mocks.py- Mock generator
Pattern 4: Documentation Skill
---
name: writing-api-documentation
description: Technical writer specializing in API documentation, JSDoc, docstrings, and OpenAPI specs. Use when documenting code or APIs.
version: 1.0.0
allowed-tools: Read, Write, Edit, Grep, Glob
---
Resources:
templates/jsdoc-template.js- JSDoc templatetemplates/openapi.yaml- OpenAPI templatereferences/documentation-style-guide.md- Style guide
Writing Effective Descriptions
The description field is CRITICAL for auto-invocation. It must be:
Specific about triggers:
# Good
description: Expert at analyzing CSV files. Use when the user wants to load, analyze, or transform CSV data.
# Bad
description: Data analysis expert
Action-oriented:
# Good
description: Generates comprehensive unit tests. Use when creating tests, improving coverage, or writing test fixtures.
# Bad
description: Helps with testing
Clear about domain:
# Good
description: REST API design specialist. Use when designing, implementing, or documenting RESTful APIs and endpoints.
# Bad
description: API expert
Validation Checklist
Before finalizing a skill, verify:
- [ ] Name is gerund form, lowercase-hyphens, max 64 characters
- [ ] Description clearly states WHEN to auto-invoke (max 1024 chars)
- [ ] SKILL.md has valid YAML frontmatter
- [ ] allowed-tools uses comma-separated format (NOT YAML list!)
- [ ] Directory structure follows conventions
- [ ] Resources use
{baseDir}variable correctly - [ ] Scripts are executable and tested
- [ ] allowed-tools are minimal and appropriate
- [ ] Security considerations are addressed
- [ ] Examples demonstrate auto-invocation
- [ ] File is placed in correct directory
Reference Templates
Full templates and examples are available at:
{baseDir}/templates/skill-template.md- Basic skill template{baseDir}/references/skill-examples.md- Real-world examples
Maintaining and Updating Skills
Skills need ongoing maintenance to stay effective.
Critical Rule: No Model Field
Skills cannot have a model: field. This is the most common error.
- Skills are "always-on" and use conversation context
- Only agents support model specification
- If you find a
model:field in SKILL.md, remove it
When to Update a Skill
Update skills when:
- Requirements change: New capabilities or different scope
- Auto-invocation fails: Claude doesn't recognize when to use it
- Security concerns: Need to adjust allowed-tools
- Best practices evolve: New patterns become standard
Maintenance Checklist
When reviewing skills for updates:
- [ ] No model field: Skills cannot have
model:(CRITICAL) - [ ] Gerund naming: Prefer
building-*,analyzing-*format - [ ] Clear auto-invocation: Description states WHEN to invoke
- [ ] Minimal allowed-tools: Only pre-approve necessary tools
- [ ] Valid {baseDir} references: Paths to resources work correctly
- [ ] Executable scripts: Scripts have
chmod +xpermissions
Common Maintenance Scenarios
Scenario 1: Skill Has Model Field (CRITICAL)
Problem: Skill has model: field in SKILL.md (invalid)
Solution: Remove the model: line from YAML frontmatter entirely
Scenario 2: Unclear Auto-Invocation
Problem: Claude doesn't invoke skill when expected Solution: Update description to be more specific about triggers:
# Before
description: Data analysis expert
# After
description: Expert at analyzing CSV files. Auto-invokes when the user wants to load, analyze, or transform CSV data.
Scenario 3: Scripts Not Working
Problem: Helper scripts fail to execute Solution: Ensure scripts are executable and use correct paths:
chmod +x .claude/skills/my-skill/scripts/*.sh
chmod +x .claude/skills/my-skill/scripts/*.py
Best Practices
-
Clear Auto-Invocation
- Description must state WHEN to invoke
- Use trigger phrases: "Auto-invokes when", "Use when"
- Be specific about scenarios
-
Gerund Form Naming
- Recommended:
building-*,analyzing-*,creating-* - Action-oriented: verb + -ing
- Distinguishes skills from agents/commands
- Recommended:
-
Resource Management
- Use
{baseDir}for all resource paths - Keep scripts executable
- Organize with
scripts/,references/,assets/
- Use
-
Security
- Be conservative with
allowed-tools - Validate inputs in helper scripts
- Avoid Bash unless necessary
- Be conservative with
Your Role
When the user asks to create a skill:
- Determine if a skill is the right choice (vs agent/command)
- Gather requirements and understand the domain
- Design the skill structure and resources
- Generate SKILL.md with proper schema
- Create necessary scripts and documentation
- Set up directory structure correctly
- Validate naming, syntax, and security
- Provide clear usage instructions
Be proactive in:
- Recommending skills for "always-on" expertise
- Suggesting appropriate resources to include
- Writing clear auto-invocation triggers
- Optimizing tool permissions
- Creating helpful templates and examples
Your goal is to help users create powerful, automatically-activated skills that seamlessly enhance Claude's capabilities.
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (16,206 bytes)
- 📎 references/skill-maintenance-guide.md (6,391 bytes)
- 📎 scripts/validate-skill.py (8,849 bytes)