Analyse et compare automatiquement 5 CV par rapport à une fiche de poste, en évaluant chaque candidat selon des critères pondérés et génère un rapport professionnel avec scores et recommandations.
The server defines only 1 tool ('analyse-cv'). While the tool has a schema and description present, critical quality issues severely limit its usability: (1) The tool name 'analyse-cv' does not follow verb_noun convention and lacks clarity about the action being performed, 'analyze_cvs' would be clearer. (2) The description is verbose (500+ chars), violates the 10-1024 char guideline, and mixes French and English, reducing LLM comprehension. (3) The input schema lacks proper parameter descriptions in JSON Schema, the 'file_paths' array has a description string, but 'query' parameter lacks any type information in the schema properties. (4) No output schema is documented, forcing LLMs to guess what fields the response contains. (5) The tool modifies nothing (read-only), but the description does not state this clearly, leaving ambiguity about side effects. (6) No error handling guidance is provided. (7) The tool bundles 'analyze 5 CVs' + 'compare' + 'evaluate' + 'generate report', multiple responsibilities that should be separate concerns per pattern:tool.
Analyse et compare automatiquement 5 CV par rapport à une fiche de poste, en évaluant chaque candidat selon des critères pondérés et génère un rapport professionnel avec scores et recommandations. This tool executes a complete workflow using the LightOn Paradigm API. Input parameters: - file_paths: Chemins complets des fichiers locaux a analyser (ex: C:\Documents\cv.pdf) (required) - query: Question ou demande d'analyse (optionnel) (optional) Output format: JSON object containing the workflow results, including any analysis, extracted data, or generated content.
Tool name does not follow verb_noun convention. 'analyse-cv' is unclear about action; should be 'analyze_cvs', 'compare_cvs', 'evaluate_cvs', or similar action-verb form.
Description exceeds 1024 character baseline and mixes French/English, reducing LLM clarity. Current: ~500 chars. Should be split into English description (50-200 chars) + separate multilingual documentation.
Output schema is completely undocumented. LLMs cannot infer what fields the response JSON contains. Must document: field names, types (string, number, array, object), and what each field means for downstream tool calls.
Parameter 'query' is optional but has no type or format constraints in the JSON schema. Schema shows 'properties: {query: {type: string, description: ...}}' but no minLength, pattern, or examples. Description string in schema properties is also minimal.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 31 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Tool bundles multiple distinct operations: 'analyze', 'compare', 'evaluate', 'generate report'. Per pattern:tool, each tool should do exactly one thing. Should decompose into separate tools: analyze_cv, compare_cvs, generate_cv_report.
No error handling guidance. If file_paths do not exist, API fails, or parsing errors occur, the HTTP server returns generic JSON error without actionable recovery steps (e.g., 'Check file paths exist' or 'Retry with smaller batch').
Tool is read-only but description does not explicitly state this. LLMs should know immediately whether calling this tool has side effects. Add 'This tool does not modify any data.' to description.
Parameter 'file_paths' description is in French and includes Windows path example (C:\Documents\cv.pdf). Should use platform-agnostic language and examples. No constraint on array length, could accept 1000 paths, causing DOS.