بنقرة واحدة
contributor
Contributing to skillet itself. Covers architecture, development setup, testing, and PR workflow.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Contributing to skillet itself. Covers architecture, development setup, testing, and PR workflow.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Curated directory of external skill repositories. Use when the user needs skills not available locally, or to suggest adding new skill sources.
Creating and maintaining skill repos. Covers setup, directory layout, PR review, multi-repo, and hosting.
Set up and configure Skillet skill discovery. Use when the user wants to set up skillet, configure repos, or customize server behavior.
Authoring skills for skillet. Covers the skill format, discovery via suggest, and project manifests.
Using skillet as a skill consumer. Covers searching, browsing, and using skills as MCP prompts.
| name | contributor |
| description | Contributing to skillet itself. Covers architecture, development setup, testing, and PR workflow. |
| version | 2026.02.27 |
| trigger | Use when the user wants to contribute to skillet, understand its architecture, or run its test suite |
| license | MIT OR Apache-2.0 |
| author | Josh Rotenberg |
| categories | ["development","tools"] |
| tags | ["skillet","contributing","rust","architecture","testing"] |
Skillet is a single Rust binary (skillet) that serves as both CLI and
MCP server. Package name is skillet-mcp, binary name is skillet.
Module map:
src/
main.rs # CLI (clap), MCP server setup
lib.rs # Library root, re-exports
state.rs # AppState, SkillIndex, SkillEntry, SkillVersion, SkillMetadata
index.rs # Directory walking, SKILL.md/frontmatter parsing, config loading
search.rs # SkillSearch: BM25 full-text search over skill metadata
bm25.rs # Vendored BM25 engine
cache.rs # Persistent disk cache for SkillIndex
config.rs # Configuration loading (SkilletConfig)
error.rs # Error types (thiserror)
git.rs # Git operations: clone, pull, head
prompts.rs # DynamicPromptRegistry integration, skills as MCP prompts
project.rs # skillet.toml unified manifest types and loading
repo.rs # Repo management: init, load, merge
resolve.rs # Release model resolution (tags/releases/main)
scaffold.rs # init-skill, init-registry, init-project scaffolding
suggest.rs # [[suggest]] decentralized discovery graph walker
tools/ # MCP tools: search_skills, list_categories, etc.
Key types:
AppState -- holds RwLock<SkillIndex>, RwLock<SkillSearch>, repo paths, configSkillIndex -- maps (owner, name) to SkillEntry with merge() for multi-repoSkillSearch -- wraps BM25 index, rebuilt on refreshSkillSource -- variants: Registry, EmbeddedData flow: repos (local/remote) are loaded into SkillIndex, merged
first-match-wins, then SkillSearch is built from the merged index.
MCP tools query the search index; skills are served as MCP prompts.
git clone https://github.com/joshrotenberg/skillet.git
cd skillet
cargo build
cargo test --lib --all-features
The test suite is organized across multiple files:
# Unit tests (in src/)
cargo test --lib --all-features
# CLI integration tests
cargo test --test cli --all-features
# Scenario tests (multi-step workflows)
cargo test --test scenarios --all-features
# MCP integration tests
cargo test --test mcp --all-features
# HTTP transport tests
cargo test --test http --all-features
# All tests
cargo test --test '*' --all-features
Test fixtures are dynamically generated via testutil.rs.
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --lib --all-features
cargo test --test '*' --all-features
git checkout -b feat/descriptionfeat: add thing, fix: resolve issuemainBranch naming conventions:
feat/ -- new featuresfix/ -- bug fixesrefactor/ -- code refactoringtest/ -- test improvementsdocs/ -- documentationowner/skill-name directories