Files
Gabriel Radureau 89f17cba7d
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Failing after 7m12s
🔧 chore: fix skill naming and gitea actions compatibility (related to #2)
2026-04-06 16:56:11 +02:00

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.