Skill458 repo starsupdated 2mo ago
content-angle-ranker
The content-angle-ranker evaluates 8-12 content angle candidates against engagement data and weighted scoring criteria (platform fit, competition, predicted engagement, creator strengths) to produce a ranked list with a single recommendation. Use this after trending-content-scout provides engagement data, when a user has a keyword or product but needs to choose between multiple content formats or hooks, or when time constraints demand prioritizing a single high-impact piece before launching into content creation skills like viral-post-writer.
Install in Claude Code
Copygit clone --depth 1 https://github.com/Affitor/affiliate-skills /tmp/content-angle-ranker && cp -r /tmp/content-angle-ranker/skills/research/content-angle-ranker ~/.claude/skills/content-angle-rankerThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Content Angle Ranker
You have a keyword. You know the niche. But what specific content should you create?
Which angle, format, and hook will actually perform? This skill answers that question
with data — not gut feeling.
It takes engagement data (from `trending-content-scout` or live research) and ranks
8-12 content angle candidates by a weighted score combining platform fit, competition
level, engagement prediction, and creator fit. The output is a prioritized list with
a clear recommendation and direct handoff to content creation skills.
Think of it as `/plan-ceo-review` from gstack, but for content strategy: "What is
the 10-star version of this content?" — except the answer is backed by engagement data.
## Stage
This skill belongs to Stage S1: Research — but it bridges directly into S2: Content Creation.
## When to Use
- After `trending-content-scout` ran — use its data to pick the best angle
- User has a product/keyword but doesn't know what content to create
- User has multiple content ideas and wants to prioritize by data
- User wants to know: "If I only have time for ONE piece of content, what should it be?"
- Before running any S2 content skill (viral-post-writer, tiktok-script-writer, etc.)
## Input Schema
```yaml
keyword: string # (required if no scout_data) "AI video tools"
product: object # (optional) Affiliate product being promoted
name: string # "HeyGen"
description: string # What it does
url: string # Product URL or affiliate link
reward_value: string # Commission info — never shown in content
platform: string # (required) Target platform for content creation
# "youtube" | "tiktok" | "linkedin" | "x" | "reddit" | "blog"
creator_strengths: string[] # (optional) What the user is good at
# "storytelling" | "technical" | "humor" | "authority" |
# "visual" | "data" | "personal_experience"
audience: string # (optional) Target audience — "beginners", "developers", "small business owners"
time_budget: string # (optional) "30min" | "2hours" | "1day" — affects difficulty filter
custom_angles: string[] # (optional) User's own angle ideas to include in ranking
```
**Auto-detection:** If `trending-content-scout` ran earlier in the conversation,
its output is automatically used as the data foundation. No need to pass it explicitly.
## Workflow
### Step 1: Gather Engagement Data
**If `trending-content-scout` output exists in context:**
- Use `pattern_analysis` (winning formats, hooks, engagement benchmarks)
- Use `content_gaps` as angle candidates
- Use `top_content` for competition assessment
- Skip to Step 2
**If no scout data:**
Run a quick scout internally:
1. `web_search "[keyword] site:youtube.com"` → top 10 videos, note formats and view counts
2. `web_search "[keyword] site:tiktok.com"` OR `web_search "[keyword] tiktok viral"` → top TikTok content
3. `web_search "[keyword] site:reddit.com top"` → top Reddit discussions
4. `web_search "[keyword] [platform] best performing"` → meta-analysis of what works
5. Extract: dominant formats, popular hooks, view count ranges, gaps
This takes 30-60 seconds and provides enough signal for angle scoring.
### Step 2: Generate Angle Candidates (8-12)
Generate 8-12 specific content angle candidates. Each angle must be concrete enough
to become a title — not vague ("write about HeyGen") but specific ("HeyGen vs Synthesia:
I tested both for 30 days — honest comparison for solo creators").
**Sources for angles:**
1. **Gap-based angles (from scout data or web_search):**
- Content gaps: topics nobody has covered well
- Format gaps: popular topic but missing in a specific format (e.g., comparison exists on YouTube but not TikTok)
- Audience gaps: existing content targets general audience, specific audience underserved
- Recency gaps: existing content is outdated, fresh version needed
2. **Pattern-based angles (from winning formats):**
- Take the winning format and apply it to the keyword
- Combine the best hook type with the topic
- Replicate the structure of the highest-engagement content with a fresh perspective
3. **Contrarian angles:**
- If all content is positive → honest cons angle
- If all content targets beginners → advanced user angle
- If all content is listicles → deep single-product dive
4. **User-provided angles (from custom_angles):**
- Include any angles the user suggested
- Score them alongside generated candidates — no bias
For each angle, define:
```yaml
Angle:
title: string # Specific, could be an actual content title
angle: string # Brief description of the angle
format: string # "comparison" | "review" | "tutorial" | "listicle" | "demo" | "story" | "reaction" | "explainer"
hook: string # The actual hook/opening line
hook_type: string # "question" | "shock" | "bold_claim" | "demo_first" | "relatable" | "contrarian"
source: string # "gap" | "pattern" | "contrarian" | "user_provided"
```
### Step 3: Score Each Angle
Score every angle on 4 dimensions (1-10 each), then calculate a weighted total:
```
angle_score = (platform_fit × 0.25) + (competition_level × 0.30) +
(engagement_prediction × 0.30) + (creator_fit × 0.15)
```
**Dimension 1: Platform Fit (weight: 25%)**
How well does this format/hook work on the target platform?
| Format | YouTube | TikTok | LinkedIn | X | Reddit | Blog |
|--------|---------|--------|----------|---|--------|------|
| comparison | 9 | 8 | 7 | 5 | 8 | 9 |
| review | 8 | 6 | 5 | 4 | 9 | 9 |
| tutorial | 9 | 7 | 6 | 3 | 7 | 10 |
| listicle | 7 | 8 | 9 | 8 | 6 | 8 |
| demo | 8 | 10 | 5 | 4 | 3 | 5 |
| story | 6 | 9 | 10 | 8 | 7 | 7 |
| reaction | 7 | 10 | 4 | 6 | 5 | 3 |
| explainer | 8 | 5 | 8 | 6 | 8 | 9 |
Adjust b