원클릭으로
skill-template
Skill structure, frontmatter options, and writing guidelines. Reference for creating Claude Code skills.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Skill structure, frontmatter options, and writing guidelines. Reference for creating Claude Code skills.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | skill-template |
| description | Skill structure, frontmatter options, and writing guidelines. Reference for creating Claude Code skills. |
| user-invocable | true |
Reference documentation for creating Claude Code skills with actionable, prescriptive instructions.
Use /create-skill <name> to create a new skill with guided workflow.
.claude/skills/<skill-name>/SKILL.md
---
name: skill-name
description: What this skill does. Claude uses this to decide when to load it.
user-invocable: true # Set false to hide from /menu (reference content)
disable-model-invocation: true # Set true to prevent auto-loading (manual only)
argument-hint: [arg1] [arg2] # Shown during autocomplete
allowed-tools: Read, Grep # Restrict tools when skill is active
context: fork # Run in isolated subagent
agent: Explore # Subagent type when context: fork
---
# Skill Title
Your prescriptive, actionable instructions here.
| Field | Required | Description |
|---|---|---|
name | No | Display name (defaults to directory name). Lowercase, hyphens, max 64 chars. |
description | Yes | What it does and when to use it. Claude uses this for auto-loading. |
user-invocable | No | false = hide from / menu. Use for background knowledge. Default: true |
disable-model-invocation | No | true = only manual /name invocation. Use for side-effects. Default: false |
argument-hint | No | Hint shown during autocomplete, e.g., [filename] [format] |
allowed-tools | No | Comma-separated tools Claude can use without permission |
context | No | fork = run in isolated subagent context |
agent | No | Subagent type when context: fork (Explore, Plan, general-purpose) |
| Type | user-invocable | disable-model-invocation | Use for |
|---|---|---|---|
| Reference | false | (default) | Conventions, patterns, style guides. Claude loads automatically. |
| Task | (default) | true | Deployments, commits, side-effects. Manual trigger only. |
| Hybrid | (default) | (default) | Both auto-load and manual invocation work. |
Skills must be prescriptive and actionable. Vague principles don't change outputs.
# INCORRECT - vague principle
Names should be descriptive and reveal intent.
# CORRECT - actionable pattern
## Function Names
**Pattern**: `<verb>_<noun>` in `snake_case`
| Verb | When to use | Example |
|------|-------------|---------|
| `get_` | Retrieve from memory/cache | `get_user_by_id` |
| `fetch_` | Retrieve from external source | `fetch_api_data` |
| `create_` | Instantiate new object | `create_session` |
Show exactly what to do and what to avoid:
```python
# CORRECT - descriptive name with verb_noun pattern
def fetch_user_by_email(email: str) -> User:
"""Fetch user from database by email address."""
...
# INCORRECT - generic name, no verb
def get_data(x):
...
```
Tables are scannable and enforceable:
| Element | Convention | Example |
|---------|------------|---------|
| Functions | `verb_noun` | `fetch_user`, `validate_input` |
| Variables | `snake_case` | `user_count`, `is_valid` |
| Classes | `PascalCase` | `SearchIndex`, `UserSession` |
When applicable, show how to verify compliance using the validate-code skill:
## Validation
Run checks via the `validate-code` skill:
```bash
uv run .claude/scripts/validate_code.py # all checks
uv run .claude/scripts/validate_code.py --lint --type # specific checks
uv run .claude/scripts/validate_code.py --docstring <path> # scoped to path
## Size Guidelines
- Keep `SKILL.md` under **500 lines**
- Move detailed reference material to separate files in the skill directory
- Reference supporting files from SKILL.md:
```markdown
## Additional Resources
- For complete API details, see [reference.md](reference.md)
- For usage examples, see [examples.md](examples.md)
| Variable | Description |
|---|---|
$ARGUMENTS | All arguments passed to skill |
$ARGUMENTS[N] or $N | Specific argument by index (0-based) |
${CLAUDE_SESSION_ID} | Current session ID |
Example:
---
name: fix-issue
description: Fix a GitHub issue
argument-hint: [issue-number]
---
Fix GitHub issue $ARGUMENTS following our coding standards.
my-skill/
├── SKILL.md # Main instructions (required)
├── template.md # Template for Claude to fill in
├── examples/
│ └── sample.md # Example output
└── scripts/
└── validate.sh # Script Claude can execute
After creating the SKILL.md, register the skill in the system:
Add an entry to .claude/manifest.json in the skills array:
{
"name": "my-skill",
"category": "conventions",
"description": "Short description for auto-loading decisions"
}
| Field | Description |
|---|---|
name | Must match directory name |
category | One of: conventions, assessment, templates, utilities |
description | Brief description (used by manifest consumers) |
Add the skill name to the appropriate category in .claude/CLAUDE.md:
**Categories**:
- **Conventions**: `frameworks`, ..., `my-new-skill`
- **Assessment**: `maintainability`, `testability`
- **Templates**: `plan-template`, ...
- **Utilities**: `run-python-safely`, ...
If the skill is added to any agent's depends_on list in manifest.json, regenerate bundles:
uv run .claude/scripts/generate_bundles.py
Note: Only add skills to agent depends_on lists if the agent needs that skill's context. Most new skills won't need this step.
Before finalizing a skill, verify:
user-invocable / disable-model-invocation settingsmanifest.json with correct categorydepends_on)Google-style docstring conventions for Python code. Apply when writing or reviewing functions, classes, or modules that need documentation.
Python naming conventions for this codebase. Apply when writing or reviewing Python code including functions, classes, variables, and constants.
Python type hint conventions for this codebase. Apply when writing or reviewing Python code that needs type annotations on functions, classes, or variables.
Essential Pythonic idioms and conventions. Apply when writing or reviewing Python code to ensure idiomatic patterns like comprehensions, built-in functions, context managers, and unpacking.
Python code organization conventions for this codebase. Apply when structuring modules, organizing imports, designing file layouts, or moving functions/classes within or between files. Use PROACTIVELY when users request to check code organization, move code, or clean up and reorganize a module.
Refactoring complex functions into smaller, pure helper functions. Apply when function complexity is exceeded or when extracting helper functions during refactoring. If tasked with fixing ruff lint errors related to complexity, ALWAYS trigger this skill.