cv-content-generator

fotescodev's avatarfrom fotescodev

Generate case studies, blog posts, experience updates, and variant content from the knowledge base. Use when user wants to create new CV content, write articles, or generate job-specific variants.

⭐1stars🔀0forks📁View on GitHub🕐Updated Dec 31, 2025⬇️1downloads

When & Why to Use This Skill

The CV Content Generator is a specialized Claude skill designed to automate the creation of high-impact professional portfolio content. By leveraging a structured knowledge base of achievements, stories, and metrics, it generates SEO-friendly case studies, blog posts, and job-specific CV variants. This tool streamlines personal branding by transforming raw experience data into polished, data-driven narratives that follow industry-standard formats like STAR (Situation, Task, Action, Result).

Use Cases

  • Automated Case Study Generation: Transform raw project achievements and metrics into structured Markdown case studies ready for a professional portfolio.
  • Professional Thought Leadership: Convert work experiences and internal 'stories' into engaging blog posts to build an online presence and industry authority.
  • Job-Specific Content Tailoring: Generate customized CV variants and 'About Me' sections that align specifically with a target company's job description and requirements.
  • Knowledge-Base Driven Updates: Seamlessly update professional experience logs and highlights by querying a centralized repository of quantified results and career milestones.
namecv-content-generator
descriptionGenerate case studies, blog posts, experience updates, and variant content from the knowledge base. Use when user wants to create new CV content, write articles, or generate job-specific variants.

CV Content Generator

Generate new content for the Universal CV portfolio by querying the knowledge base and producing structured output ready for the portfolio. Activate when the user: - Wants to write a new case study - Needs to create a blog post from experience - Wants to generate a job-specific variant (redirect to `generate-variant` for full workflow) - Needs to update experience highlights - Asks for content based on achievements or stories

Trigger phrases: "create case study", "write blog post", "new content", "generate [content type]"

| Scenario | Action | |----------|--------| | Full variant generation | Redirect to `generate-variant` skill for complete pipeline | | Missing knowledge base data | Run `cv-data-ingestion` first | | Content editing (not creation) | Use `cv-content-editor` instead | | Writing style needed | Invoke `dmitrii-writing-style` before generating prose |

Knowledge Base Structure

content/knowledge/
├── index.yaml           # Entities and relationships graph
├── achievements/        # Atomic accomplishments (STAR format)
├── stories/            # Extended narratives
├── metrics/            # Quantified results
└── raw/                # Unstructured source material

Content Generation Workflow

Step 1: Understand the Request

Determine output type:

  • case-study → Full markdown with frontmatter for content/case-studies/
  • blog-post → Markdown with frontmatter for content/blog/
  • variant → YAML overrides for content/variants/
  • experience-update → YAML additions for content/experience/

Step 2: Query Knowledge Base

Use deterministic scripts first — faster and more consistent:

# Search by topic
npm run search:evidence -- --terms "revenue,growth,api"

# For variant generation with JD analysis
npm run analyze:jd -- --file source-data/jd-{company}.txt --save
npm run search:evidence -- --jd-analysis capstone/develop/jd-analysis/{slug}.yaml

For deeper exploration:

  1. Read content/knowledge/index.yaml for entity definitions and relationships
  2. Find relevant achievements in content/knowledge/achievements/
  3. Find related stories in content/knowledge/stories/
  4. Cross-reference themes and skills for comprehensive context

Step 3: Generate Content

For Case Studies

Use this structure:

---
id: [next number]
slug: [kebab-case-slug]
title: [Title]
company: [Company]
year: [Year]
tags: [relevant tags]
duration: [duration]
role: [role]

hook:
  headline: [3-second grab]
  impactMetric:
    value: "[X]"
    label: [metric type]
  subMetrics:
    - value: "[Y]"
      label: [secondary metric]
  thumbnail: null

cta:
  headline: [Call to action question]
  subtext: [Supporting text]
  action: calendly
  linkText: Let's talk →
---

[Opening hook - why this matters, stakes involved]

## The Challenge
[Problem statement with constraints]

## The Approach
[Hypothesis and alternatives considered table]

## Key Decision
[Critical decision point with trade-offs]

## Execution
[Phases with specific actions]

## Results
[Quantified outcomes]

## What I Learned
[Reflections - what worked, what didn't, key quote]

For Blog Posts

---
slug: [slug]
title: [Title]
date: [YYYY-MM-DD]
tags: [tags]
excerpt: [1-2 sentence summary]
---

[Content following narrative structure from stories]

For Variants

metadata:
  company: "[Company]"
  role: "[Role]"
  slug: "[company-role]"
  generatedAt: "[ISO timestamp]"
  jobDescription: "[JD summary]"

overrides:
  hero:
    status: "[Customized status]"
    subheadline: "[Tailored pitch]"
  about:
    tagline: "[Role-specific tagline]"
    bio: [Customized paragraphs]
    stats: [Relevant stats]

relevance:
  caseStudies:
    - slug: "[most relevant]"
      relevanceScore: 0.95
      reasoning: "[Why this matters for role]"

Step 4: Validate Output

  • Check all required frontmatter fields
  • Ensure metrics are quantified
  • Verify skills/themes match knowledge base
  • Confirm narrative follows STAR format

Examples

Example 1: Generate Case Study

User: "Create a case study about the Ankr revenue growth"

Action:

  1. Read content/knowledge/achievements/ankr-15x-revenue.yaml
  2. Read content/knowledge/index.yaml for Ankr relationships
  3. Generate full case study markdown
  4. Output to content/case-studies/ with proper frontmatter

Example 2: Generate Variant

User: "Create a variant for a Technical PM role at Stripe"

⚠️ For full variant workflow, use the generate-variant skill instead.

Quick variant with scripts:

# 1. Analyze the JD
npm run analyze:jd -- --file source-data/jd-stripe.txt --save

# 2. Search for matching evidence
npm run search:evidence -- --jd-analysis capstone/develop/jd-analysis/stripe.yaml

# 3. Check bullet coverage
npm run check:coverage

Action (manual):

  1. Query achievements with themes: [infrastructure, revenue-growth]
  2. Find skills: [api-design, compliance]
  3. Customize hero/about with payments/fintech angle
  4. Score case studies by relevance to Stripe's domain
  5. Output YAML + JSON variant files

Output Locations

Content Type Output Path Format
Case Study content/case-studies/[##-slug].md Markdown
Blog Post content/blog/[date-slug].md Markdown
Variant content/variants/[company-role].yaml YAML + JSON
Experience content/experience/index.yaml YAML (append)

Quality Checklist

Before outputting content:

  • All metrics are specific and quantified
  • STAR format is complete (Situation, Task, Action, Result)
  • Key quote/insight is memorable
  • Tags align with knowledge base themes
  • Frontmatter validates against schema