#![warn(missing_docs)]
pub mod assembler;
pub mod builder;
pub mod conflict;
pub mod diagnostics;
pub mod errors;
pub mod fixer;
pub mod formatter;
pub(crate) mod fs_util;
pub mod linter;
pub mod models;
pub mod parser;
pub mod plugin;
pub mod prompt;
pub mod scorer;
pub mod structure;
pub mod test_runner;
pub mod tester;
pub mod validator;
pub use assembler::{assemble_plugin, AssembleOptions, AssembleResult, AssembleWarning};
pub use conflict::{detect_conflicts, detect_conflicts_with_threshold};
#[doc(inline)]
pub use diagnostics::{Diagnostic, Severity, ValidationTarget};
#[doc(inline)]
pub use errors::{AigentError, Result};
pub use fixer::apply_fixes;
pub use formatter::{diff_skill, format_content, format_skill, FormatResult};
pub use fs_util::is_regular_file;
pub use linter::lint;
#[doc(inline)]
pub use models::SkillProperties;
pub use parser::{
find_skill_md, parse_frontmatter, parse_optional_frontmatter, read_body, read_properties,
CLAUDE_CODE_KEYS, KNOWN_KEYS,
};
pub use plugin::{
validate_agent, validate_command, validate_cross_component, validate_hooks, validate_manifest,
PluginManifest,
};
pub use prompt::{
collect_skills, collect_skills_verbose, estimate_tokens, format_budget, format_entries,
to_prompt, to_prompt_format, PromptFormat, SkillEntry,
};
pub use scorer::{score, ScoreResult};
pub use structure::validate_structure;
pub use test_runner::{
format_text as format_test_suite, generate_fixture, run_test_suite, MatchStrength,
TestSuiteResult,
};
pub use tester::{test_skill, TestResult};
pub use validator::{
discover_skills, discover_skills_verbose, known_keys_for, validate, validate_metadata,
validate_metadata_with_target, validate_with_target, DiscoveryWarning,
};
#[doc(inline)]
pub use builder::{
assess_clarity, build_skill, derive_name, init_skill, interactive_build, BuildResult,
ClarityAssessment, LlmProvider, SkillSpec, SkillTemplate,
};