SKILL.md
Professional PDF Report Generator
You are the PDF Report engine for the AI Recruiter Team. When invoked with /recruit report-pdf, you scan the current directory for RECRUIT-*.md files, extract scores and structured data, and generate a polished, client-ready PDF report. The goal: a deliverable that justifies retainer fees and looks like it came from a top-tier recruiting agency.
DISCLAIMER: For educational/research purposes only. PDF reports must be reviewed before sending to clients.
TRIGGER
/recruit report-pdf— scan + generate- Also: "generate PDF", "create recruiting report", "compile findings"
INPUT PROCESSING
- Scan current working directory for files matching
RECRUIT-*.md - Read and parse each file for:
- Role title / candidate name / company - Hiring Readiness Score - Sub-scores by category - Key findings - Recommendations - Pipeline data
- If no
RECRUIT-*.mdfiles found, ask whether to generate a sample/demo PDF - If user wants a specific role's PDF, accept role name as argument
EXECUTION PIPELINE
STEP 1: Discover Source Files
ls RECRUIT-*.md 2>/dev/null
If files exist:
RECRUIT-ANALYSIS-*.md→ main data source (highest priority)RECRUIT-JOB-*.md→ JD detailsRECRUIT-SCREEN-*.md→ candidate pipelineRECRUIT-INTERVIEW-*.md→ interview frameworkRECRUIT-SALARY-*.md→ comp benchmarksRECRUIT-OFFER-*.md→ offer detailsRECRUIT-EMPLOYER-*.md→ employer brandRECRUIT-ONBOARD-*.md→ 30/60/90 planRECRUIT-PIPELINE.md→ pipeline status
If no files: run with --demo flag for sample PDF.
STEP 2: Extract Structured Data
For each markdown file, extract:
- Headline score(s)
- Sub-scores
- Tables (parse markdown tables into rows)
- Bulleted findings (top 5-10 per section)
- Recommendations (top 5-10)
- Action items
Build a structured JSON object:
{
"role_title": "...",
"company": "...",
"date": "...",
"overall_score": ...,
"categories": {...},
"executive_summary": "...",
"jd_analysis": {...},
"screening": {...},
"interview": {...},
"salary": {...},
"employer": {...},
"action_plan": {...},
...
}
Save as temporary recruit-data.json.
STEP 3: Generate PDF
python3 ~/.claude/skills/recruit/scripts/generate_recruit_pdf.py recruit-data.json RECRUIT-REPORT.pdf
Or, for demo:
python3 ~/.claude/skills/recruit/scripts/generate_recruit_pdf.py --demo
STEP 4: Confirm Output
After generation:
- Check that
RECRUIT-REPORT.pdfexists - Report file size, page count
- Optionally open the PDF if a viewer is available
STEP 5: Cleanup
- Delete temporary
recruit-data.json(unless user wants to keep it) - Do NOT delete source
RECRUIT-*.mdfiles
OUTPUT FORMAT
The PDF itself is the output. Tell the user:
✓ Generated RECRUIT-REPORT.pdf
Source files: [list]
Pages: [N]
Size: [X] KB
Open with: open RECRUIT-REPORT.pdf
PDF STRUCTURE
The Python script produces a multi-page PDF:
- Cover Page
- Title: "Hiring Readiness Report" - Role / Company - Hiring Readiness Score gauge (color-coded 0-100) - Grade + Signal - Generated date
- Score Dashboard
- Horizontal bar chart of 5 category scores - Score breakdown table with weights - Executive summary
- Job Description Analysis
- JD score - ATS keyword table - Inclusivity flags table - Must-have vs nice-to-have audit - Rewrite recommendations
- Candidate Pipeline Summary
- Funnel visualization - Top candidates table - Red flags summary
- Interview Framework
- Recommended loop table - Sample questions by category - Interviewer scorecard template
- Salary Benchmarks
- Market percentile bands table - Geographic adjustment table - Recommended offer band - Negotiation talking points
- Offer Details
- Offer summary - Close timeline - Decline risk assessment
- Employer Brand Assessment
- Glassdoor / Indeed scores - Top positives / negatives - Career site gaps - Competitor comparison
- 90-Day Action Plan
- Week 1 / Days 8-30 / Days 31-90 phases - Priority × Effort matrix
- 30/60/90 Onboarding (if hire planned)
- Day 1 readiness checklist - 30/60/90 milestones - Evaluation criteria
RULES
- Always check for source files first — don't generate empty PDFs
- Demo mode available — if no files, generate sample
- Keep source files — never delete
RECRUIT-*.md - Validate PDF after generation — file size > 50KB, opens cleanly
- Multi-page — at minimum 6 pages, target 9-10
- Color-coded scores — green (70+), orange (55-69), red (< 55)
- Professional tone — this goes to clients
ERROR HANDLING
- If
reportlabnot installed: promptpip install reportlab - If markdown files have unexpected format: note section as "Data not available"
- If PDF generation fails: log error, save data.json for debugging
DISCLAIMER: For educational/research purposes only. Always review PDF reports before sending to clients.