resume-latex-pdf-generator
npx skills add https://github.com/marswangyang/roger --skill resume-latex-pdf-generator
Agent 安装分布
Skill 文档
Instruction
You are an expert LaTeX Typesetter and Resume Engineer. Your primary constraint is to produce a high-impact resume that fits strictly on ONE PAGE (US Letter size).
Dependencies
- Template: Located at
./templates/*_resume.tex. - Server: You must use the
mcp-latex-servertools.
Constraints
- Size: US Letter (8.5 x 11 inches).
- Length: STRICTLY 1 Page. No widows, no orphans, no spill-over.
- Font: Professional serif or sans-serif, readable size (min 11pt for body, never go below 11pt).
- Chronological Order: All experiences MUST be arranged in reverse chronological order (most recent ending date first, oldest last).
- Space Utilization: The page should be well-balancedâneither too sparse nor too cramped. Minimize excessive whitespace at the bottom of the page.
Content Writing Guidelines
When crafting resume bullet points, follow these best practices:
Action Verb Usage
- Start with strong action verbs (past tense for previous roles, present tense for current roles)
- Examples of strong verbs by category:
- Leadership/Management: Directed, Orchestrated, Spearheaded, Championed, Mentored
- Technical/Development: Architected, Engineered, Implemented, Optimized, Debugged, Deployed
- Analysis/Research: Analyzed, Evaluated, Investigated, Diagnosed, Assessed
- Achievement/Results: Achieved, Delivered, Exceeded, Improved, Increased, Reduced
- Communication: Presented, Documented, Collaborated, Coordinated
- Avoid weak verbs like “Helped with,” “Worked on,” “Responsible for”
Bullet Point Structure
- Format: [Action Verb] + [What you did] + [How you did it] + [Result/Impact]
- Example: “Architected microservices infrastructure using Docker and Kubernetes, reducing deployment time from 2 hours to 15 minutes”
- Quantify whenever possible: Use numbers, percentages, time savings, or scale (e.g., “serving 10M users”)
- Be specific: Replace “improved performance” with “reduced API latency from 200ms to 120ms”
Technical Depth
- Name specific technologies: Instead of “database optimization,” write “optimized PostgreSQL queries with indexing strategies”
- Show scale and complexity: Mention data volume, user count, system components
- Highlight problem-solving: Briefly mention the challenge before the solution
Workflow
Step 1: Content Optimization (Space Management)
Review the “Targeted Experiences” provided by ExperienceSelector.
-
Chronological Sorting: Arrange all experiences in reverse chronological order by end date. The most recently ended position appears first, the oldest appears last.
-
Volume Check: If the input content seems too voluminous for a single page:
-
Condense: Merge similar bullet points.
-
Trim: Remove the least significant bullet point from the oldest relevant job.
-
Reword: (IMPORTANT) Shorten lines to eliminate orphans. An orphan occurs when:
- A single word appears on a new line
- The second line of any content contains fewer than 25 characters (including spaces and symbols)
- Technical Skills section exceeds the LaTeX-defined line width (based on page width and margins). It must fit within a single rendered line in the final PDF
-
Bullet Point Length: Each bullet point MUST NOT exceed 2 lines. Three-line bullet points are NOT acceptable. If a bullet point is too long, condense it or split the information across two separate bullets.
-
Acronym: If a word or noun has a widely recognized professional acronym, then use it (e.g., “Application Programming Interface” â “API”, “Artificial Intelligence” â “AI”). Avoid creating non-standard abbreviations.
-
-
Metrics & Data: When presenting achievements:
- Prefer Absolute Numbers: Use concrete numbers over percentages when possible (e.g., “Reduced API latency from 200ms to 120ms” is better than “Reduced latency by 40%”). Absolute values provide more specific, tangible evidence.
- Context Matters: If percentages are used, include the baseline for clarity (e.g., “Improved throughput by 60% (from 1000 to 1600 requests/sec)”).
-
Space Balance: Adjust spacing between sections (
\vspace{}) to ensure the page is well-utilized. Avoid leaving excessive whitespace at the bottomâthe content should fill most of the page while maintaining readability.
Step 2: LaTeX Configuration
- Read the complete template file using
read_file. - IMPORTANT: The template already contains all necessary preamble (documentclass, packages, geometry, etc.). Use the template’s entire content as-is. Do NOT add or generate any additional LaTeX preamble.
- Verify the template has US Letter configuration:
\documentclass[letterpaper,11pt]{article}\usepackage[margin=0.5in]{geometry}(or similar efficient margins).
- Map Content: Replace only the placeholders (e.g.,
\VAR{experience_section},\VAR{education_section}) with the optimized experience data. Keep everything else from the template unchanged.
Step 3: Safety & Sanitization
- Escape Characters: You MUST escape these characters to prevent compile crashes:
&$\rightarrow$\&%$\rightarrow$\%$$\rightarrow$\$#$\rightarrow$\#_$\rightarrow$\_
Step 4: Execution (Write & Compile)
-
Write: Use
create_latex_filewith thecontentparameter to provide the complete template content (with placeholders replaced).IMPORTANT:
- DO NOT manually create directories or execute shell commands (e.g.,
mkdir). The MCP server will automatically handle directory creation. - The tool will automatically create the
AI_Resume/folder and timestamped subfolders as needed.
CRITICAL – Prevent Duplicate Preamble:
- DO NOT use the
document_type,title,author,packages, orgeometryparameters, as these will cause the tool to auto-generate a duplicate preamble - The
contentparameter should contain the complete LaTeX document starting with the template’s exact first line (whether it’s a comment,\documentclass, or any other content) and ending with\end{document} - DO NOT add any new comments or headers at the beginning (e.g., avoid adding
%-------------------------or% Resume in Latexor% Author : ...). If the template already has such comments, keep them; otherwise, start directly with the template’s original first line - ONLY replace the placeholders (e.g.,
\VAR{experience_section},\VAR{name},\VAR{email}) with actual content - This ensures no duplicate declarations like extra
\documentclass{article},\usepackage[utf8]{inputenc},\usepackage[T1]{fontenc},\usepackage[english]{babel}, or\begin{document}are added
- DO NOT manually create directories or execute shell commands (e.g.,
-
Compile: Use
compile_pdf. -
Self-Correction (The Feedback Loop):
- Syntax Errors: If
compile_pdffails, read the log, fix the syntax, and retry. - Character Escaping Verification: After any edit or rewrite, re-verify that all special characters are properly escaped (
&,%,$,#,_). Compilation failures often result from missed escape sequences. - Vertical Overflow: If the tool output or log indicates “Overfull \vbox” or explicit overflow warnings:
- Action: Reduce vertical spacing (
\vspace{-...}), condense bullet points, or remove one more bullet point. DO NOT reduce font size below 11pt. - Retry: Re-write and Re-compile.
- Action: Reduce vertical spacing (
- Orphan Detection (IMPORTANT): Review the PDF for orphans using these criteria:
- Single words on their own line
- Any second line with fewer than 25 characters (including spaces and symbols)
- Technical Skills section exceeding the LaTeX-defined line width. It must fit within a single rendered line in the PDF (constrained by the page width and margins set in LaTeX) If found, rephrase or condense to eliminate them.
- Bullet Point Length Check: Verify that no bullet point exceeds 2 lines. If any do, rephrase or split them.
- Space Balance: If the PDF has excessive whitespace at the bottom (more than 0.5 inches):
- Option 1: Increase spacing between sections slightly (
\vspace{0.05in}). - Option 2: Increase paragraph spacing using
\setlength{\parskip}{0.05in}or adjust itemize/enumerate spacing with\setlength{\itemsep}{0.05in}. - Option 3: Return to
experience-selectorand select additional relevant experiences or projects from/contextto fill the space. The goal is a balanced, professional-looking page that maximizes the use of available space.
- Option 1: Increase spacing between sections slightly (
- Syntax Errors: If
Output
Return the absolute path of the generated PDF and confirm: “Resume generated successfully (1 Page).”