SkillWeft is a portable skill-management layer for AI tools. It keeps skills in one place, indexes them, suggests the right skill for a task, and emits compact context packs that Codex, Claude, Gemini, Kimi, Grok, Cursor, Hermes, and other agents can consume without loading every skill all the time.
AI tools benefit from procedural skills, but each tool usually has its own local prompt/skill setup. That creates duplication, stale instructions, and context bloat.
Build a local-first CLI/service that:
- Stores skill documents in a common registry.
- Indexes metadata, tags, descriptions, and content.
- Suggests relevant skills for a natural-language task.
- Emits a compact context pack with only the selected skills.
- Checks for stale or low-quality skills and recommends updates.
python -m skillweft.cli add examples/skills/python-debugging.md --registry .skillweft/skills
python -m skillweft.cli suggest "debug a failing pytest test" --registry .skillweft/skills
python -m skillweft.cli pack "debug a failing pytest test" --registry .skillweft/skills --max-skills 2 --budget 2000SkillWeft can now detect installed AI-agent CLIs and build dry-run launch plans that include only the selected skill context:
PYTHONPATH=src python3 -m skillweft.cli doctor
PYTHONPATH=src python3 -m skillweft.cli run claude "debug pytest" --registry examples/skills --dry-run
PYTHONPATH=src python3 -m skillweft.cli run codex "debug pytest" --registry examples/skills --dry-run
PYTHONPATH=src python3 -m skillweft.cli run gemini "debug pytest" --registry examples/skills --dry-runSupported Phase 1 adapters:
- Claude Code
- Codex CLI
- Gemini CLI
- Hermes Agent
- Cursor CLI /
agent
Phase 1 working prototype: local registry + keyword suggestions + budget-aware context packs + doctor + dry-run launch adapters for Claude Code, Codex CLI, Gemini CLI, Hermes, and Cursor.
The normal test suite includes skipped-by-default Olla API real-world tests. They use the real local skill registry and an Olla/OpenAI-compatible chat-completions API as an external judge for routing quality.
# Unit/offline suite; live Olla tests are skipped unless enabled.
PYTHONPATH=src python3 -m unittest discover -s tests
# Live Olla test run, only after setting a key intentionally.
export OLLA_API_KEY='***'
export SKILLWEFT_RUN_OLLA_REAL_WORLD=1
PYTHONPATH=src python3 -m unittest tests.test_olla_api_real_world -vSee docs/testing/olla-real-world-tests.md for all environment variables.