Ingot provides 5 tools with clear action verbs and reasonable descriptions (avg 180 chars). All tools have documented input schemas with types. However, parameter descriptions are sparse or missing entirely (e.g., 'available_tools' and 'available_mcps' in route_and_load lack descriptions). Output schemas are not documented, callers must infer structure from code. Error handling is minimal; tools return plain strings or dicts without guidance on recovery. The 'route_and_load' tool combines routing + loading (violates single responsibility), and 'reload_skills' is a write operation without confirmation safeguards.
Load one skill's instructions by exact name. The header line carries the content-hash revision (`# Skill: <name>@<revision>`) so harnesses can attribute traces to the exact skill version they served.
List all available skills by name, routing description, and load count (times served).
Re-read skill roots and rebuild the router after a promotion.
Select one compatible skill for a task and return its instructions, or return no match. The result's `novel` flag is the weak/strong routing signal for the calling harness: a direct `match` -> follow `skill_body`; a `related_match` with `novel` false -> use its loaded body to compose or extend; `novel` true -> nothing even related, so serve with your strong model. Only the selected compatible match can carry a body; alternatives are metadata-only.
Suggest routable or related skills for a task, ranked by similarity.
route_and_load combines two responsibilities (routing + loading). Should split into route_skill and load_skill_body for composability.
Output schemas not documented. Callers must reverse-engineer dict structure from code. Missing: field names, types, required vs optional, pagination info.
route_and_load parameters 'available_tools' and 'available_mcps' lack descriptions. Unclear what format is expected (list of names? IDs? objects?).
reload_skills is a destructive write operation with no confirmation step or dry-run. Agents could accidentally reload stale skills mid-session.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Error responses are plain strings (e.g., 'No skill named X'). No guidance on recovery actions or error classification (retryable vs fatal).