A hiring and job matching platform with AI agents for requirement analysis, task decomposition, resource decision-making, and candidate profile management. Includes employer job posting, candidate job seeking, and creator agent registration workflows.
HireNet exposes 14 tools with basic descriptions but significant structural gaps. Most tools lack formal input schemas, parameters are documented in prose but not as JSON Schema with types. Descriptions are present but generic (avg ~80 chars, below the 194-char baseline). No output schemas documented. Error handling is absent. Tool naming is reasonable (verb_noun pattern), but composition issues exist: RequirementAnalysisAgent exposes three separate tools (start, reply, is_complete, extract_requirement) that should be unified into a stateful conversation abstraction. Security concerns: no evidence of permission gates, audit trails, or secret injection patterns. This is a typical community server with functional tools but production-grade quality gaps.
Extract structured requirement from a complete response.
Check if the requirement analysis is complete by looking for [REQUIREMENT_COMPLETE] marker.
Continue the requirement analysis conversation with a user message.
Start requirement analysis with user's initial description of a project requirement.
Record an application and return the application record with application_id, candidate info, job info, and cover letter details.
Build functional agent profile, resolved into one language.
Return candidate profile (mock data), resolved into one language.
No formal JSON Schema for tool inputs. Parameters documented in prose (e.g., 'candidate_profile: dict') but lack type definitions, constraints, enums, or format specs. LLMs cannot validate or reason about parameter structure.
RequirementAnalysisAgent split across four separate tools (start, reply, is_complete, extract_requirement) that form a stateful conversation. Should be unified into a single multi-turn tool or use MRTR (Multi Round-Trip Requests) pattern to handle user input within one tool invocation.
No output schemas documented. Tools return dicts but LLMs have no visibility into field names, types, or structure. Downstream tool chaining is error-prone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Pick the executor (agent, human, or hybrid) for one task from its resource evaluations based on confidence thresholds.
Break a requirement into independent task units that can be separately evaluated for execution method.
Evaluate if a resource (agent or candidate) can complete a given task.
Generate a customized cover letter for a candidate applying to a job based on candidate profile and job design.
Get all available resources (candidates + agents) for matching.
Get application records, optionally filtered by candidate_id.
Return demo jobs for candidate-side matching, resolved into one language.
No error handling guidance. Tools lack recovery hints, error classification (retryable vs fatal), or actionable error messages. LLMs cannot self-correct on failures.
No security patterns evident: no permission gates, audit trails, or secret injection. LLM-facing tools should declare required scopes and log invocations for compliance.