Skip to content

Commit 6892fbc

Browse files
committed
feat(server): add skill generator for SKILL.md creation
Add two new MCP tools for generating Claude Code skills: - `generate_skill` - builds context and prompt for LLM generation - `save_skill` - validates and saves generated SKILL.md Key features: - Token-efficient template (<500 tokens) focused on bash commands - Progressive loading pattern: ls, cat, grep, node - LazyLock pre-compiled regexes for performance - JSDoc metadata parsing from TypeScript files - Comprehensive test coverage (550 tests) New modules: - skill/parser.rs - TypeScript file parser - skill/context.rs - Skill context builder - skill/template.rs - Handlebars template rendering
1 parent a18c8f4 commit 6892fbc

File tree

13 files changed

+2793
-10
lines changed

13 files changed

+2793
-10
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ mcp-files = { path = "crates/mcp-files" }
3030
mcp-introspector = { path = "crates/mcp-introspector" }
3131
mcp-server = { path = "crates/mcp-server" }
3232
rayon = "1.11"
33+
regex = "1.12"
3334
rmcp = "0.10"
3435
schemars = "1.1.0"
3536
serde = "1.0"

crates/mcp-server/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ path = "src/main.rs"
1717
anyhow = { workspace = true }
1818
chrono = { workspace = true, features = ["serde"] }
1919
dirs = { workspace = true }
20+
handlebars = { workspace = true }
2021
mcp-codegen = { workspace = true }
2122
mcp-core = { workspace = true }
2223
mcp-files = { workspace = true }
2324
mcp-introspector = { workspace = true }
25+
regex = { workspace = true }
2426
rmcp = { workspace = true, features = ["server", "transport-io", "macros"] }
2527
schemars = { workspace = true, features = ["uuid1", "chrono04"] }
2628
serde = { workspace = true, features = ["derive"] }

crates/mcp-server/src/lib.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,16 @@
5050
//! - **Discoverable**: grep-friendly headers for tool discovery
5151
5252
pub mod service;
53+
pub mod skill;
5354
pub mod state;
5455
pub mod types;
5556

5657
pub use service::GeneratorService;
5758
pub use state::StateManager;
5859
pub use types::{
59-
CategorizedTool, GeneratedServerInfo, IntrospectServerParams, IntrospectServerResult,
60-
ListGeneratedServersParams, ListGeneratedServersResult, PendingGeneration,
61-
SaveCategorizedToolsParams, SaveCategorizedToolsResult, ToolGenerationError, ToolMetadata,
60+
CategorizedTool, GenerateSkillParams, GenerateSkillResult, GeneratedServerInfo,
61+
IntrospectServerParams, IntrospectServerResult, ListGeneratedServersParams,
62+
ListGeneratedServersResult, PendingGeneration, SaveCategorizedToolsParams,
63+
SaveCategorizedToolsResult, SaveSkillParams, SaveSkillResult, SkillCategory, SkillMetadata,
64+
SkillTool, ToolExample, ToolGenerationError, ToolMetadata,
6265
};

0 commit comments

Comments
 (0)