creator-stack/skills/ideate-notes/SKILL.md
Generate Substack Note ideas by scanning published YouTube videos, newsletters, and Notes. Use when the user says 'generate note ideas', 'what should I post on Notes', 'note ideas from my content', 'mine my videos for Notes', or wants to maintain a consistent Notes posting cadence.
npx skillsauth add kenneth-liao/ai-launchpad-marketplace ideate-notesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This orchestrator scans published content across YouTube and Substack, then delegates ideation to creator-stack:extract-ideas with the ideation reference file. It handles source fetching, processed-log management, and output persistence -- all actual idea generation logic is delegated to the foundation skill.
This skill sits upstream of creator-stack:write-note -- it produces a curated list of note ideas, while write-note writes the full note from a selected idea.
Core Principle: This is a thin orchestrator. Never generate ideas manually. Always delegate to creator-stack:extract-ideas via references/substack-notes-ideation.md. This skill manages the source-scanning workflow, duplicate prevention, and output files only.
Use this skill when:
Optional: YouTube MCP tools (search_videos, get_video_details, get_video_transcript, get_video_comments) for scanning the user's YouTube channel. If unavailable, the workflow falls back to web search.
Optional: An existing ./substack/notes/processed-log.md file. If it does not exist, the workflow creates it in Step 0.
Execute all steps below in order.
Read ./substack/notes/processed-log.md to determine which sources have already been scanned.
If file exists:
If file does not exist:
./substack/notes/ directory if it does not existRead ./substack/notes/ideas.md (the content bank) if it exists:
If content bank does not exist:
Use YouTube MCP tools to find recent videos from the user's channel.
search_videos to find the user's recent videosget_video_details for title, description, and statsget_video_transcript for the full transcriptget_video_comments for top comments (source of audience questions and misconceptions)If YouTube MCP tools are unavailable:
If no new videos are found:
Use web fetch to scan the user's Substack archive and Notes feed.
https://{subdomain}.substack.com/archive)If no new issues are found:
Use web search to find trending topics in the user's niche.
This step always runs regardless of whether new sources were found in Steps 1-2. Trending topics provide timely note ideas even when no new content has been published.
creator-stack:extract-ideas with Ideation ReferenceMANDATORY: Invoke creator-stack:extract-ideas with references/substack-notes-ideation.md to generate structured note ideas.
Provide all source material gathered in Steps 0-3:
ideas.md (from Step 0, for duplicate prevention)The ideate skill applies the ideation framework and returns structured ideas with topic, note type, source, pitch, and strategic rationale.
NOTE: All ideation logic -- source-to-idea extraction, note-type matching, angle generation, duplicate filtering -- lives in the reference file. Do not implement any of this in the orchestrator.
Present the batch of ideas (5-10) in the structured format from the ideation reference.
Each idea includes:
write-note type taxonomy)The user can:
CRITICAL: Do not save any output until the user approves. Present and wait.
After user approval, update two files:
1. File approved ideas into ./substack/notes/ideas.md by type:
2. Update Quick Stats header:
3. Update ./substack/notes/processed-log.md:
Inform the user they can pick any idea and invoke creator-stack:write-note to write the full note.
Do NOT automatically invoke write-note. This skill generates ideas only -- the user decides when and which idea to execute.
./substack/notes/ideas.md)The content bank organizes ideas by note type for easy retrieval during writing sessions. Ideas flow from ideation runs into type-organized sections with status tracking.
# Substack Notes Content Bank
## Quick Stats
- Total pending: 0 | Drafted: 0 | Published: 0
- Last ideation run: YYYY-MM-DD
- Types needing ideas: [list types with 0 pending ideas]
---
## Single-Punch Wisdom
## Income Proof Story
## Pattern Observation
## Contrarian Statement
## Problem → Solution
## Build-in-Public Update
## List-Based Tactical
## Vulnerable Personal Story
## Newsletter Teaser
## Direct Advice
Each idea within a type section uses this format:
### [Specific topic in 5-10 words]
**Status:** pending
**Source:** [YouTube — "Title" (video ID) | Newsletter — "Title" (URL) | Web trend — description]
**Pitch:** [One sentence describing the note's core message]
**Rationale:** [Why this idea is worth posting — engagement potential, gap it fills, timeliness]
**Conversion:** [High Converter | High Engagement | Both | Moderate]
**Added:** YYYY-MM-DD
Status values:
pending — idea generated but not yet writtendrafted — note has been drafted via creator-stack:write-notepublished — note has been published to Substack./substack/notes/processed-log.md)# Processed Content Log
## YouTube Videos
| Video ID | Title | Scanned | Ideas Generated |
|----------|-------|---------|-----------------|
## Newsletter Issues
| URL | Title | Scanned | Ideas Generated |
|-----|-------|---------|-----------------|
## Substack Notes Scanned
| Last Scan Date | Notes Reviewed | Gap Analysis |
|----------------|----------------|--------------|
Verify completion before finalizing:
creator-stack:extract-ideas invoked with references/substack-notes-ideation.md (Step 4)./substack/notes/ideas.md (Step 6)creator-stack:write-note suggested (Step 7)creator-stack:extract-ideas -- do not implement idea generation in this orchestrator.development
Manage scheduled Claude Code tasks — add (recurring or one-off), list, pause, resume, remove, view results, and test execution of skills, prompts, and scripts with safety controls and notifications. Use when the user mentions scheduling, cron, automated tasks, recurring tasks, background tasks, running something on a schedule, periodic execution, or wants a skill/prompt/script to run automatically at a set time. Cross-platform (macOS, Linux, Windows).
tools
Upgrade a plugin's skills, hooks, and patterns to align with latest Claude Code capabilities and best practices. Use when a plugin needs modernization, after Claude Code updates, or when the user says "upgrade plugin", "modernize plugin", or "update plugin to latest patterns".
tools
Use when reviewing how skills performed during a session, when the user wants to analyze skill invocations and identify improvements, or when the user says "skill retro", "review skills", "how did skills do", "improve this skill", or "skill retrospective".
tools
Run or generate test suites for any skill. Use when testing a skill before deployment, after making changes, before/after plugin upgrades, when validating skill behavior, or when the user says "test skill", "run skill tests", "generate tests for skill", or "check for regressions".