Last Updated: 2026-01-31
Welcome to Skill Fleet! This guide will walk you through installing, configuring, and creating your first skill.
Skill Fleet is a system for creating, managing, and validating AI agent skills. It uses a 3-phase workflow powered by DSPy:
- Understanding - Analyzes your requirements and creates a plan
- Generation - Generates complete skill content
- Validation - Validates quality and compliance
- Python 3.12 or higher
- uv for Python package management
- An LLM API key (Google Gemini or LiteLLM proxy)
git clone <repository-url>
cd skill-fleet# Sync dependencies with uv
uv sync --group devCreate a .env file in the project root:
# Required: API key for your LLM provider
# Preferred path: LiteLLM proxy
LITELLM_API_KEY=your_litellm_key
LITELLM_BASE_URL=http://localhost:4000
# Fallback direct Gemini key
GOOGLE_API_KEY=your_google_key
# Optional: Database URL (defaults to SQLite)
DATABASE_URL=sqlite:///skill_fleet.db
# Optional: Default user ID
SKILL_FLEET_USER_ID=defaultuv run skill-fleet db initThis creates the necessary tables for job tracking and HITL interactions.
In one terminal, start the API server:
uv run skill-fleet serveThe server will start on http://localhost:8000. You'll see interactive prompts for configuration (or use --auto-accept to skip).
In another terminal, use the chat command for an interactive experience:
uv run skill-fleet chat "Create a Python async/await programming skill"You'll see:
- Real-time progress updates
- Live reasoning/thinking display
- Interactive prompts if clarification is needed
-
Understanding Phase (10-30 seconds)
- Analyzes your task description
- Determines the best taxonomy path
- Identifies prerequisites
- Creates a detailed plan
-
Generation Phase (20-60 seconds)
- Generates complete SKILL.md content
- Includes code examples
- Structures according to best practices
-
Validation Phase (10-20 seconds)
- Checks compliance with agentskills.io standards
- Validates quality metrics
- Generates test cases
After completion, you'll see:
✨ Skill Creation Completed!
📁 Skill saved to: skills/_drafts/<job_id>/<skill-name>
The skill includes:
SKILL.md- The main skill file with instructions- Generated test cases
- Validation report
If the skill looks good, promote it to the main taxonomy:
uv run skill-fleet promote <job_id>Get the job ID from the output of the create command.
For automation or CI/CD:
uv run skill-fleet create "Create a React hooks skill" --auto-approveuv run skill-fleet validate skills/_drafts/<job_id>/<skill-name>uv run skill-fleet listuv run skill-fleet generate-xml -o my_skills.xmlThe system may pause for your input at key points:
- Clarifying Questions - If the task is ambiguous
- Structure Fixes - If name/description needs adjustment
- Preview - To review content before finalizing (optional)
Respond via the interactive prompts in the chat interface.
All skill creation happens asynchronously:
- You submit a task
- The system creates a job and returns a
job_id - The job runs in the background
- You poll for status (automatic in chat mode)
Check job status:
curl http://localhost:8000/api/v1/jobs/<job_id>- CLI Usage Guide - Detailed CLI workflows
- API Reference - REST API documentation
- Workflow Engine - How it works
Try creating skills for:
- Framework documentation (React, Django, FastAPI)
- Best practices (testing, security, performance)
- Workflow guides (CI/CD, deployment, debugging)
Edit src/skill_fleet/core/modules/generation/templates.py to customize:
- Section structure
- Required elements
- Example patterns
Make sure the server is running:
uv run skill-fleet serveCheck the validation output for specific issues:
uv run skill-fleet validate <path> --jsonCommon issues:
- Missing trigger phrases in description
- Invalid kebab-case name
- Missing required sections
Reinitialize the database:
uv run skill-fleet db init --force--force deletes all data.
Edit src/skill_fleet/config/config.yaml:
models:
default: gemini/gemini-3-flash-preview
registry:
gemini/gemini-3-flash-preview:
env: LITELLM_API_KEY
env_fallback: GOOGLE_API_KEYSet where skills are stored:
export SKILL_FLEET_SKILLS_ROOT=/path/to/skillsIf running the server on a different host/port:
export SKILL_FLEET_API_URL=http://localhost:8080-
Start with clear task descriptions
- Include the domain (technical, creative, etc.)
- Mention specific technologies
- Describe the target audience
-
Use interactive mode for new skills
- The chat interface provides better feedback
- HITL helps catch issues early
-
Validate before promoting
uv run skill-fleet validate <path> && uv run skill-fleet promote <job_id>
-
Organize with taxonomy paths
- Use descriptive paths like
technical/python/async - Keep related skills together
- Use descriptive paths like
-
Review test cases
- Generated test cases help verify triggering
- Edge cases highlight potential issues
- Documentation: See
docs/directory - CLI Help:
uv run skill-fleet --help - API Docs:
http://localhost:8000/docs(when server is running)
Welcome to Skill Fleet! Start creating skills that help AI agents work better.