Introduction
Why this exists
After my content automation post blew up, everyone asked the same thing: "How do you actually use Claude to scale content?"
So I turned my entire workflow into 5 reusable skills. Sharp. Fast. Built to repeat. This page documents all of them with the full SKILL.md code, so you can drop them into Claude Code and run the same stack today.
What is Claude Code?
Claude Code is Anthropic's official CLI for Claude. It runs in your terminal with access to your files, browser, and the MCP servers you connect. If you have not installed it yet, see the Requirements section below.
What are skills?
Skills are reusable prompt + workflow files. You drop a folder with a SKILL.md into ~/.claude/skills/, and Claude can invoke it with a slash command like /reel-scripter or /hook-miner.
Most people use Claude like a chatbot. I use it like an operating system. Each skill handles one part of the content stack. Small, sharp, reusable. That's the unlock.
What's Inside
Want me to set this up for you?
Skip the trial and error. I'll install the stack on your machine and tune it to your niche in 15 minutes.
📞 Book a Free 15-Min CallRequirements
Required software
1. Claude Code CLI
Anthropic's official command-line tool. Install via npm:
npm install -g @anthropic-ai/claude-code
Then authenticate:
claude login
2. Node.js 18+
Required for MCP servers. Download from nodejs.org.
node --version
3. Python 3.10+ (only for /infographic-builder)
The infographic skill calls a Python script that hits the OpenRouter image API. Skip if you only want the text skills.
MCP servers used
MCP (Model Context Protocol) servers give Claude Code access to external tools. Each skill below lists what it needs.
| MCP Server | Used By | Purpose |
|---|---|---|
| Playwright | /daily-pulse | Scrape LinkedIn search for top viral posts in your niche |
| Obsidian | /hook-miner, /reel-scripter | Read your post archive and voice notes |
| Filesystem (built in) | All skills | Save scripts, slides, and PNG output |
| OpenRouter API | /infographic-builder | Generate images via Gemini nano-banana |
Installation Guide
Step 1: Create the skills folder
Claude Code looks for user skills in ~/.claude/skills/. Make sure that folder exists:
mkdir -p ~/.claude/skills
Step 2: Create one folder per skill
Each skill lives in its own folder with a SKILL.md inside.
cd ~/.claude/skills
mkdir reel-scripter carousel-creator infographic-builder daily-pulse hook-miner
Step 3: Paste the SKILL.md bodies
Scroll down to each skill section on this page and copy the SKILL.md block into the matching folder. For example:
~/.claude/skills/reel-scripter/SKILL.md
~/.claude/skills/carousel-creator/SKILL.md
~/.claude/skills/infographic-builder/SKILL.md
~/.claude/skills/daily-pulse/SKILL.md
~/.claude/skills/hook-miner/SKILL.md
Step 4: Set up CLAUDE.md (recommended)
The skills work without it, but a CLAUDE.md file at ~/.claude/CLAUDE.md tells Claude who you are, what your niche is, and where your post archive lives. See the CLAUDE.md Setup section below for the template.
Step 5: Run a skill
Open Claude Code and type a slash command:
/reel-scripter
I want to talk about why most AI workflows fail in week 2.
Rather have it set up for you?
Book a 15-minute call. We'll install the full stack on your machine, tune it to your niche, and run the first /daily-pulse together.
📞 Book a Free 15-Min Call/reel-scripter
Reel Scripter
What it does
You dump 3 messy idea fragments. Claude returns 5 polished talking head scripts using the Hook + Body + CTA framework with a loop technique baked into every closing line.
The workflow:
- Reads your raw idea dump (1 line per idea, no formatting required)
- Picks the 3 strongest angles and adds 2 more variants
- Writes Hook word for word (this is the scroll-stopper)
- Writes Body in 2 to 3 punchy lines, one idea each
- Writes CTA that loops back to the Hook (so viewers rewatch)
- Adds production notes: jump cuts, text overlay, total length
Requirements
- Claude Code CLI
- Optional: Obsidian MCP if you want it to pull voice samples from past posts
How to use
/reel-scripter
1. Why most AI tools fail after 2 weeks
2. The "operator" mental model for using Claude
3. One workflow that saves me 10 hours a week
SKILL.md (copy-paste)
Save this to ~/.claude/skills/reel-scripter/SKILL.md:
---
name: reel-scripter
description: Turn 3 messy ideas into 5 polished talking head scripts for Instagram Reels and TikTok using the Hook-Body-CTA framework with a loop technique. Use when the user wants Reel scripts, talking head scripts, or short-form video scripts from raw ideas.
---
# Reel Scripter
Turn raw ideas into scroll-stopping talking head scripts.
## When to invoke
- User runs /reel-scripter
- User asks for "scripts from these ideas" or "Reel scripts"
- User dumps a list of topics and wants polished output
## Inputs
1 to 5 short idea fragments. No formatting required. Lines, bullets, or a paragraph all work.
## Output
5 finished scripts. For each script:
**HOOK (0 to 3 sec)**
> "Word for word hook line."
**BODY (3 to 30 sec)**
> "Line 1: name the pain.
> Line 2: agitate with a stat or detail.
> Line 3: deliver the insight.
> Line 4: make it concrete."
**CTA (last 5 sec)**
> "Loop back to the hook."
**Production notes**
- Jump cut at every sentence
- Text overlay on frame 1: "[hook line]"
- Total: ~X words / ~X seconds
## Framework rules
### Hook (0 to 3 sec)
Pattern interrupt. Stop the scroll.
- No "Hey guys" or "In this video"
- Bold claim, contrarian take, or surprising question
- Script word for word
- Same line doubles as text overlay
Hook formulas:
1. Contrarian: "Stop doing X."
2. Bold claim: "90% of people get X wrong."
3. Question: "Why does nobody talk about X?"
4. Confession: "I used to think X. I was wrong."
5. Number: "One change gave me X result."
### Body (3 to 30 sec)
One idea only. Never multiple topics.
- 2 to 3 punchy lines
- ~80 to 100 words
- Each sentence gets a jump cut
Structure: Problem, Agitate, Solution.
### CTA (last 5 to 10 sec)
Close the loop. Feel like a favor, not a sell.
- Script word for word
- Mirror the Hook line so viewers rewatch
- No "follow for more"
## Specs
- Length: 30 to 60 seconds
- Word count: 90 to 150 words
- Aspect ratio: 9:16
- Speak rate: ~150 words/minute
## Tone
Direct, conversational, practical. First person is fine. Short punchy sentences. No jargon.
## After delivery
Always offer 3 alternative hooks for the strongest script. Same body, different hook = totally different performance.
Tips
- Always pick the hook last. Body first, hook after.
- A/B test hooks. Same body, 3 hooks. The data tells you what your audience clicks.
- One idea per script. Two ideas = no idea.
/carousel-creator
Carousel Creator
What it does
One topic in. 7 designed slides out, ready to upload to LinkedIn or Instagram. Dark aesthetic, no Canva, no design tool.
The workflow:
- Reads your topic and angle
- Outlines 7 slides: Hook, Problem, Insight 1, Insight 2, Insight 3, Reframe, CTA
- Writes copy for each slide (max 25 words)
- Generates an HTML carousel with the dark aesthetic baked in
- Exports each slide as a 1080x1350 PNG via headless browser
- Drops the PNGs in your working directory ready to post
Requirements
- Claude Code CLI
- Playwright (for headless PNG export)
How to use
/carousel-creator
Topic: Why most AI agents stall in week 2
Angle: It's not the model. It's the workflow design.
SKILL.md (copy-paste)
Save this to ~/.claude/skills/carousel-creator/SKILL.md:
---
name: carousel-creator
description: Turn one topic into a 7-slide LinkedIn or Instagram carousel with a dark aesthetic. Generates an HTML deck and exports each slide as a PNG ready to post. Use when the user wants a carousel, slide deck, or "swipeable" post from one topic.
---
# Carousel Creator
Turn one topic into 7 designed, post-ready slides.
## When to invoke
- User runs /carousel-creator
- User asks for "carousel", "slides", or "swipeable post"
## Inputs
- Topic (1 line)
- Angle (1 line, optional but recommended)
## Output structure
Always 7 slides:
1. **Hook** - bold claim or contrarian take, 6 to 10 words
2. **Problem** - name what's broken, 1 sentence
3. **Insight 1** - first piece of the new model
4. **Insight 2** - second piece
5. **Insight 3** - third piece
6. **Reframe** - the "so what" payoff line
7. **CTA** - one ask: comment, follow, or DM
Each slide: max 25 words. No paragraphs.
## Visual spec (dark aesthetic)
- Background: #0a0a0a
- Primary text: #ffffff
- Accent: #667eea
- Font: Inter, 600 weight for body, 800 weight for hooks
- Slide size: 1080 x 1350 (LinkedIn portrait)
- Padding: 80px
- Slide number small in bottom right (e.g. "1 / 7")
- Last slide has a tinted accent gradient background
## Process
1. Outline the 7 slides as plain text. Show the user. Let them tweak.
2. Generate a single HTML file: each slide is a div sized 1080 x 1350.
3. Use Playwright to load the file in a headless browser, screenshot each slide, save as slide-1.png through slide-7.png.
4. Drop the PNGs in the current working directory.
5. Show the user slide 1 inline with the Read tool to verify the look.
## HTML template
```html
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@600;800&display=swap');
.slide { width: 1080px; height: 1350px; background: #0a0a0a; color: #fff; font-family: Inter, sans-serif; padding: 80px; display: flex; flex-direction: column; justify-content: space-between; }
.hook { font-size: 72px; font-weight: 800; line-height: 1.1; }
.body { font-size: 44px; font-weight: 600; line-height: 1.3; }
.accent { color: #667eea; }
.num { font-size: 24px; opacity: 0.5; align-self: flex-end; }
.last { background: linear-gradient(135deg, #1a1530 0%, #0a0a0a 100%); }
</style>
```
## Tone
Same voice as the user's other content. Pull from CLAUDE.md if available. Short, direct, no jargon.
## Tips for the user
- Carousels live or die on slide 1 and slide 2. Make those the sharpest.
- Slide 7 should ask for one specific thing, not three.
- Reuse a winning hook from /hook-miner if available.
Tips
- Slide 1 = the whole post. If it does not stop the scroll, the rest is dead.
- One ask on the CTA slide. Not three. One.
- Dark aesthetic outperforms light in my niche. Test for yours.
/infographic-builder
Infographic Builder
What it does
Take one insight and turn it into a clean LinkedIn infographic. Hand-drawn notebook style by default (the one that consistently stops the scroll), or enterprise style for B2B audiences.
The workflow:
- Reads your post or topic
- Extracts the main claim, structure, and quotable phrases
- Writes a short briefing: title, layout, boxes, callout, CTA
- You confirm or tweak the briefing
- Calls a Python script that hits OpenRouter Gemini image API
- Returns a 1080x1080 PNG ready to attach to the post
Requirements
- Claude Code CLI
- Python 3.10+
- OpenRouter API key (set as
OPENROUTER_API_KEY)
How to use
/infographic-builder
Insight: Most AI workflows stall because the prompt is overengineered and the workflow is underdesigned.
SKILL.md (copy-paste)
Save this to ~/.claude/skills/infographic-builder/SKILL.md:
---
name: infographic-builder
description: Turn one LinkedIn post or insight into a square 1080x1080 infographic image. Default style is hand-drawn notebook (cream paper, marker headlines, highlighter). Generates the image via OpenRouter Gemini. Use when the user wants an infographic, whitepaper image, or visual for a post.
---
# Infographic Builder
Turn one insight into a scroll-stopping LinkedIn visual.
## When to invoke
- User runs /infographic-builder
- User asks for "an infographic", "image for this post", or "whitepaper visual"
## Inputs
- A post or single insight (1 paragraph max)
- Optional: style preference (notebook or enterprise)
## Workflow
1. Read the post or insight. Extract:
- Main claim
- Structure (list, framework, comparison, story)
- Quotable phrases (the lines worth highlighting)
- CTA if any
2. Write a short briefing in chat (under 200 words):
- Title and subtitle
- Layout (grid, stack, pyramid, timeline)
- 3 to 5 boxes with header + 2 to 3 bullet points each
- Which phrases get the highlighter treatment
- Bottom callout line + CTA row
3. Wait for user to confirm or tweak.
4. Generate the image: edit PROMPT and OUT_PATH in generate_image.py, then run:
```
python3 ~/.claude/skills/infographic-builder/generate_image.py
```
5. Show the result inline with the Read tool. Flag any wobbly text and offer a regen.
## Default style: hand-drawn notebook
- Cream paper background with subtle texture
- Hand-lettered bold black headlines (marker on paper feel)
- Hand-drawn wobbly borders around colored boxes (red, green, blue, orange)
- Yellow highlighter marks on the quotable phrases (1 per box max)
- Doodle icons (chat bubble, gear, infinity, handshake)
- Big yellow highlighter callout at the bottom
- Small CTA row with doodle icons
## Alternative style: enterprise
- White or off-white background
- Clean sans-serif (Inter or system)
- Simple line icons, no doodles
- 1 accent color from the user's brand (default #667eea)
- Use when the audience is corporate B2B
## Specs
- Output: 1080 x 1080 PNG
- Max 4 to 5 boxes (mobile readability drops fast)
- Max 1 highlighted phrase per box
## Setup (one-time)
The Python script needs:
```
export OPENROUTER_API_KEY="sk-or-v1-..."
```
Add to ~/.zshrc for persistence.
## Model
Default: google/gemini-3-pro-image-preview (nano-banana 2)
Fallback: google/gemini-2.5-flash-image-preview
## Files
- SKILL.md (this file)
- generate_image.py (edit PROMPT and OUT_PATH, run)
- STYLE_TEMPLATES.md (full prompt templates per style)
## Tips for the user
- Square 1:1 = best LinkedIn engagement
- Gemini occasionally wobbles letters. Regen or strip text and add later.
- The highlighter draws the eye. Pick the most quotable line per box.
- Never commit the API key to git.
generate_image.py is short. It POSTs the prompt to OpenRouter, decodes the base64 image, and saves the PNG. Ask Claude to scaffold it on first run if you don't already have it.
Tips
- Hand-drawn beats stock. Always. People scroll past stock.
- One quote per box, highlighted. The eye lands on yellow first.
- Regen before you ship. Gemini occasionally typos letters.
/daily-pulse
Daily Pulse
What it does
Every morning at 6am, Claude pulls the 10 most viral posts in your niche, extracts the hook and angle from each, and drops a prioritized list in your Obsidian inbox. This is my idea engine. I never start the day staring at a blank page.
The workflow:
- Cron fires at 6am via Claude's
scheduleskill - Claude opens LinkedIn search using Playwright MCP
- Searches your niche keywords from CLAUDE.md
- Filters posts from last 24 hours, sorted by reactions
- Pulls top 10 by engagement (likes + comments + shares)
- For each: extracts hook line, angle, and engagement count
- Writes a Markdown digest to your Obsidian inbox
Requirements
- Claude Code CLI
- Playwright MCP (for LinkedIn browsing)
- Obsidian MCP (for writing the digest)
scheduleskill installed (already on your machine if you use Claude Code regularly)- One-time: log into LinkedIn in the Playwright browser profile
How to use
/daily-pulse
Or schedule it once and forget:
/schedule daily at 06:00 /daily-pulse
SKILL.md (copy-paste)
Save this to ~/.claude/skills/daily-pulse/SKILL.md:
---
name: daily-pulse
description: Pull the 10 most viral posts in the user's niche from the last 24 hours and drop them as a Markdown digest in the Obsidian inbox. Designed to run as a daily cron at 6am via the schedule skill. Use when the user wants their daily content idea feed.
---
# Daily Pulse
Your daily idea engine. Top 10 viral posts in your niche, every morning.
## When to invoke
- User runs /daily-pulse manually
- The schedule skill triggers it at 06:00 daily
- User asks "what's hot in my niche today?"
## Inputs
- Niche keywords from ~/.claude/CLAUDE.md (look for the "Niche Keywords" or "Topics" section)
- Optional: time window override (default = last 24 hours)
## Workflow
1. Read niche keywords from CLAUDE.md. If none found, ask the user.
2. Use the Playwright MCP to:
a. Open https://www.linkedin.com/search/results/content/?keywords=KEYWORD&sortBy=relevance&datePosted=past-24h
b. Repeat for each keyword (up to 5)
c. Wait for results to load (network idle)
d. Scroll once to load more results
3. For each post, extract:
- Author name
- First line of post (= the hook)
- Reaction count
- Comment count
- Share count if visible
- Permalink
4. Compute engagement = reactions + (comments * 5) + (shares * 10).
5. Sort by engagement, descending. Take top 10 across all keywords.
6. For each top post, classify the hook pattern:
- Number-led ("3 things I learned...")
- Contrarian ("Stop doing X")
- Story ("Last week, a client...")
- Question ("Why does nobody...")
- Confession ("I used to believe...")
7. Write a Markdown file via Obsidian MCP:
- Path: Inbox/Daily Pulse YYYY-MM-DD.md
- Top 10 with: hook, author, engagement count, hook pattern, permalink, "Angle worth stealing" 1-line note
## Output template
```markdown
# Daily Pulse - YYYY-MM-DD
10 viral posts in your niche from the last 24 hours.
## #1 - {{author}} ({{engagement}} engagement)
**Hook:** "{{first line}}"
**Pattern:** {{number-led / contrarian / story / question / confession}}
**Angle worth stealing:** {{one-line note}}
[Open post]({{permalink}})
(repeat for #2 through #10)
## Today's themes
{{2 to 3 bullets on what's trending across the top 10}}
```
## Failure modes
- LinkedIn requires login: prompt the user to log in once in the Playwright profile, then it persists.
- LinkedIn blocks scraping if too aggressive: cap at 5 keywords and 1 scroll per search.
- No posts found: still write the digest, mention "low activity in your niche today" so the cron output never disappears silently.
## Notes
- This is the top of the funnel for the whole content stack. Output here feeds /reel-scripter, /carousel-creator, and /hook-miner.
- Keep keywords tight. 3 to 5 max. More keywords = more noise, less signal.
Tips
- Tight niche keywords win. 3 to 5 max.
- Read the hook patterns, not the topics. Topics rotate. Patterns repeat.
- Pair it with /hook-miner once a week to compare what works in your niche vs what works for you.
/hook-miner
Hook Miner
What it does
Scans every post you've written. Pulls the first line from each. Clusters them by pattern. Reports which patterns consistently outlier so you can stop guessing what works for your audience.
The workflow:
- Reads your post archive (Obsidian folder, local Markdown, or CSV with engagement data)
- Extracts the first line of each post (= the hook)
- Clusters hooks by pattern: number, contrarian, story, question, confession
- If engagement data is present, computes median engagement per cluster
- Reports top performing patterns and 5 reusable hook templates
Requirements
- Claude Code CLI
- A folder of past posts (Markdown, CSV, or copy-pasted into the chat)
- Optional: engagement data column for ranking
How to use
/hook-miner ~/Documents/Arcgent/posts/
Or with engagement data:
/hook-miner ~/Documents/Arcgent/posts.csv
SKILL.md (copy-paste)
Save this to ~/.claude/skills/hook-miner/SKILL.md:
---
name: hook-miner
description: Read the user's post archive, extract the first line of every post, cluster hooks by pattern, and report which patterns consistently outperform. Generates 5 reusable hook templates based on the user's own winners. Use when the user wants to know which hooks work for their audience.
---
# Hook Miner
Find the hook patterns that consistently outlier in your own content.
## When to invoke
- User runs /hook-miner with a folder or CSV path
- User asks "which hooks work best for me?" or "what hooks should I reuse?"
## Inputs
One of:
- Path to a folder of Markdown posts
- Path to a CSV with columns: post_text, engagement (optional)
- Pasted block of posts in chat
## Workflow
1. Load all posts. If folder, glob for *.md. If CSV, read with the engagement column if present.
2. For each post, extract the first non-empty line. That's the hook.
3. Classify each hook into one of:
- Number-led ("5 things I learned", "I built 5 skills")
- Contrarian ("Stop doing X", "X is a lie")
- Story ("Last week, a client...")
- Question ("Why does nobody talk about X?")
- Confession ("I used to think X. I was wrong.")
- Bold claim ("90% of people get X wrong")
- Number + outcome ("One change gave me X result")
- Other (catch-all)
4. If engagement data exists:
- Compute median engagement per cluster
- Rank clusters by median
- Flag the top 2 patterns as "your winners"
5. If no engagement data, just report cluster sizes and ask the user to add engagement next time.
6. For each top pattern, write 5 reusable templates with placeholders, e.g. "Stop doing {{behavior}}." or "{{Number}} things I learned about {{topic}}."
## Output template
```markdown
# Hook Miner Report - YYYY-MM-DD
Analyzed: {{N}} posts
## Pattern distribution
- Number-led: {{count}} ({{%}})
- Contrarian: {{count}} ({{%}})
- Story: {{count}} ({{%}})
- Question: {{count}} ({{%}})
- Confession: {{count}} ({{%}})
- Bold claim: {{count}} ({{%}})
- Other: {{count}} ({{%}})
## Performance by pattern (if engagement data available)
| Pattern | Median engagement | Posts |
|---------|-------------------|-------|
| ... | ... | ... |
## Your top 2 patterns
1. **{{pattern}}** - median {{X}} engagement across {{N}} posts
2. **{{pattern}}** - median {{X}} engagement across {{N}} posts
## 5 reusable hook templates (based on your winners)
1. "Stop doing {{behavior}}."
2. "{{Number}} things I learned building {{thing}}."
3. ...
## Notable outliers
The 3 single posts that crushed (with permalink or excerpt).
## Recommendation
{{1 paragraph: which pattern to lean into next, which to stop using}}
```
## Notes
- The point is not to copy old hooks. It's to find the patterns and write fresh ones in those patterns.
- If engagement data is missing, push the user to log it. Without data, you're guessing.
- Pair with /daily-pulse: compare your top patterns against what's trending in the niche.
Tips
- Log engagement. Without it, this is half a tool.
- Run monthly. Patterns shift as your audience grows.
- Don't copy old hooks. Copy the pattern, write fresh lines.
CLAUDE.md Setup
The skills work without it. They get sharper with it. CLAUDE.md is a single file at ~/.claude/CLAUDE.md that Claude reads automatically every session. It tells Claude who you are, what your niche is, and where your archive lives.
Recommended structure
# Claude Instructions
## Who I am
- Name: [Your name]
- Niche: [Your 3 to 5 niche keywords]
- Audience: [Who you're writing for]
## My voice
- Direct, conversational, [your tone words]
- No jargon unless the audience expects it
- Short punchy sentences
## My archive paths
- Past posts: ~/Documents/[your-folder]/posts/
- Voice samples: ~/Documents/[your-folder]/voice.md
- CTA templates: ~/Documents/[your-folder]/ctas.md
## Niche keywords (for /daily-pulse)
- [keyword 1]
- [keyword 2]
- [keyword 3]
## Brand voice anchors
- Lead with outcomes
- Use concrete numbers when possible
- First person is fine
- Avoid corporate fluff
The 100K Views Stack
Each skill on its own is useful. The compounding is where the views come from. Here is how the 5 skills feed each other.
The flow
- 06:00. /daily-pulse drops 10 viral posts in your Obsidian inbox.
- You skim. Pick the 1 angle that fits your voice and audience.
- Fan out. Same angle, 3 formats: /reel-scripter, /carousel-creator, /infographic-builder.
- Schedule. Drop the assets in your scheduler.
- Friday. Run /hook-miner against the week's posts. Note which hooks landed.
- Repeat. The patterns that win get reused. The ones that miss get retired.
Run the same stack on your content
I install it, tune it to your voice, and walk you through the first week. 15 minutes to talk it through.
📞 Book a Free 15-Min CallCustomization
Make them yours
The SKILL.md files on this page are just text. Open them in any editor and change anything that does not fit your voice, niche, or workflow.
Common tweaks
- Carousel slide count. 7 is my default. Some niches do better with 5 or 10. Edit /carousel-creator.
- Reel script tone. If your audience expects technical depth, soften the contrarian hooks.
- Infographic style. Switch from notebook to enterprise in the briefing step.
- Daily-pulse schedule. 6am is my default. Run it whenever your day starts.
- Hook-miner clusters. Add or remove pattern categories based on your archive.
FAQ
General
You need Claude Code, which works with any Anthropic API key or a Claude Pro/Max subscription. The skills themselves are free.
Partially. You can paste the SKILL.md body into a Project's system prompt and invoke it manually. But /daily-pulse needs Playwright and /infographic-builder needs Python, so the web app is not enough for the full stack.
That's the point. Open the SKILL.md, change the rules, the formats, the tone. Just keep the frontmatter name and description in sync with the body.
Technical
~/.claude/skills/<skill-name>/SKILL.md. Each skill gets its own folder. You can also put project-scoped skills in .claude/skills/ at the root of a project.
Not at the volumes the skill runs. It opens 5 search URLs once a day and scrolls each one once. That is well below any reasonable rate limit. If you crank the keyword count to 50, all bets are off.
The LinkedIn content API is gated and not available for individual creators. Playwright sees what your browser sees. That's the same thing you can already do manually.
Usage
About 30 minutes if you already have Claude Code and Playwright installed. About 90 minutes if you're starting fresh.
Yes. Put the client's voice in their own CLAUDE.md, run the skills against their archive, save outputs to their folder. The skills are voice-aware via CLAUDE.md, so each client gets their own profile.
Skip /hook-miner for now. Run /daily-pulse, /reel-scripter, /carousel-creator, and /infographic-builder. After 30 to 60 posts, come back and run /hook-miner against your archive. That's when the compounding kicks in.