From core
Create and improve Claude Skills with proper structure, frontmatter, and best practices. Use when creating new skills, improving existing skills, refactoring skill content, or scaffolding skill files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/core:manage-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Firstloop shared skill** (default assumption):
Firstloop shared skill (default assumption):
core or monotemplate pluginsfirstloophq/claude-code-plugins (see meta-skill-management.md)Local project skill:
.claude/skills/<skill-name>/SKILL.md| Scenario | Action |
|---|---|
| "Create a skill for monotemplate" | GitHub issue |
| "Improve the crud skill" | GitHub issue |
| "Add a docker skill to the plugin" | GitHub issue |
| "Create a local skill for this project" | Create in .claude/skills/ |
| "Add a skill just for this repo" | Create in .claude/skills/ |
Create a skill by making a SKILL.md file in .claude/skills/<skill-name>/:
---
name: my-skill-name
description: Brief description of what this skill does and when to use it.
---
# My Skill Name
## Instructions
[Your instructions here]
Every skill needs:
.claude/skills/
└── my-skill/
├── SKILL.md # Main instructions (required)
├── reference.md # Additional details (optional)
└── scripts/ # Utility scripts (optional)
└── helper.py
The description is critical for skill discovery. Include:
Good example:
description: Generate git commit messages by analyzing staged changes. Use when committing code, writing commit messages, or reviewing diffs.
Bad example:
description: Helps with git stuff
For guidance-based skills without code:
---
name: code-review
description: Review code for bugs, style, and best practices. Use when reviewing pull requests, analyzing code quality, or checking for issues.
---
# Code Review
## Process
1. Read the code thoroughly
2. Check for bugs and edge cases
3. Verify style consistency
4. Suggest improvements
## Checklist
- [ ] No obvious bugs
- [ ] Error handling present
- [ ] Consistent naming
- [ ] No security issues
For skills that include executable utilities:
---
name: data-validation
description: Validate data files against schemas. Use when checking CSV, JSON, or config file formats.
---
# Data Validation
## Usage
Run validation:
```bash
python scripts/validate.py input.json schema.json
See reference.md for schema format details.
### Template 3: Domain-Specific Skill
For skills with extensive reference material:
```markdown
---
name: api-integration
description: Integrate with the Acme API. Use when calling Acme endpoints, handling Acme webhooks, or processing Acme data.
---
# Acme API Integration
## Quick Reference
Base URL: `https://api.acme.com/v2`
Auth: Bearer token in header
## Common Operations
**Get user**: `GET /users/{id}`
**Create order**: `POST /orders`
For complete endpoint docs, see [endpoints.md](endpoints.md).
For authentication details, see [auth.md](auth.md).
Claude is smart. Only include information Claude doesn't already know.
[details](reference.md)High freedom (guidelines):
Review the code for potential issues and suggest improvements.
Low freedom (specific steps):
Run exactly: `python scripts/migrate.py --verify --backup`
Do not modify the command.
## Deployment Workflow
1. Run tests: `bun test`
2. Build: `bun run build`
3. If build fails, fix errors and repeat from step 1
4. Deploy: `bun run deploy`
Use descriptive, lowercase names with hyphens:
api-reference.md (good)APIREF.md (bad)scripts/validate-schema.py (good)scripts/vs.py (bad)If the skill isn't triggering when expected, improve the description:
# Before - too vague
description: Helps with database tasks
# After - specific triggers
description: Generate and run database migrations. Use when creating tables, modifying schemas, or updating database structure.
If Claude doesn't handle certain cases, add explicit workflows:
## Edge Cases
### Empty Input
If input is empty, prompt user for required data before proceeding.
### Existing File Conflict
If file already exists, ask user whether to overwrite, merge, or abort.
Replace vague instructions with specific ones:
# Before - ambiguous
Review the code and suggest improvements.
# After - specific
Review the code for:
1. Security vulnerabilities (injection, XSS, auth issues)
2. Performance problems (N+1 queries, unnecessary loops)
3. Error handling gaps
For each issue found, provide:
- Location (file:line)
- Problem description
- Suggested fix
If a skill exceeds 500 lines, consider:
my-skill/
├── SKILL.md # Core instructions only
└── reference/
├── api.md # API details
├── examples.md # Extended examples
└── errors.md # Error handling guide
Add before/after examples to clarify expected behavior:
## Examples
**Input**: User asks "format this JSON"
**Expected**: Format JSON with 2-space indentation, sorted keys
**Input**: User provides malformed JSON
**Expected**: Report specific syntax error location, suggest fix
npx claudepluginhub firstloophq/claude-code-plugins --plugin coreGuides creation of new Claude Code skills from scratch, covering SKILL.md anatomy, YAML frontmatter best practices, trigger phrases, and optional resources like scripts. Triggers on 'create a skill', 'new skill', 'scaffold skill'.
Guides creation and debugging of Claude Code skills: anatomy, frontmatter, progressive disclosure, bundled resources, trigger tuning, and iteration.
Create, improve, and test SKILL.md files to extend Claude Code with project-specific knowledge and reusable workflows.