Initial commit
This commit is contained in:
196
skills/skill-creator/templates/skill_template.md
Normal file
196
skills/skill-creator/templates/skill_template.md
Normal file
@@ -0,0 +1,196 @@
|
||||
---
|
||||
# ============================================================================
|
||||
# OFFICIAL CLAUDE CODE FIELDS (recognized by Claude Code)
|
||||
# Reference: https://docs.claude.com/en/docs/claude-code/skills.md
|
||||
# ============================================================================
|
||||
|
||||
name: skill-identifier # Required: kebab-case, unique identifier
|
||||
description: | # Required: What it does AND when to activate it
|
||||
Brief description of what this skill does and when to use it.
|
||||
IMPORTANT: Include activation triggers in the description itself since
|
||||
Claude Code only uses the description field for discovery.
|
||||
|
||||
Examples: "Use when...", "Activates for...", "Helps with..."
|
||||
Good: "Generate React components with TypeScript. Use when creating new UI components."
|
||||
Bad: "Helps with components" (too vague)
|
||||
|
||||
allowed-tools: [] # Optional: Restrict to specific tools
|
||||
# Example: allowed-tools: [Read, Grep, Glob] # Read-only skill
|
||||
# Available tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch, Task, etc.
|
||||
|
||||
# ============================================================================
|
||||
# EXTENDED METADATA (not used by Claude Code, but useful for humans/tooling)
|
||||
# These fields are ignored by Claude Code but help with organization
|
||||
# ============================================================================
|
||||
|
||||
version: 1.0.0 # Track changes since skills are files, not versioned packages
|
||||
---
|
||||
|
||||
# Skill Name
|
||||
|
||||
Brief overview of what this skill does (1-2 sentences maximum).
|
||||
|
||||
## When to Use
|
||||
|
||||
- User action or request that triggers this skill
|
||||
- Specific scenario where this skill is helpful
|
||||
- Problem this skill solves
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Required tools/setup (if any)
|
||||
- Expected environment or configuration
|
||||
- Dependencies that must be installed
|
||||
|
||||
## Core Workflow
|
||||
|
||||
### 1. Step One
|
||||
|
||||
Description of first step with details.
|
||||
|
||||
```bash
|
||||
# Example command or code
|
||||
example-command --flag value
|
||||
```
|
||||
|
||||
### 2. Step Two
|
||||
|
||||
Description of second step with examples.
|
||||
|
||||
### 3. Step Three
|
||||
|
||||
Final steps and completion criteria.
|
||||
|
||||
## Best Practices
|
||||
|
||||
- Practice 1: Why and when to apply it
|
||||
- Practice 2: Common pitfall to avoid
|
||||
- Practice 3: Optimization or efficiency tip
|
||||
|
||||
## Example Workflows
|
||||
|
||||
### Scenario 1: [Common Use Case]
|
||||
|
||||
**User Request:** "Help me do X"
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. First action
|
||||
2. Second action
|
||||
3. Expected outcome
|
||||
|
||||
**Example:**
|
||||
|
||||
```typescript
|
||||
// Example code demonstrating the workflow
|
||||
function example() {
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
### Scenario 2: [Advanced Use Case]
|
||||
|
||||
**User Request:** "I need to handle Y edge case"
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. Handle edge case
|
||||
2. Validate result
|
||||
3. Confirm success
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Issue 1: Common Problem
|
||||
|
||||
**Symptom:** What the user sees
|
||||
|
||||
**Solution:**
|
||||
|
||||
- Step 1 to fix
|
||||
- Step 2 to verify
|
||||
- Alternative approach if needed
|
||||
|
||||
### Issue 2: Another Problem
|
||||
|
||||
**Symptom:** What the user sees
|
||||
|
||||
**Solution:**
|
||||
|
||||
- How to resolve
|
||||
- How to prevent in future
|
||||
|
||||
## References
|
||||
|
||||
- [Related Documentation](https://example.com)
|
||||
- [Official Guide](https://example.com)
|
||||
- [Community Resources](https://example.com)
|
||||
|
||||
---
|
||||
|
||||
## Template Notes (Remove before publishing)
|
||||
|
||||
### What Claude Code Actually Uses
|
||||
|
||||
**Claude Code ONLY recognizes these fields:**
|
||||
|
||||
- `name` - Skill identifier (required)
|
||||
- `description` - What it does AND when to activate (required)
|
||||
- `allowed-tools` - Tool restrictions (optional)
|
||||
|
||||
**Extended metadata (ignored by Claude Code, but useful for humans):**
|
||||
|
||||
- `version` - Track changes since skills are files, not versioned packages
|
||||
|
||||
Note: Author info is in the plugin's `plugin.json`, not individual skill files.
|
||||
|
||||
All activation hints, keywords, and patterns should go directly in the `description` field since that's the only field Claude Code uses for skill discovery.
|
||||
|
||||
### File Organization
|
||||
|
||||
Skills can have supporting files loaded progressively:
|
||||
|
||||
```sh
|
||||
skill-name/
|
||||
├── SKILL.md (this file, required)
|
||||
├── reference.md (optional, advanced topics)
|
||||
├── examples.md (optional, detailed examples)
|
||||
├── scripts/ (optional, helper scripts)
|
||||
└── templates/ (optional, code templates)
|
||||
```
|
||||
|
||||
### Activation Best Practices
|
||||
|
||||
**Claude Code only uses the `description` field for discovery!**
|
||||
|
||||
Put ALL activation hints directly in the description:
|
||||
|
||||
```yaml
|
||||
description: |
|
||||
Generate React components with TypeScript and Tailwind CSS.
|
||||
Use when: creating new components, scaffolding UI elements, building design system.
|
||||
Activates for: "create component", "new component", "generate component"
|
||||
```
|
||||
|
||||
**Good description examples:**
|
||||
|
||||
> "Analyze Excel spreadsheets, generate pivot tables, create charts. Use when working with .xlsx files or data analysis requests."
|
||||
>
|
||||
> "Refactor TypeScript imports, organize import statements, remove unused imports. Use when cleaning up imports or seeing import-related errors."
|
||||
|
||||
**Bad description (too vague):**
|
||||
|
||||
> "Helps with data" ❌ - No activation triggers, no use cases
|
||||
|
||||
### Model Selection
|
||||
|
||||
Claude Code automatically picks the appropriate model. The `model` field in YAML is ignored.
|
||||
|
||||
### Tool Restrictions
|
||||
|
||||
Use `allowed-tools` to create read-only or limited-permission skills:
|
||||
|
||||
```yaml
|
||||
allowed-tools: [Read, Grep, Glob] # Read-only, no file modifications
|
||||
```
|
||||
|
||||
Available tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch, Task, etc.
|
||||
Reference in New Issue
Block a user