lookalike-content — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited lookalike-content (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill takes a data dump of posts from any platform, analyses them for patterns in what makes the content successful, creates a winning content profile, then uses that profile to research and generate 10 content ideas that follow the same patterns.
One skill, one run, three phases:
| Variable | Purpose |
|---|---|
TAVILY_API_KEY | Researching trending topics for content idea generation |
Before running, read these files:
/brain/positioning-and-messaging.md — brand voice, messaging, words we use/avoid/brain/truth.md — verified product and company factsThe user provides files containing their posts. These come in messy formats — the skill handles the conversion. Accepted formats:
Upload your content data dump. This can be:
- A folder of HTML files (Substack export)
- A CSV export
- A JSON archive (X data export)
- A markdown or text file
- Multiple files
- Or just paste the content directly
What platform is this content from?
1. LinkedIn
2. Substack / Newsletter
3. X (Twitter)
4. Blog
5. Other
Pick a number:Ask:
What space or industry should I research for content ideas?
(e.g., "B2B SaaS marketing", "AI for developers", "startup growth")If the user says to use the defaults, use /brain/positioning-and-messaging.md to infer the space.
Before analysing anything, convert the messy uploaded data into a single clean .md file. This normalises all formats so the analysis phase always reads the same structure.
Save to: marketing/plans/lookalike-analysis/[platform]_[YYYY-MM-DD].md
Conversion rules by format:
HTML files (e.g., Substack export):
.html file<title> or <h1> tagsCSV files:
JSON files (e.g., X data export):
Markdown or text files:
Raw pasted text:
The output `.md` file must follow this exact structure:
# Content Data: [Platform]
## Posts: [N]
## Date range: [earliest] to [latest]
## Source: [Description of what was uploaded]
## Metrics available: [Yes/No]
---
## Post 1: [Title]
**Date:** [YYYY-MM-DD]
**Metrics:** [views: X, likes: X, comments: X — or "No metrics available"]
[Full post text, clean markdown, no HTML tags]
---
## Post 2: [Title]
**Date:** [YYYY-MM-DD]
**Metrics:** [if available]
[Full post text]
---
[...repeat for all posts]After conversion, tell the user:
Converted [N] posts into a clean data file.
Saved to: marketing/plans/lookalike-analysis/[platform]_[date].md
Date range: [earliest] to [latest]
Metrics found: [Yes — will rank by performance / No — will analyse all posts equally]
Want to review the file before I analyse, or proceed?If the user wants to review, show them the first 2-3 posts so they can confirm nothing was lost.
Read the clean .md file from marketing/plans/lookalike-analysis/.
If metrics exist: Sort posts by the primary engagement metric (impressions for LinkedIn, views for Substack, views for X). Identify the top 30% as "top performers" and the bottom 30% as "low performers." The middle 40% is baseline.
If no metrics exist: Treat all posts equally — analyse the full set for recurring patterns without performance ranking.
Topic patterns:
Structural patterns:
Hook patterns:
Emotional patterns:
Format patterns:
Close patterns:
Specificity level:
Synthesise the analysis into a structured profile document.
Save to: marketing/plans/lookalike-analysis/winning-content-profile-[platform].md
Read references/winning-content-profile-template.md for the exact output format.
The profile should contain:
Each finding must reference specific posts from the data as evidence. Don't make generic claims — point to the actual content that supports the pattern.
After saving the profile, show the user a summary:
Winning Content Profile created.
Your winning formula:
[The one-paragraph summary from section 10]
Key findings:
- Topic: [top theme]
- Format: [winning format]
- Hook: [winning hook style]
- Emotion: [dominant register]
- Length: [sweet spot]
Saved to: marketing/plans/lookalike-analysis/winning-content-profile-[platform].md
Now researching content ideas that match these patterns...Use Tavily to find trending topics in the user's space that could match the winning patterns.
CRITICAL — use this exact script. Do NOT create new scripts:
python .claude/skills/lookalike-content/scripts/tavily_research.py --query "What are the most discussed and trending topics in [space/industry] right now? Focus on topics that [audience] cares about. What questions are people asking? What debates are happening? What new developments are generating conversation? Include specific examples and sources."Run a second query focused on the winning topic clusters:
python .claude/skills/lookalike-content/scripts/tavily_research.py --query "What's new and being discussed about [top winning topic cluster] in [space/industry]? What angles haven't been covered yet? What are practitioners frustrated about or excited about? Include specific examples."Take the research results and filter them through the winning content profile. For each potential topic, ask:
Discard ideas that don't match at least 3 of these 5 criteria.
For each of the 10 best ideas, produce:
Save to: marketing/plans/lookalike-analysis/lookalike-ideas-YYYY-MM-DD-[platform].md
Markdown output format:
# Lookalike Content Ideas — [Platform]
## Based on: [N] posts analysed
## Space: [Industry/space used for research]
## Date: [Today's date]
## Winning Content Profile: winning-content-profile-[platform].md
---
## The Winning Formula
[One-paragraph summary from the profile]
---
## Content Ideas
### 1. [Title]
**Topic:** [One sentence]
**Why it matches:** [Which patterns from the profile this follows]
**Angle:** [The specific take or framing]
**Hook:** "[Draft opening line]"
**Format:** [Narrative / How-to / Opinion / Data-driven]
**Emotional register:** [e.g., Validation + curiosity]
**Trending signal:** [What makes this timely — from the research]
---
### 2. [Title]
[Same structure]
---
[Repeat for all 10 ideas]
---
## Ideas Summary
| # | Title | Pattern match | Format | Trending signal |
|---|---|---|---|---|
| 1 | [Title] | [Key pattern] | [Format] | [Signal] |
| 2 | [Title] | [Key pattern] | [Format] | [Signal] |
[... all 10]Present the file and offer next steps:
Done! Here are your 10 lookalike content ideas.
Winning Content Profile: marketing/plans/lookalike-analysis/winning-content-profile-[platform].md
Content Ideas: marketing/plans/lookalike-analysis/lookalike-ideas-YYYY-MM-DD-[platform].md
Want to:
1. Turn one of these into a draft (routes to /blog)
2. Generate more ideas
3. Adjust the winning profile and regenerate
4. Done for nowOutput location: marketing/plans/lookalike-analysis/ — confirm the project slug with the user before creating files.
Very few posts in the data dump (under 10): Run the analysis but note that patterns may not be reliable. Reduce confidence in the profile findings.
All posts have similar engagement: If there's no clear differentiation between top and low performers, analyse all posts equally and note that no performance-based ranking was possible.
Data dump format is unexpected: If the file can't be parsed cleanly, ask the user to describe the format: "I'm having trouble parsing this file. Can you tell me: what separates one post from another? Which column has the post text? Which column has the engagement data?"
No Tavily API key: Skip the research phase. Generate ideas based solely on the winning patterns and Claude's knowledge. Note that ideas may not reflect the most current trends.
Audience profile contradicts the data patterns: Go with the data. The winning content profile is based on what actually worked, which may differ from what the audience profile predicted. Note the discrepancy.
Client wants ideas for a different platform than the analysed one: That's fine — the winning patterns (topics, emotion, format) often transfer across platforms. Note that structural patterns (length, hook style) may need adjusting for the new platform.
lookalike-content/
├── SKILL.md ← you are here
├── scripts/
│ └── tavily_research.py ← for trending topic research
└── references/
├── winning-content-profile-template.md ← profile output format
└── html-lookalike-ideas-guide.md ← HTML styling for ideas outputCRITICAL: Use the script listed above. Do NOT create alternative scripts.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.