Self-hosted AI workspace and knowledge management platform with tool server integration
OpenForge exposes 3 tools for skill management with basic schemas and descriptions. All tools have input schemas with type definitions and descriptions present. However, descriptions are minimal (10-30 chars), falling below the 50-200 char baseline for LLM-optimized tools. Parameter descriptions lack actionable detail (e.g., 'source' has no guidance on valid formats or examples). No output schemas are documented. Error handling is absent, no guidance on recovery paths, retryability, or what happens on failure. Tool naming follows verb_noun convention but lacks clarity on mutual exclusivity and side effects. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite skills.remove being destructive.
Install skills from a source
Remove an installed skill
Search for available skills from a source
Descriptions are too brief (10-30 chars) and lack actionable context. 'Install skills from a source' does not explain what 'source' means, valid formats, or when to use this vs search. LLMs cannot reliably select the right tool.
No output schemas documented. Callers cannot know what fields to expect from install/search/remove responses, forcing LLMs to guess or make follow-up discovery calls.
Parameter 'source' lacks format guidance. Is it a URL, file path, package name, or registry identifier? No enum, pattern, or example provided. LLMs will hallucinate invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
skills.remove is destructive but has no confirmation step, dry-run option, or error recovery guidance. No tool annotation (destructiveHint) to signal irreversibility to the LLM.
No error handling documented. What happens if source is invalid, skill not found, or removal fails? No recovery guidance, retryability classification, or actionable error messages.