Cross-harness AI skill portability CLI. Author AI coding skills once, render accurately into Claude Code, Cursor, Copilot, Codex, OpenCode and 50+ more agents.
Server has 7 tools with basic HTTP endpoints and JSON request/response handling. Tool names follow verb_noun convention (register, rotate, list, create, get, add-comment, set-status). Descriptions are present but brief (20-80 chars), lacking context on WHEN to use each tool or dependencies. Input schemas are visible in code but lack formal JSON Schema type declarations and enums. Parameters have descriptions but no constraints (e.g., status values are documented in description text, not as enum). Output schemas are not documented. Error handling returns JSON with error messages but lacks recovery guidance or categorization. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Security: bearer token auth is server-side (good), but no audit logging visible. Composition: tools are single-purpose and chainable (register → token/rotate → items/*), but no pagination support on items/list despite potential for large result sets.
Adds a comment to an exchange item. First comment auto-flips status from attention-required to in-progress
Creates a new exchange item with title, body, assignees, and tags
Retrieves a specific exchange item by ID
Lists exchange items with optional filtering by status and ownership
Changes an item's status. Only the author may change status (close/reopen)
Issues a member token to a caller who presents the current bootstrap token
Swaps the caller's token for a fresh one, invalidating the old token immediately
No formal JSON Schema with type declarations. Input parameters visible in code (e.g., registerReq struct) but not exposed as JSON Schema in tool definitions. LLMs cannot validate parameter types or constraints at call time.
Enum constraints missing. Status values ('attention-required', 'in-progress', 'closed') documented in description text only, not as formal enum constraints. LLMs may hallucinate invalid status values.
No output schema documentation. Tool responses (tokenResp, itemsResp, ExchangeItem) are not documented for LLMs. Agents cannot plan downstream calls or extract required fields (e.g., item ID for add-comment).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
No pagination support on items/list. No limit, offset, or cursor parameters visible. Large result sets will blow context window and degrade LLM reasoning.
Error responses lack recovery guidance. Errors return JSON with message only (e.g., 'invalid token', 'handle already registered'). No guidance on retryability, user-fixable vs fatal, or next steps.