A Go framework for building LLM agents with tool support, skill management, and A2A protocol integration
Phero exposes 2 tools with minimal documentation. Both tools have basic descriptions (60-80 chars) and input schemas with typed parameters, but lack depth in parameter descriptions and output schema documentation. The 'agent' tool creates runtime agents (appropriate verb), and 'skill' tool executes skills (appropriate verb), but descriptions are generic and do not explain WHEN to use each tool or what distinguishes them. Parameter descriptions are present but terse. No output schemas are documented. Error handling guidance is absent. Naming is acceptable but descriptions fall short of the 50-200 char LLM-optimized baseline for A-grade tools.
Create and run an agent at runtime with the given name, role description, and instructions. Use this tool to delegate a task to a purpose-built agent.
Execute a skill within the main conversation. When users ask you to perform tasks, check if any available skill can help complete the task more effectively. Invoke this tool with the skill name only, using the command field. Do not pass arguments inside command. After invocation, use the returned base path and instructions to execute the task in the same conversation.
Output schemas not documented. Neither tool specifies what fields are returned or their types. LLMs cannot plan downstream calls or extract required data without knowing the response structure.
Parameter descriptions are minimal (5-15 chars). 'The name of the agent to create and run' and 'The skill name to load' lack context on format, constraints, or examples. LLMs need 50+ char descriptions to disambiguate intent.
Tool descriptions do not explain WHEN to use each tool or how they differ. 'Create and run an agent' vs 'Execute a skill', what is the semantic difference? When should an agent delegate to another agent vs invoke a skill? Ambiguous selection criteria.
No error handling guidance. If agent creation fails or skill not found, what should the LLM do next? No recovery hints, retryability classification, or actionable error messages documented.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No input validation constraints documented. 'name' and 'command' parameters accept free-form strings with no length limits, character restrictions, or enum values. LLMs may pass invalid values without guidance.