A skill that generates Rust-based skills for Agent. Create HTTP API clients, CLI tools, system utilities, or any task requiring compiled performance.
- Interactive Requirements Gathering: Collects skill specifications through guided prompts
- Specification-Driven Generation: Creates detailed SPEC.md for user approval before building
- Complete Skill Generation: Produces fully-functional Rust skills with build/run scripts
- Automatic Compilation: Builds generated skills with auto-fix for common errors
- Template-Based: Customizable templates for all generated files
rust-skill-creator/
├── SKILL.md # Skill definition with workflow documentation
├── LICENSE.txt # Apache License 2.0
├── scripts/
│ ├── gather_requirements.py # Phase 1: Collect user requirements
│ ├── generate_spec.py # Phase 2: Generate SPEC.md
│ ├── create_skill.py # Phase 4: Generate complete skill
│ └── validate_spec.py # Validate SPEC.md format
├── assets/
│ └── templates/
│ ├── SPEC_TEMPLATE.md # Specification document template
│ ├── SKILL_TEMPLATE.md # Generated skill's SKILL.md template
│ ├── main_template.rs # Rust entry point template
│ ├── cargo_template.toml # Cargo.toml template
│ ├── build_template.sh # Build script template
│ └── run_template.sh # Run script template
└── references/
├── rust-patterns.md # Common Rust patterns (HTTP, JSON, CLI, async)
└── error-handling.md # Compilation error auto-fix strategies
The skill generation follows a 5-phase process:
Collect user needs including:
- Skill name and purpose
- Input parameters (name, type, required)
- Output format and fields
- API endpoints and authentication
- Error handling requirements
Create a specification document containing:
- Skill overview and description
- Input/output specifications
- Technical design (dependencies, API details)
- Generated file structure
Required checkpoint. User must explicitly approve the SPEC.md before proceeding:
- "APPROVED" - continue to skill creation
- Modification requests - update and re-present
- "REJECTED" - abort
Generate the complete skill:
SKILL.mdwith proper frontmatterscripts/build.sh- compiles Rust codescripts/run.sh- executes compiled binaryrust/Cargo.toml- package dependenciesrust/src/main.rs- entry point
Automatic compilation with:
- Runs
cargo build --release - Parses compilation errors
- Attempts auto-fixes (up to 3 attempts)
- Reports success or remaining errors
Each generated skill has this structure:
<skill-name>/
├── SKILL.md # Skill definition
├── scripts/
│ ├── build.sh # Compiles Rust (cargo build --release)
│ └── run.sh # Executes compiled binary
└── rust/
├── Cargo.toml # Package and dependencies
└── src/
└── main.rs # Async main entry point
Default output location for different agent:
Claude Code: ~/.claude/skills/<skill-name>/
Codex: ~/.codex/skills/<skill-name>/
OpenCode: ~/.config/opencode/skills/<skill-name>/
User request: "Create a skill to query weather for a location"
Generated skill:
main.rsuses reqwest to call weather APICargo.tomlincludes reqwest, serde, tokiobuild.shcompiles the binaryrun.shexecutes with location argument
Usage:
<skill-dir>/scripts/build.sh
<skill-dir>/scripts/run.sh "Tokyo"- Python 3.12+
- Rust toolchain (cargo, rustc)
Apache License 2.0 - see LICENSE.txt