| name | cv-content-generator |
| description | 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. |
CV Content Generator
Trigger phrases: "create case study", "write blog post", "new content", "generate [content type]"
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 forcontent/case-studies/blog-post→ Markdown with frontmatter forcontent/blog/variant→ YAML overrides forcontent/variants/experience-update→ YAML additions forcontent/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:
- Read
content/knowledge/index.yamlfor entity definitions and relationships - Find relevant achievements in
content/knowledge/achievements/ - Find related stories in
content/knowledge/stories/ - 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:
- Read
content/knowledge/achievements/ankr-15x-revenue.yaml - Read
content/knowledge/index.yamlfor Ankr relationships - Generate full case study markdown
- 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):
- Query achievements with themes:
[infrastructure, revenue-growth] - Find skills:
[api-design, compliance] - Customize hero/about with payments/fintech angle
- Score case studies by relevance to Stripe's domain
- 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