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.
npx skills add https://github.com/BrianRWagner/ai-marketing-claude-code-skills --skill content-idea-generator
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?
## 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*
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take brianrwagner/content-idea-generator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.