Platform-aware skill composition layer for AI coding tools
Weave Compose has 5 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-80 chars, mostly adequate) and input schemas with type definitions. However, output schemas are completely undocumented, LLMs cannot plan downstream calls or extract structured data. Parameter descriptions are minimal (e.g., 'Path to directory containing skill files' lacks format/validation guidance). No error handling guidance, no recovery paths, and no indication of which operations are destructive vs. safe. Tool naming follows verb_noun convention (get_, post_*) but post_* is non-standard for MCP (should be create_, update_, etc.). The skill composition domain is niche but the implementation lacks production-grade polish.
Return all skills currently loaded in the registry.
Return registry status: skill count, platform breakdown, embedding model.
Compose selected skills into a single merged context string.
Load skills from a directory and register them. Saves session to disk.
Query the registry for the best matching skill(s).
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, blocking downstream tool chaining and data extraction.
Non-standard naming: post_load, post_query, post_compose use HTTP verb prefixes instead of action verbs. MCP convention is create_, update_, search_, not post_. Confuses LLM intent inference.
Parameter descriptions lack validation guidance. 'Path to directory' does not specify format, allowed characters, or error cases. 'Minimum confidence threshold' lacks range (0.0 - 1.0?). LLMs cannot validate inputs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If post_load fails (invalid path, permission denied), LLM has no guidance on next steps. No distinction between retryable vs. fatal errors.
post_load is destructive (saves session to disk, overwrites state) but description does not warn of side effects. No confirmation step or dry-run option. Agents may invoke unintentionally.