Some checks failed
CI/CD Pipeline / CI Pipeline (push) Failing after 7m12s
204 lines
5.7 KiB
Markdown
204 lines
5.7 KiB
Markdown
# Skill Creator
|
|
|
|
A tool for creating and managing Mistral Vibe skills that comply with the [Agent Skills specification](https://agentskills.io/specification).
|
|
|
|
## Features
|
|
|
|
- **Skill Scaffold Generation**: Quickly create new skills with proper directory structure
|
|
- **Validation**: Ensure skills follow the Agent Skills specification
|
|
- **Templates**: Pre-built templates for SKILL.md, scripts, and references
|
|
- **Best Practices**: Built-in guidance for creating high-quality skills
|
|
|
|
## Installation
|
|
|
|
The skill_creator is already included in your project at `.vibe/skills/skill_creator/`.
|
|
|
|
## Usage
|
|
|
|
### Create a New Skill
|
|
|
|
```bash
|
|
# Navigate to your project root
|
|
cd /path/to/your/project
|
|
|
|
# Create a new skill
|
|
.vibe/skills/skill_creator/scripts/create_skill.sh my_new_skill
|
|
```
|
|
|
|
This will create a new skill directory at `.vibe/skills/my_new_skill/` with:
|
|
- `SKILL.md` - Main skill file with metadata and instructions
|
|
- `scripts/` - Directory for executable scripts
|
|
- `references/` - Directory for documentation
|
|
- `assets/` - Directory for templates and resources
|
|
|
|
### Create a Composite Skill
|
|
|
|
```bash
|
|
# Create a skill that combines multiple existing skills
|
|
.vibe/skills/skill_creator/scripts/create_composite_skill.sh fullstack-testing \
|
|
bdd_testing unit_testing integration_testing
|
|
```
|
|
|
|
This creates a composite skill that orchestrates multiple component skills:
|
|
- `SKILL.md` - With composite metadata and component list
|
|
- `scripts/main.sh` - Workflow orchestration script
|
|
- `references/INTEGRATION.md` - Integration guide
|
|
- `assets/workflow-diagram.md` - Visual workflow diagrams
|
|
- `README.md` - Comprehensive usage guide
|
|
|
|
### Validate a Skill
|
|
|
|
```bash
|
|
.vibe/skills/skill_creator/scripts/validate_skill.sh .vibe/skills/my_skill
|
|
```
|
|
|
|
The validator checks:
|
|
- ✓ SKILL.md exists
|
|
- ✓ Skill name matches directory name
|
|
- ✓ Name format is valid (lowercase alphanumeric + hyphens)
|
|
- ✓ Description length is appropriate (1-1024 characters)
|
|
- ✓ Optional directories are present
|
|
|
|
## Skill Structure
|
|
|
|
A properly structured skill follows this format:
|
|
|
|
```
|
|
skill-name/
|
|
├── SKILL.md # Required: metadata + instructions
|
|
├── scripts/ # Optional: executable code
|
|
├── references/ # Optional: documentation
|
|
├── assets/ # Optional: templates, resources
|
|
└── ... # Any additional files
|
|
```
|
|
|
|
## SKILL.md Format
|
|
|
|
The `SKILL.md` file must contain YAML frontmatter followed by Markdown content:
|
|
|
|
```markdown
|
|
---
|
|
name: skill-name
|
|
description: Brief description of what this skill does and when to use it
|
|
license: MIT
|
|
metadata:
|
|
author: Your Name
|
|
version: "1.0.0"
|
|
---
|
|
|
|
# Skill Title
|
|
|
|
Detailed description and instructions...
|
|
```
|
|
|
|
### Frontmatter Fields
|
|
|
|
| Field | Required | Description |
|
|
|-------|----------|-------------|
|
|
| `name` | Yes | Skill name (lowercase alphanumeric + hyphens, 1-64 chars) |
|
|
| `description` | Yes | What the skill does and when to use it (1-1024 chars) |
|
|
| `license` | No | License name or reference |
|
|
| `metadata` | No | Additional key-value metadata |
|
|
|
|
### Best Practices for SKILL.md
|
|
|
|
1. **Name**: Use lowercase alphanumeric characters and hyphens only
|
|
2. **Description**: Be specific about functionality and use cases
|
|
3. **Documentation**: Include clear instructions and examples
|
|
4. **Progressive Disclosure**: Keep main file concise, move details to references/
|
|
|
|
## Examples
|
|
|
|
### Creating a BDD Testing Skill
|
|
|
|
```bash
|
|
# Create the skill
|
|
.vibe/skills/skill_creator/scripts/create_skill.sh bdd-testing
|
|
|
|
# Edit the SKILL.md
|
|
# Add BDD-specific instructions, commands, and workflows
|
|
|
|
# Validate the skill
|
|
.vibe/skills/skill_creator/scripts/validate_skill.sh .vibe/skills/bdd-testing
|
|
```
|
|
|
|
### Creating a Database Migration Skill
|
|
|
|
```bash
|
|
.vibe/skills/skill_creator/scripts/create_skill.sh database-migrations
|
|
|
|
# Add migration scripts to scripts/
|
|
# Add documentation to references/
|
|
# Add SQL templates to assets/
|
|
|
|
# Validate
|
|
.vibe/skills/skill_creator/scripts/validate_skill.sh .vibe/skills/database-migrations
|
|
```
|
|
|
|
### Creating a Composite Testing Skill
|
|
|
|
```bash
|
|
# Create a composite skill combining BDD, unit, and integration testing
|
|
.vibe/skills/skill_creator/scripts/create_composite_skill.sh fullstack-testing \
|
|
bdd_testing unit_testing integration_testing
|
|
|
|
# Customize the workflow
|
|
# Edit .vibe/skills/fullstack-testing/scripts/main.sh
|
|
|
|
# Validate the composite skill
|
|
.vibe/skills/skill_creator/scripts/validate_skill.sh .vibe/skills/fullstack-testing
|
|
|
|
# Run the complete testing workflow
|
|
.vibe/skills/fullstack-testing/scripts/main.sh
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### "Skill name doesn't match directory name"
|
|
|
|
The validator converts underscores to hyphens when comparing names. Ensure:
|
|
- Your skill directory name uses underscores (e.g., `my_skill`)
|
|
- The `name` field in SKILL.md uses hyphens (e.g., `my-skill`)
|
|
|
|
### "Description must be 1-1024 characters"
|
|
|
|
Update the description field in SKILL.md to be more concise or more detailed as needed.
|
|
|
|
### "Invalid characters in skill name"
|
|
|
|
Skill names can only contain:
|
|
- Lowercase letters (a-z)
|
|
- Numbers (0-9)
|
|
- Hyphens (-)
|
|
- No spaces, uppercase letters, or special characters
|
|
|
|
## Advanced Usage
|
|
|
|
### Custom Templates
|
|
|
|
You can modify the templates in the skill_creator scripts to match your team's preferences:
|
|
- Edit `create_skill.sh` to change the SKILL.md template
|
|
- Add additional directories or files as needed
|
|
- Customize the example scripts and reference files
|
|
|
|
### Integration with CI/CD
|
|
|
|
Add skill validation to your CI/CD pipeline:
|
|
|
|
```bash
|
|
# In your test script
|
|
.vibe/skills/skill_creator/scripts/validate_skill.sh .vibe/skills/my_skill || exit 1
|
|
```
|
|
|
|
## Contributing
|
|
|
|
To improve the skill_creator:
|
|
|
|
1. Fork the repository
|
|
2. Make your changes to `.vibe/skills/skill_creator/`
|
|
3. Test with existing skills
|
|
4. Submit a pull request
|
|
|
|
## License
|
|
|
|
MIT License - See the `license` field in SKILL.md for details. |