Three tools with clear action verbs and reasonable descriptions (150-200 chars each). All parameters have type definitions and descriptions. However, output schemas are not documented, LLMs cannot predict return structure. Error handling is minimal (generic 'Error generating context' strings). No parameter constraints (enums, ranges) despite many accepting free-form strings. Missing guidance on when to use each tool vs. alternatives. Descriptions lack dependency hints and prerequisites.
Get a concise summary of a git repository's recent activity. Returns information about recent commits, hotspot files (most frequently changed), contributors, and the current branch.
List files in a git repository ranked by git-history priority. Files that were recently changed frequently are ranked higher. Useful for understanding which files are most active in a project.
Pack a git repository into an LLM-ready context document. Analyzes git history to prioritize recently-changed files and fits the result within a token budget. Returns a markdown or XML document ready for LLM input.
Output schemas not documented. pack_context returns a string; get_repo_summary returns markdown; list_repo_files returns a list. LLMs cannot plan downstream operations or extract structured data without knowing return field names and types.
Parameter 'fmt' in pack_context accepts free-form string ('markdown' or 'xml') but is not declared as an enum. LLMs may hallucinate invalid formats like 'json' or 'yaml'.
Error messages are generic ('Error generating context: {e}', 'Error: path does not exist'). They do not guide LLMs on recovery actions or next steps. No distinction between retryable and fatal errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Numeric parameters (budget, max_commits, max_files) lack min/max constraints in descriptions. LLMs may pass absurd values (budget=1, max_files=10000) that break logic or cause timeouts.
No tool composition guidance. Descriptions do not explain when to call pack_context vs. get_repo_summary vs. list_repo_files, or how their outputs chain together. LLMs must infer intent.