Skip to main content

Crate aigent

Crate aigent 

Source
Expand description

§aigent

A Rust library for managing AI agent skill definitions (SKILL.md files).

Implements the Anthropic agent skill specification with validation, prompt generation, and skill building capabilities.

§Quick Start

use std::path::Path;

// Validate a skill directory
let diags = aigent::validate(Path::new("my-skill"));
let has_errors = diags.iter().any(|d| d.is_error());

// Read skill properties
let props = aigent::read_properties(Path::new("my-skill")).unwrap();
println!("{}", props.name);

Re-exports§

pub use assembler::assemble_plugin;
pub use assembler::AssembleOptions;
pub use assembler::AssembleResult;
pub use assembler::AssembleWarning;
pub use conflict::detect_conflicts;
pub use conflict::detect_conflicts_with_threshold;
pub use fixer::apply_fixes;
pub use formatter::diff_skill;
pub use formatter::format_content;
pub use formatter::format_skill;
pub use formatter::FormatResult;
pub use linter::lint;
pub use parser::find_skill_md;
pub use parser::parse_frontmatter;
pub use parser::parse_optional_frontmatter;
pub use parser::read_body;
pub use parser::read_properties;
pub use parser::CLAUDE_CODE_KEYS;
pub use parser::KNOWN_KEYS;
pub use plugin::validate_agent;
pub use plugin::validate_command;
pub use plugin::validate_cross_component;
pub use plugin::validate_hooks;
pub use plugin::validate_manifest;
pub use plugin::PluginManifest;
pub use prompt::collect_skills;
pub use prompt::collect_skills_verbose;
pub use prompt::estimate_tokens;
pub use prompt::format_budget;
pub use prompt::format_entries;
pub use prompt::to_prompt;
pub use prompt::to_prompt_format;
pub use prompt::PromptFormat;
pub use prompt::SkillEntry;
pub use scorer::score;
pub use scorer::ScoreResult;
pub use structure::validate_structure;
pub use test_runner::format_text as format_test_suite;
pub use test_runner::generate_fixture;
pub use test_runner::run_test_suite;
pub use test_runner::MatchStrength;
pub use test_runner::TestSuiteResult;
pub use tester::test_skill;
pub use tester::TestResult;
pub use validator::discover_skills;
pub use validator::discover_skills_verbose;
pub use validator::known_keys_for;
pub use validator::validate;
pub use validator::validate_metadata;
pub use validator::validate_metadata_with_target;
pub use validator::validate_with_target;
pub use validator::DiscoveryWarning;

Modules§

assembler
Skill-to-plugin assembly: packages skills into Claude Code plugins. Skill-to-plugin assembly: packages skill directories into a Claude Code plugin.
builder
Skill builder: deterministic and LLM-enhanced skill generation.
conflict
Cross-skill conflict detection for skill collections. Cross-skill conflict detection for skill collections.
diagnostics
Structured diagnostics for validation, linting, and error reporting. Structured diagnostics for validation, linting, and error reporting.
errors
Error types for skill operations.
fixer
Auto-fix application for fixable diagnostics. Auto-fix application for fixable diagnostics.
formatter
SKILL.md formatting: canonical key ordering and markdown cleanup. SKILL.md formatting: canonical key ordering, consistent quoting, and markdown cleanup.
linter
Semantic lint checks for skill quality improvement. Semantic lint checks for SKILL.md quality improvement.
models
Data model for SKILL.md frontmatter properties.
parser
SKILL.md frontmatter parser.
plugin
Plugin ecosystem validation: manifest, hooks, agents, commands. Plugin ecosystem validation: hooks, agents, commands, manifest, and cross-component consistency.
prompt
Multi-format prompt generation for LLM injection.
scorer
Quality scoring for skill best-practices compliance. Quality scoring for SKILL.md files.
structure
Directory structure validation for skill packages. Directory structure validation for skill packages.
test_runner
Fixture-based skill testing: run test suites defined in tests.yml. Fixture-based skill testing: run test suites defined in tests.yml.
tester
Skill tester and previewer for evaluation-driven development. Skill tester and previewer for evaluation-driven development.
validator
Skill directory and metadata validator.

Structs§

BuildResult
Result of skill generation.
ClarityAssessment
Clarity assessment result.
Diagnostic
A structured diagnostic message from validation or linting.
SkillProperties
Parsed properties from a SKILL.md frontmatter.
SkillSpec
User input for skill generation.

Enums§

AigentError
Errors that can occur during skill operations.
Severity
Severity of a diagnostic message.
SkillTemplate
Skill template variant for init and build.
ValidationTarget
Validation target profile for controlling which fields are considered known.

Traits§

LlmProvider
Trait for LLM text generation providers.

Functions§

assess_clarity
Evaluate if a purpose description is clear enough for autonomous generation.
build_skill
Build a complete skill from a specification.
derive_name
Derive a kebab-case skill name from a natural language description.
init_skill
Initialize a skill directory with a template SKILL.md.
interactive_build
Run an interactive build session, prompting for confirmation at each step.
is_regular_file
Returns true if the path is a regular file (not a symlink).

Type Aliases§

Result
Convenience alias for Result<T, AigentError>.