skills/cv-creator/SKILL.md
Professional CV and resume builder transforming career narratives into ATS-optimized, multi-format resumes. Integrates with career-biographer for data and competitive-cartographer for positioning. Generates PDF, DOCX, LaTeX, JSON Resume, HTML, and Markdown. Activate on 'resume', 'CV', 'ATS optimization', 'job application'. NOT for cover letters, portfolio websites (use web-design-expert), LinkedIn optimization, or interview preparation.
npx skillsauth add curiositech/windags-skills cv-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Professional resume builder that transforms structured career data into ATS-optimized, professionally formatted resumes.
Works with: career-biographer, competitive-cartographer, web-design-expert, typography-expert
GitHub: github.com/erichowens/cv-creator
npm install && npm run exampleBuilt through multi-skill orchestration (8 skills, 9 phases).
User: "Create a resume for senior software engineer roles"
CV Creator:
1. Request CareerProfile (from biographer or direct input)
2. Request PositioningStrategy (from cartographer or skip)
3. Request target role/company (optional)
4. Generate resume with clean formatting
5. Calculate ATS score and provide recommendations
6. Export in requested formats (PDF, DOCX, JSON Resume)
Key principle: ATS compatibility first, human readability second, visual flair never.
| Format | Use Case | |--------|----------| | PDF | Email applications, job boards, print | | DOCX | Recruiter submissions, editable | | JSON Resume | Developer portfolios, programmatic | | HTML | Portfolio websites, responsive | | Markdown | Version control, git-based management | | LaTeX | Academic CVs (optional) |
| Template | Best For | |----------|----------| | Modern Minimalist | Tech roles (Engineers, Data Scientists) | | Professional Traditional | Finance, Legal, Senior Executives | | Creative Hybrid | Design Engineers, UX Researchers | | Academic CV | PhD, Professors, Researchers |
| Category | Points | Criteria | |----------|--------|----------| | Formatting | 30 | Single-column, standard fonts, no graphics | | Structure | 20 | Summary, Skills, Experience, Education present | | Content | 30 | Proper lengths, skills count, metrics in bullets | | Keywords | 20 | Job description coverage (or 15 for general) |
Target: 85+ out of 100
Use for:
Do NOT use for:
What it looks like: Colorful infographics, skill bars, profile photo, two-column layout Why wrong: ATS systems can't parse graphics or complex layouts Instead: Use Minimalist template with clean, single-column text format
What it looks like: "Seeking a challenging role in a growth-oriented company..." Why wrong: Wastes space, provides no information Instead: Professional summary with specific metrics and target role
What it looks like: 40+ skills including outdated technologies Why wrong: Dilutes expertise, unclear proficiency Instead: List 15-20 most relevant skills for target role
What it looks like: "Managed a team", "Worked on backend systems" Why wrong: Doesn't show impact or value Instead: "Led team of 5 to deliver microservices migration, reducing deployment time by 70%"
What it looks like: Mixed date formats, different bullet styles, varying fonts Why wrong: Looks unprofessional, confuses ATS parsers Instead: Strict consistency throughout
| Issue | Cause | Fix | |-------|-------|-----| | ATS Score <70 | Complex formatting, graphics | Switch to Minimalist, remove images | | Keyword Coverage <60% | Not tailoring to job description | Extract keywords, add to Core Skills | | Exceeds 2 pages | Too verbose, old roles included | Consolidate old roles, limit bullets | | Generic summary | No positioning insights | Include specific metric, state target role | | Long bullets | Trying to explain entire project | Split into multiple bullets, focus on outcome |
| Experience | Pages | |------------|-------| | Entry-level (0-3 years) | 1 page | | Mid-level (3-10 years) | 1-2 pages | | Senior-level (10+ years) | 2 pages max |
Never exceed 2 pages, even for very senior roles.
references/resume-protocol.md - Complete 8-step generation protocol, ATS scoring, before/after examplesreferences/formatting-rules.md - Best practices, templates, output formats, success metricsreferences/interfaces-integration.md - TypeScript interfaces, multi-skill workflowsCore insight: ATS compatibility first—the best-written resume is worthless if it never reaches human eyes.
Use with: career-biographer (content) | competitive-cartographer (positioning) | web-design-expert (portfolio)
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.