Claude-skill-registry content-documenter
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/content-documenter" ~/.claude/skills/majiayu000-claude-skill-registry-content-documenter && rm -rf "$T"
skills/data/content-documenter/SKILL.mdContent Documenter Skill
Transforms media-reviewer analysis into structured JSON documentation.
What This Skill Does
Takes your media-reviewer analysis and produces ContentSummary JSON with all 16 required fields.
Input
You should have already used media-reviewer skill which provides:
- Deep understanding of content structure
- Core ideas and their connections
- Narrative flow analysis
- Key moments and quotes with timestamps
- Thematic patterns
Output Fields
Core Fields (7)
-
contentId (string)
- Copy from input file frontmatter id field
-
headline (string, 10-200 chars)
- One compelling sentence capturing the essence
- Should make someone want to read more
- Focus on the unique value or insight
-
tldr (string, 20-500 chars)
- 3-5 sentence summary
- Cover the main points concisely
- Answer: "What is this about and why does it matter?"
-
bullets (string[], 1-10 items)
- Key points as bullet list
- Each bullet = one distinct insight
- Ordered by importance or logical flow
-
tags (string[], 1-20 items)
- Topic tags for categorization
- Include broad tags (e.g., "AI") and specific (e.g., "Constitutional AI")
- Lowercase, no special characters
-
sentiment ("positive" | "neutral" | "negative")
- Overall tone of content
- Based on language and framing, not topic
-
category (string)
- Content type: article, video, podcast, tutorial, interview, etc.
-
score.relevanceToUser (number, 0-1)
- Based on user-profile.json topics
- 1.0 = perfectly matches user interests
- 0.0 = no relevance to user interests
- Calculate: sum(matched topic weights) / sum(all topic weights)
Documentary Fields (8)
-
overview (string, min 50 chars)
- 2-3 rich paragraphs introducing the material
- Write for someone unfamiliar with the content
- Cover: what it is, who it's for, why it matters
- Set the stage for detailed analysis
-
keyThemes (string[], 3-7 items)
- Main topics/themes identified
- Broader than tags, more conceptual
- Examples: "The tension between safety and capability"
-
detailedAnalysis (string, min 100 chars)
- Documentary-style breakdown
- Follow the content's structure
- Explain each major section/segment
- Include specific details and examples
-
narrativeFlow (string, min 50 chars)
- How the content progresses
- Explain the arc and transitions
- Show how ideas build on each other
- Note pacing and structure choices
-
coreIdeas (CoreIdea[], 1-10 items) Each item has:
- concept: string - the idea name
- explanation: string (min 10 chars) - what it means in this context
- examples?: string[] - specific examples from content
-
importantQuotes (Quote[], 0-20 items) Each item has:
- text: string - EXACT verbatim quote (never paraphrase!)
- timestamp?: string - HH:MM:SS or MM:SS format (for video/audio)
- context?: string - what was being discussed when this was said
-
context (string, min 20 chars)
- Background needed to understand the content
- Prerequisites or prior knowledge assumed
- Historical or situational context
- Related work or references mentioned
-
relatedConcepts (string[], 0-15 items)
- Related topics mentioned or implied
- Connections to other ideas or fields
- What someone might want to learn next
Timestamp Format
For video/audio content:
- 30 seconds0:30
- 2 minutes 45 seconds2:45
- 1 hour 30 minutes1:30:00- Always use the format from the source (don't normalize)
JSON Output Example
{ "contentId": "abc123", "headline": "Constitutional AI introduces a novel approach to aligning language models through self-critique", "tldr": "This video explains Constitutional AI, Anthropic's method for training helpful and harmless AI assistants. The approach uses a set of principles (a 'constitution') to guide the model's self-improvement, reducing the need for human feedback while maintaining safety.", "bullets": [ "Constitutional AI uses self-critique guided by explicit principles", "The method reduces reliance on human feedback for safety training", "Models learn to identify and correct their own harmful outputs" ], "tags": ["ai", "safety", "alignment", "constitutional-ai", "anthropic", "rlhf"], "sentiment": "positive", "category": "video", "score": { "relevanceToUser": 0.85 }, "overview": "This comprehensive video from Anthropic introduces Constitutional AI...", "keyThemes": [ "AI Safety and Alignment", "Self-supervised learning for safety", "Reducing human feedback requirements", "Explicit principles for AI behavior" ], "detailedAnalysis": "The video opens with a clear problem statement...", "narrativeFlow": "The presentation follows a classic problem-solution structure...", "coreIdeas": [ { "concept": "Constitutional AI", "explanation": "An alignment approach where AI models critique and revise their own outputs based on explicit principles", "examples": ["A model generating a harmful response, then self-critiquing"] } ], "importantQuotes": [ { "text": "The key insight is that we can use AI to supervise AI", "timestamp": "12:34", "context": "Explaining the core mechanism that makes Constitutional AI scalable" } ], "context": "This video builds on prior work in RLHF...", "relatedConcepts": ["RLHF", "red teaming", "scalable oversight", "AI alignment"] }
Quality Checklist
Before outputting, verify:
- All 16 fields are present
- All minimum lengths are met
- Quotes are exact (verbatim)
- Timestamps are included for video/audio
- contentId matches input file
- relevanceToUser is calculated from user profile
- JSON is valid
Important Rules
- Include ALL 16 fields - never omit any
- Use exact verbatim quotes - never paraphrase
- Include timestamps when source has them
- Meet all minimum character requirements
- Follow the JSON schema exactly
- Base relevanceToUser on actual user profile
- Never paraphrase quotes
- Never add interpretation beyond source
- Never omit required fields
- Never guess timestamps - only include if known