Skip to main content

Platform-aware skill composition layer for AI coding tools

Project description

weave-compose

Platform-aware skill composition layer for AI coding tools.

"Everyone's building skills. Weave makes them work together."


How It Works

Weave ingests skills from AI coding tools (Claude Code, Cursor, Codex, Windsurf) and normalises them into a universal schema — a single Skill object with a name, platform, capabilities, and semantic embedding. At query time it embeds your task description and selects the best skill(s) by cosine similarity against every loaded skill, with no manual routing required. When a task spans multiple skills, Weave composes their contexts into a single merged string ready for injection into any AI coding tool.


Installation

pip install weave-compose

Requires Python 3.11+. All embeddings run locally — no API key, no cloud dependency.


Quickstart

# 1. Load skills from a directory of SKILL.md files
weave load ./tests/fixtures/claude_code
# Loaded 2 skill(s) from ./tests/fixtures/claude_code (platform: claude_code)
# Session saved to .weave_session.json

# 2. Query for the best skill for your task
weave query "design a UI component with Tailwind CSS"
# [1] Naksha Design System (claude_code) — score: 0.6821
#     UI component design and design system implementation for React applications using Tailwind CSS.

# 3. List all loaded skills
weave list
#   Naksha Design System           claude_code     [design, components, ui...]
#   Backend API Engineer           claude_code     [api, rest, fastapi...]
#
# Total: 2 skill(s)

CLI Reference

Command Description
weave load <path> [--platform] [--verbose] Load skills from a directory and save the session
weave query "<text>" [--explain] [--top N] Query loaded skills and return the best match(es)
weave list [--platform] List all skills in the current session
weave status Show skill count, platform breakdown, and session info
weave clear Clear all loaded skills and delete the session file

Session state is stored in .weave_session.json in your current working directory. Run weave load once; all subsequent query, list, and status calls restore the session automatically — no re-embedding required.


How Weave Selects Skills

Weave uses all-MiniLM-L6-v2 (runs on CPU, ~80 MB, cached after first use) to embed both your query and each skill's context. It returns the top match by default. If the confidence gap between the first and second result is less than 0.1, both skills are returned for composition — Weave assumes the task spans both domains.

Use --explain to see the full score table:

weave query "design a REST API" --explain

Use --top N to request at least N results:

weave query "build a feature" --top 2

Contributing

Contributions are welcome at every layer — new platform adapters, composition strategies, CLI improvements, and documentation.

All code must pass pytest, ruff check ., and mypy --strict . before merging.


License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weave_compose-1.0.0.tar.gz (42.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weave_compose-1.0.0-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file weave_compose-1.0.0.tar.gz.

File metadata

  • Download URL: weave_compose-1.0.0.tar.gz
  • Upload date:
  • Size: 42.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for weave_compose-1.0.0.tar.gz
Algorithm Hash digest
SHA256 78d8ede3987c8866d1795a883ae8f43a32948bdee36f58cab446cb4d77637f5b
MD5 aa0024afa6e61ccb78122a9c65c52033
BLAKE2b-256 faea21dc311b5db5a74c1ed50d8a2806ee29c379b92b1287d847ab64af14153b

See more details on using hashes here.

File details

Details for the file weave_compose-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: weave_compose-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for weave_compose-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc5b2226f93d2f638827acad1b0291450e4328e4374608312f4398776e4a249d
MD5 27cf9fa3e989c672f3cb11a39b3c4537
BLAKE2b-256 64f467a5cc69db3a1e97fa641b074f962e33f1db04cc510d186dce8046207474

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page