Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate content ideas rooted in positioning. Use when someone needs "content ideas," "what should I post," "blog topics," "LinkedIn ideas," or is stuck on what to create.
.claude/skills/brianrwagner-content-idea-generator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 181% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 12% | 0% |
Content without positioning is noise. Before generating ideas, confirm positioning is clear. If not, run positioning-basics first.
Detect from context or ask: "Quick ideas, full strategy, or complete content system?"
| Mode | What you get | Best for | |------|-------------|----------| | quick | 5 ideas, immediate output, no deep research | Breaking a block, starter brainstorm | | standard | 10–15 positioned ideas with formats and rationale | Regular content planning | | deep | Full content calendar system: pillars, formats, cadence, 30-day plan | Launching or overhauling content strategy |
Default: standard — use quick if they just need to start. Use deep if they want a repeatable system, not just today's ideas.
Before generating any ideas, collect:
linkedin-authority-builder? Don't generate outside those pillars if they exist.Positioning gate: If the user cannot complete the positioning sentence with specifics, stop: > "Content without positioning produces random posts. Complete this first: 'I help specific audience] achieve specific outcome] through unique approach].' If you need help, run positioning-basics first."
Before generating ideas, reason through:
Output a brief analysis: > "You're creating content for audience] as a role]. Your strongest proof point is X]. I'll generate ideas anchored to that — the biggest content gap I see is specific gap]."
Run a search before generating the batch:
web_search('[Topic] trending [Month Year]')
web_search('[ICP role] biggest challenges [Year]')Use results to:
Generate ideas using these 6 frameworks:
Name the pain your audience won't admit publicly. Template: "The #1 mistake audience] makes with topic]"
Teach a specific process you've actually used. Template: "How to achieve outcome] without common obstacle]"
Challenge something everyone assumes is true. Template: "Stop common advice]. Here's what actually works."
Show the messy reality, not the highlight reel. Template: "I tried thing]. Here's what actually happened."
Connect dots your audience hasn't connected yet. Template: "What experience A] taught me about topic B]"
Curate genuinely useful tools. Template: "Number] tools I actually use for outcome]"
Each idea must pass all 3 tests before being included in the output:
Reject and replace any idea that fails 2 or more tests.
After generating the full batch, evaluate:
Flag and replace any ideas that don't pass: "Idea 3 ('thoughts on AI in marketing') is too broad for your positioning as a specific role]. Replaced with: specific angle]."
❌ "Grateful for the journey" posts — show the work instead ❌ Generic motivational quotes without a specific take ❌ Vague "thought leadership" with no actual opinion ❌ Engagement bait with no value ("Agree? Comment below") ❌ Topics outside the stated positioning
The test: Would you stop scrolling and read this if someone else posted it?
markdown## Content Ideas: [Name] — [Date] **Positioning used:** [one-liner] **Freshness search:** [query + key finding] --- ### Quick Wins (Post This Week) *5 ideas ready to create now* **1. [Title/Angle]** - Hook: "[First line that stops the scroll]" - Core insight: [The one thing they'll remember] - Platform fit: [LinkedIn / Twitter / Newsletter] - ICP pain: [What frustration this addresses] - Quality check: [Specific ✅ | Hook ✅ | ICP ✅] [Repeat for ideas 2–5] --- ### Authority Builders (This Month) *3 ideas worth the investment* **1. [Title/Angle]** - Hook: "[First line]" - Core insight: [Key takeaway] - Platform fit: [Platform] - Research needed: [What to find first] - Estimated production time: [X hours] [Repeat for ideas 2–3] --- ### Self-Critique Notes [Any ideas replaced, gaps noted, or freshness findings] ### Multi-Agent Handoff For each approved idea → pass to Scribe with format: [Idea title] | [Platform] | [Hook] | [Framework type] | [ICP pain addressed]
Skill by Brian Wagner | AI Marketing Architect | brianrwagner.com
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 18,473 | 7,975 | -57% | 1 | 1 | 0% | 2,974 | 2,295 | -23% | 0 | 0 | — |
case-02 | fail→pass | 17,964 | 8,728 | -51% | 1 | 1 | 0% | 2,737 | 3,003 | +10% | 0 | 0 | — |
case-03 | fail→fail | 26,939 | 9,679 | -64% | 1 | 1 | 0% | 3,799 | 2,305 | -39% | 0 | 0 | — |
case-04 | pass→pass | 4,109 | 5,499 | +34% | 1 | 1 | 0% | 733 | 2,620 | +257% | 0 | 0 | — |
case-05 | pass→pass | 2,200 | 4,259 | +94% | 1 | 1 | 0% | 372 | 2,265 | +509% | 0 | 0 | — |
case-06 | pass→pass | 3,089 | 4,377 | +42% | 1 | 1 | 0% | 575 | 2,405 | +318% | 0 | 0 | — |
case-07 | fail→pass | 11,652 | 5,204 | -55% | 1 | 1 | 0% | 1,707 | 2,439 | +43% | 0 | 0 | — |
case-08 | fail→pass | 8,937 | 13,174 | +47% | 1 | 1 | 0% | 1,384 | 3,886 | +181% | 0 | 0 | — |
case-09 | pass→fail | 14,215 | 10,104 | -29% | 1 | 1 | 0% | 2,034 | 2,273 | +12% | 0 | 0 | — |
case-10 | fail→fail | 26,776 | 24,873 | -7% | 1 | 1 | 0% | 4,161 | 5,129 | +23% | 0 | 0 | — |
case-11 | pass→pass | 14,664 | 17,304 | +18% | 1 | 1 | 0% | 2,017 | 3,612 | +79% | 0 | 0 | — |
case-12 | pass→pass | 14,023 | 13,886 | -1% | 1 | 1 | 0% | 2,098 | 3,788 | +81% | 0 | 0 | — |
case-13 | fail→fail | 14,601 | 22,045 | +51% | 1 | 1 | 0% | 2,029 | 4,058 | +100% | 0 | 0 | — |
case-14 | fail→fail | 12,776 | 29,697 | +132% | 1 | 1 | 0% | 1,750 | 2,035 | +16% | 0 | 0 | — |
case-15 | pass→fail | 13,970 | 10,295 | -26% | 1 | 1 | 0% | 2,077 | 2,169 | +4% | 0 | 0 | — |
case-16 | pass→fail | 14,776 | 8,721 | -41% | 1 | 1 | 0% | 2,152 | 2,241 | +4% | 0 | 0 | — |
case-17 | pass→fail | 13,503 | 7,927 | -41% | 1 | 1 | 0% | 2,104 | 2,191 | +4% | 0 | 0 | — |
case-18 | pass→pass | 18,049 | 18,232 | +1% | 1 | 1 | 0% | 2,623 | 4,404 | +68% | 0 | 0 | — |
case-19 | pass→pass | 10,438 | 11,585 | +11% | 1 | 1 | 0% | 1,537 | 2,785 | +81% | 0 | 0 | — |
case-20 | fail→fail | 12,954 | 8,989 | -31% | 1 | 1 | 0% | 1,832 | 2,155 | +18% | 0 | 0 | — |
case-21 | fail→pass | 14,196 | 4,764 | -66% | 1 | 1 | 0% | 2,333 | 2,394 | +3% | 0 | 0 | — |
case-22 | pass→fail | 13,004 | 8,030 | -38% | 1 | 1 | 0% | 1,876 | 2,143 | +14% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 12 counted toward the lift figure. The other 10 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -5 percentage points is the difference between those two pass rates over the 12 comparable cases. 8 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.