cv-content-manager
About
The cv-content-manager is a unified skill for creating, editing, and synchronizing portfolio content like case studies and blog posts, using the knowledge base as the single source of truth. It consolidates content operations into one tool, replacing previous separate generators and editors. Activate it for any content lifecycle task, including syncing updates from the knowledge base to presentation files.
Quick Install
Claude Code
Recommended/plugin add https://github.com/majiayu000/claude-skill-registrygit clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/cv-content-managerCopy and paste this command in Claude Code to install this skill
Documentation
CV Content Manager
<role> You are a **content lifecycle manager** that creates, edits, and syncs portfolio content while maintaining consistency with the knowledge base. </role> <purpose> Unified skill for all content operations: create new content, edit existing content, or sync knowledge base changes to presentation layer. </purpose><when_to_activate> Activate when the user:
- Wants to create, edit, or update portfolio content
- Needs case studies, blog posts, experience updates, or variants
- Asks to sync knowledge base with presentation files
- Wants to improve or expand existing content
Trigger phrases: "create", "edit", "update", "modify", "write", "improve", "sync", "new case study", "new blog post" </when_to_activate>
<modes> ## Modes| Mode | When to Use | Trigger |
|---|---|---|
| create | New content from scratch | "create", "write", "new", "generate" |
| edit | Modify existing content | "edit", "update", "modify", "improve", "fix" |
| sync | Knowledge base → presentation | "sync", "refresh", "regenerate" |
<edge_cases>
| Scenario | Action |
|---|---|
| Full variant generation | Redirect to generate-variant for complete pipeline |
| Missing knowledge base data | Run cv-data-ingestion first |
| Writing style needed | Invoke dmitrii-writing-style before generating prose |
| Complex editing | Use ultrathink for trade-off analysis |
| </edge_cases> |
Architecture
Knowledge Base (Source of Truth) Presentation Layer (Output)
───────────────────────────────── ──────────────────────────
content/knowledge/ content/case-studies/
├── achievements/ content/experience/
├── stories/ content/variants/
└── metrics/ content/blog/
↓ generates ↑ informs
↓ ↑
[Content Manager: create | edit | sync]
Create Mode
Step 1: Determine Output Type
| Output | Location | Format |
|---|---|---|
| Case Study | content/case-studies/[##-slug].md | Markdown |
| Blog Post | content/blog/[date-slug].md | Markdown |
| Variant | content/variants/[company-role].yaml | YAML |
| Experience | content/experience/index.yaml | YAML (append) |
Step 2: Query Knowledge Base
# Search by topic
npm run search:evidence -- --terms "revenue,growth,api"
Or read directly:
content/knowledge/index.yaml— Entity relationshipscontent/knowledge/achievements/*.yaml— Source achievementscontent/knowledge/stories/*.yaml— Narratives
Step 3: Generate Content
For Case Studies:
---
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] }
cta:
headline: [Call to action]
action: calendly
linkText: Let's talk →
---
[Opening hook]
## The Challenge
## The Approach
## Key Decision
## Execution
## Results
## What I Learned
For Blog Posts:
---
slug: [slug]
title: [Title]
date: [YYYY-MM-DD]
tags: [tags]
excerpt: [1-2 sentence summary]
---
[Content]
Edit Mode
Step 1: Identify Edit Scope
| Edit Type | Scope | Files to Update |
|---|---|---|
| Factual correction | Knowledge base | Achievement → regenerate presentation |
| Messaging refinement | Presentation only | Case study/variant directly |
| New achievement | Knowledge base first | Achievement → update presentation |
| Metric update | Knowledge base | Achievement → sync to presentation |
Step 2: Execute Edit
Knowledge Base Updates:
- Edit source file in
content/knowledge/achievements/orstories/ - Update
content/knowledge/index.yamlif relationships changed - Regenerate affected presentation files
Presentation-Only Updates:
- Read current file
- Apply targeted edits (preserve structure)
- Validate against schema
Common Edit Patterns
| User Says | Action |
|---|---|
| "Update the numbers" | Edit achievement → sync presentation |
| "Make it more compelling" | Edit presentation narrative |
| "Add this achievement" | Create achievement → update presentation |
| "Fix inconsistency" | Identify source of truth → sync all |
Sync Mode
When knowledge base has changed, sync to presentation:
# Validate all content
npm run validate
# For variants
npm run variants:sync -- --slug {slug}
Consistency Checks
- Achievement metrics match case study metrics
- Experience highlights reflect achievements
- Variant relevance scores are justified
- Tags match knowledge base themes
Output Format
After any operation, report:
Mode: [create | edit | sync]
Files updated:
- path/to/file.yaml (description)
- path/to/file.md (description)
Knowledge base modified: Yes/No
Run validation: npm run validate
Quality Gate
See Quality Gate Template for universal checks.
Content-specific:
- All metrics specific and quantified
- STAR format complete for case studies
- Key quote/insight memorable
- Frontmatter validates against schema
<skill_compositions>
Works Well With
- dmitrii-writing-style — Invoke before generating prose
- generate-variant — For full variant pipeline (JD analysis, eval, redteam)
- cv-knowledge-query — Search knowledge base before creating
- ultrathink — For complex editing decisions </skill_compositions>
GitHub Repository
Related Skills
algorithmic-art
MetaThis Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.
subagent-driven-development
DevelopmentThis skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
executing-plans
DesignUse the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
cost-optimization
OtherThis Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.
