This document provides reference information for skillkit including SKILL.md format specification, system requirements, and development guidelines.
name(string): Unique skill identifierdescription(string): Human-readable skill description
allowed-tools(list): Tool names allowed for this skill (not enforced in v0.1)
---
name: git-helper
description: Generate git commit messages and workflow guidance
allowed-tools: Bash, Read
---
# Git Helper Skill
Content with $ARGUMENTS placeholder...$ARGUMENTS→ replaced with user-provided arguments$$ARGUMENTS→ literal$ARGUMENTS(escaped)- No placeholder + arguments → arguments appended to end
- No placeholder + no arguments → content unchanged
- Python: 3.10+
- Core dependencies: PyYAML 6.0+
- Optional: langchain-core 0.1.0+, pydantic 2.0+ (for LangChain integration)
# Core library (includes async support)
pip install skillkit
# With LangChain integration
pip install skillkit[langchain]
# All extras (LangChain + dev tools)
pip install skillkit[all]
# Development dependencies
pip install skillkit[dev]git clone https://github.com/maxvaega/skillkit.git
cd skillkit
python3.10 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"The project includes a comprehensive pytest-based test suite with 70%+ coverage validating core functionality, integrations, and edge cases. For detailed testing instructions, test organization, markers, and debugging tips, see tests/README.md.
# Run all tests
pytest
# Run with coverage
pytest --cov
# Run specific test markers
pytest -m async # Async tests only
pytest -m integration # Integration tests only
pytest -m unit # Unit tests only
# Run specific test file
pytest tests/test_manager.py
# Run with verbose output
pytest -v# Lint code
ruff check src/skillkit
# Format code
ruff format src/skillkit
# Type check
mypy src/skillkit --strict# Basic sync usage
python examples/basic_usage.py
# Async usage with FastAPI
python examples/async_usage.py
# LangChain integration
python examples/langchain_agent.py
# Multi-source discovery
python examples/multi_source.py
# File path resolution
python examples/file_references.py
# Cache performance demo (NEW in v0.4)
python examples/caching_demo.pyMain orchestration class for skill discovery and invocation.
Key Methods:
discover()- Synchronous skill discoveryadiscover()- Async skill discoveryinvoke_skill(name, args)- Invoke a skillainvoke_skill(name, args)- Async skill invocationget_skill(name)- Get skill metadatalist_skills()- List all discovered skillsexecute_skill_script(skill_name, script_name, arguments, timeout)- Execute a scriptget_cache_stats()- Get cache statisticsclear_cache(skill_name)- Clear cache entries
Dataclass containing skill metadata (Level 1 of progressive disclosure).
Key Fields:
name: str- Skill identifierdescription: str- Human-readable descriptionskill_path: Path- Path to skill directoryallowed_tools: List[str]- Allowed tool namessource: str- Source location (project, plugin, etc.)priority: int- Discovery priority
Dataclass containing full skill content (Level 2 of progressive disclosure).
Key Fields:
metadata: SkillMetadata- Skill metadatacontent: str- Full SKILL.md contentscripts: List[ScriptMetadata]- Available scripts
SkillKitError # Base exception
├── DiscoveryError # Skill discovery failures
├── ParsingError # YAML parsing failures
├── SkillNotFoundError # Skill not found
├── ContentLoadError # Content loading failures
├── ArgumentSubstitutionError # Argument substitution failures
├── ScriptNotFoundError # Script not found
├── InterpreterNotFoundError # Interpreter not available
├── PathSecurityError # Path security validation failures
└── ToolIDValidationError # Tool ID format validation failures- Core Features: See docs/core-features.md
- LangChain Integration: See docs/integration/langchain.md
- Contributing: See CONTRIBUTING.md
- Examples: See examples/ directory