Claude-skill-registry cv-content-generator
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.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cv-content-generator" ~/.claude/skills/majiayu000-claude-skill-registry-cv-content-generator && rm -rf "$T"
skills/data/cv-content-generator/SKILL.mdCV Content Generator
<purpose> Generate new content for the Universal CV portfolio by querying the knowledge base and producing structured output ready for the portfolio. </purpose><when_to_activate> 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
for full workflow)generate-variant - 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]" </when_to_activate>
<edge_cases>
| Scenario | Action |
|---|---|
| Full variant generation | Redirect to skill for complete pipeline |
| Missing knowledge base data | Run first |
| Content editing (not creation) | Use instead |
| Writing style needed | Invoke before generating prose |
| </edge_cases> |
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:
→ Full markdown with frontmatter forcase-studycontent/case-studies/
→ Markdown with frontmatter forblog-postcontent/blog/
→ YAML overrides forvariantcontent/variants/
→ YAML additions forexperience-updatecontent/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
for entity definitions and relationshipscontent/knowledge/index.yaml - 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
for Ankr relationshipscontent/knowledge/index.yaml - Generate full case study markdown
- Output to
with proper frontmattercontent/case-studies/
Example 2: Generate Variant
User: "Create a variant for a Technical PM role at Stripe"
⚠️ For full variant workflow, use the
skill instead.generate-variant
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 | | Markdown |
| Blog Post | | Markdown |
| Variant | | YAML + JSON |
| Experience | | 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