If you caught the reel, this is the full build. By the end you'll have Claude installed, all 7 skills ready to call, and a real production system covering research, writing, voice consistency, video, audio, ad intelligence, and persistent memory.
at a glanceSkim this first, then install the 2 or 3 that solve a real problem in your week. You don't need all seven.
| Skill | What it does | Cost |
|---|---|---|
| Voice DNA | Captures how you actually write, so everything else sounds like you | Free |
| Content engine | One piece into 8 platform-ready formats, in your voice | Free |
| Deep research | A cited brief plus 5 ready-to-film angles on any topic | Free tier (Tavily) |
| Competitor ads | Pulls and diffs your rivals' Meta and LinkedIn ads weekly | Apify from $29/mo |
| Remotion video | Renders a finished MP4 from a script | Free (solo or up to 3) |
| ElevenLabs podcast | Turns long-form into a two-host episode | ~$22/mo |
| Supermemory | Keeps context alive across every session | Free tier / $19 pro |
There are three ways to use Claude. All three support skills. The skill content itself is identical everywhere, only the way you add it differs.
| Surface | What it is | Use when |
|---|---|---|
| Claude.ai | Browser app at claude.ai | Easiest to start, no download. Works for skills that don't need to touch files on your computer. |
| Claude Desktop | Mac/Windows app | Recommended for most people. Reads and writes files on your computer, so most skills work. |
| Claude Code | Terminal version (CLI) | The most powerful. Runs video renders and audio stitching directly from chat. |
Done.
On Mac: Press Cmd+Space, type "Terminal," hit Enter. Install Node.js from nodejs.org if you don't have it. Then in Terminal:
npm install -g @anthropic-ai/claude-code
claude
On Windows: Open PowerShell. Install Node.js from nodejs.org with "Add to PATH" checked. Then run the same two commands above. Verify with claude --version.
A skill is a folder with one markdown file inside (SKILL.md). The format is identical across all three Claudes, so you build the SKILL.md once and use it anywhere.
Each one starts with YAML frontmatter (the little settings block at the top, between the two --- lines):
---
name: voice-dna
description: Analyze writing samples and extract a reusable voice profile. Use when the user wants to capture their writing voice.
allowed-tools: Read, Write
---
(skill instructions go here)
The description is the most important field. Claude reads it to decide when the skill is relevant, so include the trigger words you'll actually type.
Claude.ai (browser): Click your profile (bottom left), go to Customize, then Skills. Hit Add (next to Browse), choose Write skill instructions, paste the SKILL.md content. Save.
Claude Desktop: Same path: Customize, Skills, Add, Write skill instructions. Paste, save, restart the app.
Claude Code (terminal): Run mkdir -p ~/.claude/skills/<name>, create a file called SKILL.md inside that folder, paste the content. Auto-loads in your next session.
Most work in all three. Two of them shell out to render video or stitch audio, so they need Claude Code.
| Skill | Browser | Desktop | Code |
|---|---|---|---|
| Voice DNA | Yes | Yes | Yes |
| Content Engine | Yes | Yes | Yes |
| Deep Research | Yes | Yes | Yes |
| Competitor Ads | Yes (Connectors) | Yes | Yes |
| Supermemory | Yes (Connectors) | Yes | Yes |
| Remotion Video | No | No | Yes |
| ElevenLabs | No | No | Yes |
Listed in the order they appeared in the reel. Skill 7 (Supermemory) is the one I forgot to mention. It's honestly one of the most useful.
What it does. Generates a finished MP4 from a script or brief. Text animations, transitions, brand colours. Best for data viz, text-heavy reels, templated formats.
Setup. Node.js (which you have from Step 1) and Claude Code. The skill bootstraps a Remotion project the first time you use it.
Cost. Free for solo use and teams up to 3 people; a paid company license kicks in at 4+ people. Needs about 500MB disk space.
Full SKILL.md (copy this whole block into one SKILL.md file):
---
name: remotion-video
description: Generate a programmatic video from a script or brief using Remotion. Renders MP4 in 9:16 or 16:9 with text animations and brand styling. Use when the user asks to make a video, create a reel, or render a video from a script.
allowed-tools: Bash, Read, Write
---
# Remotion video
You are a Remotion video engineer. Generate a programmatic video from the provided script or brief.
## Step 1: ensure project exists
If a remotion-project/ folder doesn't exist in the working directory, create one by running:
npx create-video@latest --yes --blank remotion-project
cd remotion-project && npm install
## Step 2: parse the brief
Extract from the user's input:
1. Main message or headline
2. Key talking points or scenes
3. Duration (default 60s for 9:16, 30s for 16:9)
4. Aspect ratio (9:16 for reels, 16:9 for YouTube)
5. Brand colours (default cream #FAF7F2, Claude orange #D97757)
## Step 3: write src/Composition.tsx
A React component using Remotion primitives (AbsoluteFill, Sequence, useVideoConfig, interpolate, useCurrentFrame). Divide the script into Sequences (one per scene). Animate text with interpolate. Apply brand colours.
## Step 4: register in src/Root.tsx
Use Composition with id "MyVideo", durationInFrames at fps * total seconds, width/height set for the chosen aspect ratio (1080x1920 for 9:16, 1920x1080 for 16:9).
## Step 5: render
Run:
npx remotion render src/index.ts MyVideo output.mp4
Render takes 2 to 5 minutes on typical hardware.
## Step 6: report
Print the file path of the rendered MP4 to the user.
What it does. Pulls every active Meta and LinkedIn ad your competitors are running. Diffs week-over-week (new, scaling, killed) and extracts hook patterns and offer structures. Stop guessing what's working.
Setup.
~/.claude.json (or run claude mcp add apify -- npx -y @apify/actors-mcp-server).~/.claude/skills/competitor-ads-extractor/competitors.json. In Desktop/browser: paste it inline when you run the skill the first time.{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": { "APIFY_TOKEN": "your_token_here" }
}
}
}
[
{ "name": "BrandA", "facebook_page_url": "https://facebook.com/branda", "linkedin_company_url": "https://linkedin.com/company/branda" },
{ "name": "BrandB", "facebook_page_url": "https://facebook.com/brandb", "linkedin_company_url": "https://linkedin.com/company/brandb" }
]
Cost. Apify free: $5/mo credit (one test run). Apify Starter: about $29/mo, covers 30-80 brand-scans monthly. Start free, upgrade once you're running this every week.
Full SKILL.md:
---
name: competitor-ads-extractor
description: Pulls Meta and LinkedIn ads for a list of competitor brands, diffs week-over-week, extracts hook patterns and offer structures. Use when the user asks about competitor ads, ad library, or weekly ad scan.
allowed-tools: Bash, Read, Write
---
# Competitor ads extractor
## Inputs
Read the competitors list from competitors.json. If none exists, ask the user for 3 to 10 competitor brand URLs and create the file.
## Run
For each competitor:
1. Call Apify Actor apify/facebook-ads-scraper with input { "urls": [facebook_page_url], "country": "AU", "activeStatus": "active" }
2. Call Apify Actor isotonic/linkedin-ads-library-competitive-creative-scraper with { "companyUrls": [linkedin_company_url] }
3. Save raw output to runs/YYYY-MM-DD/<brand>.json
## Diff
Compare today's run to the most recent previous run. For each brand surface:
- New ads launched this week (in today, not in last)
- Scaling ads (live in both, longer run-time, more variants)
- Killed ads (in last, not in today)
## Synthesise
Group new and scaling ads across competitors. Output a markdown brief with:
1. Hook patterns. First 5-10 words of every ad. Cluster by pattern (question, stat, callout, fear, curiosity).
2. Offer structures. Headline + CTA + price point. Note free trials, lead magnets, tripwires.
3. Visual formats. Static, carousel, video, UGC, talking head.
4. What's working. Brands with 3+ scaling ads of the same hook style.
5. Steal list. Top 5 hooks worth adapting.
## Output
Save brief to briefs/YYYY-MM-DD-brief.md. Print the steal list to chat.
What it does. Takes a topic. Runs multiple web searches, reads top sources, returns one tight brief with executive summary, cited findings, gaps, and 5 ready-to-film content angles. Real URLs, no hallucinations.
Setup.
~/.claude/settings.json. In Desktop: Customize, then Connectors, custom env vars.{
"env": {
"TAVILY_API_KEY": "tvly-xxxxxxxxxxxx"
}
}
Cost. Free at solo creator volume. Paid Project tier: $30/mo for 4,000 credits if you ever hit the limit.
Full SKILL.md:
---
name: deep-research
description: Researches a topic using Tavily web search, synthesises findings with citations, and generates 5 content angles. Use when the user asks for research, a brief, sources on a topic, or content angles.
allowed-tools: Bash, Read, Write
---
# Deep research
## Input
Topic from user. If vague, ask one clarifying question (audience, depth, recency window).
## Search
Run 3 Tavily search calls with different angles via curl POST to https://api.tavily.com/search with header "Authorization: Bearer $TAVILY_API_KEY" and a JSON body containing query, search_depth "advanced", max_results 8, include_answer true.
Query angles:
1. Plain topic plus current year
2. Topic plus "data," "stats," or "study"
3. Topic plus "what nobody talks about" or "underrated"
## Read deeper
For the 3 to 5 highest-scoring URLs, run Tavily extract via POST to https://api.tavily.com/extract with the URLs.
## Synthesise
Output a markdown brief with:
1. Executive summary. 3 to 5 sentences on the current state of play.
2. Key findings. 5 to 8 bullets, each cited as [source](url).
3. Counterpoints. Anything contradicting consensus.
4. Gaps. What's missing or stale in public coverage.
5. Five content angles. Each with a hook line, format (reel, carousel, long-form), and 1-line payoff.
## Output
Save to briefs/YYYY-MM-DD-<slug>.md. Print executive summary and 5 angles to chat.
What it does. Reads 10 to 20 samples of your writing (captions, posts, newsletters, transcripts) and extracts the specific signals that make your voice yours. Saves a reusable profile that every other content skill reads.
Setup. No APIs, no keys. Runs entirely on Claude.
Cost. Free.
Full SKILL.md:
---
name: voice-dna
description: Analyze 10-20 samples of the user's writing and produce a structured voice profile other skills can read. Use when the user says /voice-dna or wants to capture their writing voice.
allowed-tools: Read, Write
---
# Voice DNA
You are extracting a reusable voice signature from a user's existing writing. The output is a reference document, not a vibe summary. Be analytical. Pull concrete examples and quote them verbatim.
## Step 1: gather samples
Ask the user how they want to provide samples:
- Paste 10 to 20 pieces directly in chat
- Or give a folder path. Read every .md and .txt file in it.
If fewer than 10 samples, warn the profile will be thinner than ideal but proceed.
## Step 2: analyze across all samples
1. Sentence length. Average words per sentence. Range. Sentence-fragment frequency as %.
2. Vocabulary level. Formality on a 1-10 scale with justification. Top 20 distinctive words and bigrams. Skip stopwords.
3. Tonal markers. Place voice on three axes: formal-casual, warm-edgy, contrarian-agreeable. Quote evidence per axis.
4. Pacing. Hook openers, mid-piece pivots, sign-offs. Quote 3-5 examples of each.
5. Anti-patterns. Words and moves the user never uses. Cross-check common tics: em dashes, "in today's world," "let's dive in," "the truth is," exclamation points, hashtags.
6. Signature moves. 5 to 10 repeatable patterns unique to this voice. Quote one occurrence each.
7. Audience address. Frequency of "you" vs "we" vs "I." Direct vs indirect.
8. Emotional range. Which emotions show up, which are absent. One quoted example per emotion present.
## Step 3: write the profile
Save to ~/.claude/voice-profile.md. Overwrite if it exists.
Sections in order: Snapshot (one paragraph another skill can paste at the top of a system prompt), Sentence Mechanics, Vocabulary, Tonal Markers, Pacing, Signature Moves, Anti-patterns, Audience Address, Emotional Range, Reference Lines (5 fully-quoted lines that best capture the voice).
## Step 4: confirm
Print the file path and the snapshot section. Tell the user to rerun /voice-dna any time their voice evolves.
What it does. Paste a long-form piece. Claude writes a two-host conversation, calls ElevenLabs to voice each line, stitches the audio. You get an 8 to 12 minute podcast episode without recording. Needs Claude Code (it stitches audio with ffmpeg).
Setup.
brew install ffmpeg. Windows: choco install ffmpeg in PowerShell as admin.{
"env": {
"ELEVENLABS_API_KEY": "sk_your_key_here"
}
}
Default voice pairs:
21m00Tcm4TlvDq8ikWAM) and Adam (pNInz6obpgDQGcFmaJgB)EXAVITQu4vr4xnSDxMaL) and Antoni (ErXwobaYiN019PkySvjV)/v1/voices endpoint) and paste it into the skill.Cost. Creator $22/mo covers 4-5 full episodes with commercial rights. Free tier gets you one test episode.
Full SKILL.md:
---
name: elevenlabs-podcast
description: Turn any long-form text into a two-host podcast episode. Generates a conversational script, voices each line through ElevenLabs, and stitches the audio into a finished MP3. Use when the user wants to convert a blog post, newsletter, or article into podcast audio.
allowed-tools: Bash, Read, Write
---
# ElevenLabs two-host podcast
## Inputs
User gives a file path or pasted text. If unclear, ask which.
## Voice IDs (defaults)
HOST_A: 21m00Tcm4TlvDq8ikWAM (Rachel, warm)
HOST_B: pNInz6obpgDQGcFmaJgB (Adam, analytical)
If a default voice ID is unavailable on your account, replace it with a live voice_id from GET https://api.elevenlabs.io/v1/voices.
## Step 1: read the source
Read the file or use the pasted text directly.
## Step 2: generate the script
Write a natural two-host conversation, ~1500 to 1800 words (8 to 12 min at 150 wpm).
Structure:
- Cold open. Host A hooks the topic in one sentence.
- Intro. Both hosts greet, name the show, set up.
- Body. 3 to 5 segments. Each = Host A introduces, Host B reacts/challenges/builds, 4 to 8 exchanges.
- Mini-debate. At least one moment of respectful disagreement.
- Wrap. Key takeaway from each host. Sign-off.
Format every line on its own row, prefixed exactly [HOST A] or [HOST B]. No stage directions, no music cues, no host names inside dialogue.
Save script to ./podcasts/script_<timestamp>.txt
## Step 3: voice each line
Create ./podcasts/audio_<timestamp>/ as a working folder.
For each line: use the matching voice ID, strip the [HOST X] prefix, save as 0001.mp3, 0002.mp3, etc. (zero-padded for concat order).
Call: POST to https://api.elevenlabs.io/v1/text-to-speech/<voice_id>?output_format=mp3_44100_128 with header "xi-api-key: $ELEVENLABS_API_KEY", body { "text": "...", "model_id": "eleven_multilingual_v2" }, save response as the indexed MP3.
If a line fails, retry once, then skip and log.
## Step 4: stitch with ffmpeg
Build filelist.txt inside the audio folder, one line per clip:
file '0001.mp3'
file '0002.mp3'
Then run:
ffmpeg -f concat -safe 0 -i filelist.txt -c copy ../episode_<timestamp>.mp3
## Step 5: report
Tell the user: final file path, episode length (use ffprobe), approximate character count used, path to script file in case they want to tweak.
What it does. Takes one pillar piece (article, transcript, podcast). Produces 8 platform-ready formats in one pass: LinkedIn post, X thread, Instagram caption, email newsletter, short-form video script, blog intro, pull-quote carousel, cold outreach. Reads your Voice DNA profile so every format sounds like you.
Setup. Install Voice DNA first (skill #4). Content Engine reads ~/.claude/voice-profile.md on every run. No APIs, no keys.
Cost. Free.
Full SKILL.md:
---
name: content-engine
description: Turn one pillar piece into 8 platform-ready formats (LinkedIn, X thread, IG caption, email, short-form script, blog intro, pull-quote carousel, cold outreach). Use when the user wants to repurpose a piece or spin one article into multi-platform content.
allowed-tools: Read, Write
---
# Content engine
Voice consistency comes from the profile. Hook variation comes from you.
## Step 1: load voice
Read ~/.claude/voice-profile.md if it exists. Apply the snapshot, signature moves, and anti-patterns to every output.
If missing, surface this warning before proceeding: "No voice profile found. Run /voice-dna first for best results. Continuing with neutral defaults."
## Step 2: get the pillar piece
Ask the user to paste content or give a file path. Read the full piece before drafting.
## Step 3: extract candidate hooks
Pull 2 to 3 hook candidates from the pillar. Look for: most contrarian claim, most specific number or proof, most relatable pain point, most surprising reframe. List them at the top of working notes. Different hooks go to different formats so the 8 outputs don't all open the same way.
## Step 4: draft 8 formats
Hard rule: each format gets a different opening hook.
1. LinkedIn post. ~1300 chars. Hook + body with line breaks every 1-2 sentences + CTA. No hashtags. No emojis unless voice profile uses them.
2. X/Twitter thread. 5 to 7 posts, each under 280 chars. Post 1 = hook. Post 2 = setup. 3-6 = payoff. Final = takeaway or CTA. No "Thread:" or "1/" prefix unless voice uses them.
3. Instagram caption. All lowercase except "I" and proper nouns. 2 to 3 emojis. Casual register. 4 to 8 short paragraphs. Hook opener, soft CTA close.
4. Email newsletter. Subject under 50 chars, curiosity-led. Body 200 to 400 words. Hook paragraph, story or context, lesson, sign-off.
5. Short-form video script. 45 to 75 seconds spoken (110 to 180 words). 4-beat structure: hook, context, reveal, CTA. Plain spoken text only.
6. Blog intro. First 200 words that earn the click-through. Hook with promised payoff. Stakes by word 75. Tease framework by word 150. End on forward-pull line.
7. Pull-quote carousel. 5 to 7 slides, max 20 words per slide. Slide 1 = hook quote. Final = takeaway or CTA. Quotes drawn from pillar, not invented.
8. Cold outreach angle. 60-word DM or email opener. Specific to one persona implied by the pillar. Lead with relevance, end on a low-friction ask.
## Step 5: save outputs
Create ./content-engine-output/<timestamp>/ (timestamp YYYY-MM-DD-HHMM). Write each format to its own file: 01-linkedin.md, 02-twitter-thread.md, 03-instagram.md, 04-email.md, 05-short-form-script.md, 06-blog-intro.md, 07-carousel.md, 08-cold-outreach.md. Also write 00-hooks.md with the candidate hooks and which hook went where.
## Step 6: print to chat
Paste all 8 outputs in chat. Lead with candidate hooks, then the 8 formats. If voice-profile.md was missing, repeat the warning at the bottom.
What it does. Saves everything you tell Claude across sessions and quietly reinjects the relevant bits next time. You stop re-explaining your business, your voice, last week's decisions every time. A long-term notebook Claude reads from before answering.
Setup.
sm_...).~/.claude.json.memory, recall, and whoAmI as tools Claude can call.{
"mcpServers": {
"supermemory": {
"command": "npx",
"args": [
"-y",
"install-mcp",
"https://mcp.supermemory.ai/mcp",
"--header",
"Authorization: Bearer sm_your_key_here"
]
}
}
}
Pro upgrade ($19/mo). Supermemory has an official Claude Code plugin that auto-injects relevant memories at the start of every session (instead of Claude calling memory tools manually). Run in Claude Code:
/plugin marketplace add supermemoryai/claude-supermemory
/plugin install supermemory
Then add export SUPERMEMORY_CC_API_KEY="sm_your_key_here" to your shell profile (~/.zshrc on Mac), and source ~/.zshrc.
Verify it works. In a fresh session: "Remember that my brand voice is warm and approachable, and my main offer is a $497 automation sprint." Close the session. Open a new one. Ask: "What's my brand voice and main offer?" If wired correctly, Claude pulls the facts back without you re-pasting.
Cost. Free tier covers light personal use. Pro $19/mo for daily use plus auto-inject. Skip Scale ($399/mo) unless you're running production agents.
No SKILL.md needed. Supermemory works as an MCP server, not a skill. The setup above is the entire install.
Say you're Maya, a marketing consultant trying to publish across 4 platforms a week. The chain you'd run:
Total monthly cost at solo creator volume: roughly $70 to $110 in API and tool fees (mostly ElevenLabs Creator + Apify Starter). Everything else is free or included in your Claude plan.
Tick in order. Skip what you don't need yet.
If you only do one thing today, run Voice DNA. It's the multiplier on every other skill.
Send this to one person who keeps saying they don't have time to make content.