Almanac curates agent skills and indexes them for agents to read
Almanac provides 9 tools with clear verb-noun naming (list_skills, add_skill, remove_skill) and consistent input schemas. All tools have descriptions (avg ~80 chars) and typed parameters. However, descriptions are terse and lack context about when to use each tool, parameter constraints are minimal, and output schemas are undocumented. Error handling guidance is absent. The tool set is well-composed (single responsibility per tool) but lacks the depth of documentation expected for production agent use.
Fetch a skill, print its red-flag report, and vendor it with --accept
Check the libraries for dangling requirements and store problems
Print a JSON index of the available skills
List the available skills with name, description, and source
Remove an entry and its vendored directory. Refuses an unmanaged directory
Print the full SKILL.md content of one skill
Print every manifest entry with its pin and drift state, then the unmanaged neighbors
Write every pinned entry to disk. --check verifies instead, and exits 1 on drift
Output schemas undocumented. No tool describes what fields it returns, forcing LLMs to guess structure and plan downstream calls blindly.
Terse descriptions lack context. 'Print the full SKILL.md content' and 'Print every manifest entry' do not explain WHEN to call these tools or what problem they solve for an agent.
No error recovery guidance. Destructive tools (remove_skill, add_skill with --accept) lack confirmation patterns or error messages that guide the agent on what to do if something fails.
Parameter constraints missing. 'sources' array and 'ref'/'rev' strings lack format descriptions, length limits, or examples. LLMs cannot validate inputs before calling.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Fetch upstream, print the red flags and the diff, then re-pin with --yes
Tool composition assumes prior discovery. 'add_skill' requires 'name' and 'path' parameters but does not explain how an agent discovers valid skill names or paths, no reference to list_skills or show_skill in descriptions.