Four well-named tools with comprehensive descriptions (194 - 350 chars each, within baseline 34 - 392 range). All tools have input schemas with type definitions and parameter descriptions. Tool annotations (readOnlyHint, idempotentHint) are present and correct. However, output schemas are not documented, LLMs cannot see what fields to expect from responses. Error handling descriptions exist but lack actionable recovery guidance (e.g., 'If section not found, returns available sections' does not tell the LLM what to do next). Parameter constraints are mostly present (enums for lang, minLength for description) but some optional params lack clarity on defaults.
Searches across Felipe Bueno's full profile (CV sections + all projects) using keyword matching and returns the most relevant excerpts. Use this for specific factual questions: "does he have ETL experience?", "what databases has he used?", "tem experiência com IA?". Supports English and Portuguese keywords. For the full CV text, use get_cv instead. For structured project data with links, use list_projects instead. The search scores paragraphs and project entries by keyword matches, then returns the top 10 results grouped by section. Error cases: - If all words are too generic (stop words), asks for more specific keywords. - If no matches found, suggests trying specific technology names or roles.
Returns Felipe Bueno's CV — full document or a specific named section. Use this tool when you need biographical, career, or skills information. For targeted keyword searches across all sections, use ask_about_me instead. For structured project data with links, use list_projects instead. Sections available (use the alias or the full heading name): - summary / "Professional Summary" - skills / "Technical Skills" - experience / "Professional Experience" - projects / "Projects" - education / "Education" - certifications / "Certifications & Continuous Learning" - languages / "Languages" Returns the full CV when no section is specified. Section matching is case-insensitive and supports partial matches. Error cases: - If section is not found, returns the list of available sections with isError: true.
Lists Felipe Bueno's projects with full metadata: description, tech stack, highlights, repo URL, demo URL, and status. Use this when you need project details, links, or want to filter by technology. For broader keyword search across the whole profile including CV experience, use ask_about_me instead. The tech filter is case-insensitive and supports partial matches (e.g., "next" matches "Next.js"). Status values: "completed", "in-progress", "active", "experimental". Projects are categorized as "cv" (featured in resume) or "additional" (GitHub extras). Error cases: - If no projects match the filter, returns the full list of available technologies with isError: true.
Output schemas not documented. LLMs cannot see what fields responses contain (e.g., does match_job return an object with score/matchedSkills/gaps, or a string?). This forces LLMs to guess field names and risks extraction errors.
Error handling descriptions lack actionable recovery guidance. 'If section is not found, returns the list of available sections' tells the LLM what the tool does, not what the LLM should do next. Should say: 'If section not found, try get_cv() with no section parameter to see all available sections.'
Optional parameters (lang, section, tech) lack default value documentation. LLMs cannot infer whether omitting lang defaults to 'en' or requires explicit specification. Add 'Defaults to: en' or 'Required if not specified' to each optional param.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Analyzes how well Felipe Bueno's profile fits a job description. Returns matched skills, real gaps, a fit score (0-100), relevant experience excerpts, and a suggested pitch. Provide the full job description or a list of requirements. The more detail in the input, the more accurate the analysis. Output fields: - Fit Score (0-100): percentage of required tech skills present in his stack, plus a bonus for relevant experience - Matching Skills: tech skills from his CV that appear in the job description - Gaps: tech required by the job not present in his CV - Relevant Experience: specific bullet points from his work history that overlap with the role - Suggested Pitch: honest assessment calibrated to the score Honesty note: gaps are reported as real gaps, not softened. A score below 40 means a significant career pivot.
match_job description mentions 'Fit Score (0-100)' and 'Matching Skills' as output fields but does not document the full response schema. LLMs need to know: is it a JSON object? What are all the fields? What types?
ask_about_me returns 'top 10 results grouped by section' but does not specify the structure. Is it an array of objects? A map keyed by section name? LLMs cannot parse unstructured output reliably.