Agent skill

plan-newsletter

Plan a complete newsletter issue from a topic or idea, including research, draft, subject line, opening hook, and social promotion posts. Use when the user says 'plan a newsletter', 'create a newsletter about', 'newsletter plan', 'write a newsletter issue', or wants to turn an idea into a full issue plan.

Stars 124
Forks 35

Install this agent skill to your Project

npx add-skill https://github.com/kenneth-liao/ai-launchpad-marketplace/tree/main/creator-stack/skills/plan-newsletter

SKILL.md

Plan Newsletter Issue

Overview

This skill takes a topic and produces a complete newsletter issue plan with draft content, subject line options, opening hook options, and social promotion posts. It is a thin orchestrator — every content generation step delegates to a foundation skill. This skill contains workflow sequence and platform-specific decisions only, not implementation logic.

How Reference Delegation Works

Each foundation skill owns its own reference files and loads them automatically. When you invoke creator-stack:write for newsletter content, it loads references/newsletter.md from its own directory. When you invoke creator-stack:title for subject lines, it loads references/newsletter-subject-lines.md from its own directory. You don't need to manage these paths — just invoke the skill and provide context.

When to Use

Use this skill when:

  • Planning a new newsletter issue from a topic or idea
  • Repurposing existing content (video transcript, notes, research) into a newsletter
  • Creating a content plan for Substack or another newsletter platform

Prerequisites

A topic or source material is required. This can be:

  • A topic idea or keyword
  • A video transcript to repurpose
  • Existing notes or research
  • A URL or document to build from

If research already exists or the user is repurposing existing content, the research step can be skipped.

Planning Workflow

Execute all steps below sequentially.

Step 1: Research the Topic

Invoke creator-stack:research to understand the content landscape and identify the best angle for the newsletter issue.

  • Pass the topic, audience context, and any source material to the research skill.
  • The research skill analyzes competitors, identifies gaps, and produces actionable insights.

Skip condition: Skip this step if the user provides existing research, or if working from existing content (e.g., repurposing a video transcript). Note the reason for skipping in the plan.

Step 2: Draft the Newsletter Issue

Invoke creator-stack:write with content type "newsletter" to draft the full issue.

  • The writing skill loads its own references/newsletter.md for newsletter structure and conventions.
  • The writing skill automatically invokes creator-stack:voice for voice consistency.
  • Pass the research findings (or source material) and topic context.
  • The draft follows the newsletter reference structure including sections, formatting, and CTAs.

Step 3: Generate Subject Line Options

Invoke creator-stack:title with content type "newsletter" to generate 3-5 subject line options.

  • Each option includes:
    • Subject line text
    • Preview text (the snippet shown in email clients)
    • Rationale for why it will perform well
    • Star rating (1-3 stars) indicating recommendation strength

Step 4: Generate Opening Hook Options

Invoke creator-stack:hook with content type "newsletter" to generate 2-3 opening paragraph options.

  • Each option includes:
    • Full opening paragraph text
    • Hook strategy description
    • Rationale and alignment with the selected subject line
    • Star rating (1-3 stars) indicating recommendation strength

Step 5: Generate Social Promotion Posts

Invoke creator-stack:write separately for each platform:

  1. Twitter/X thread — specify content type "twitter"
  2. LinkedIn post — specify content type "linkedin"
  3. Substack Note — specify content type "substack-note"

Each promotion post should tease the newsletter content and drive subscriptions/reads. The writing skill loads the appropriate platform reference for each invocation.

Step 6: Generate Header Image (Optional)

Invoke creator-stack:social-graphic to generate a newsletter header image.

  • Only invoke if the user requests a header image or if the newsletter platform benefits from one.
  • If not requested, mark as "Not requested" in the plan.

Step 7: Present Complete Plan

Present the full plan to the user for review. Include all options with star ratings so the user can make informed selections.

Output Structure

Save the plan to ./newsletter/issues/[issue_name]/plan.md. Create the directory if it doesn't exist. Use a slugified version of the topic as the issue name (e.g., ai-coding-assistants).

The plan file follows this structure:

markdown
# Newsletter Issue Plan: [Topic]

## Research Summary
[Key findings and angle — or "Based on [source material]" if repurposing]

## Subject Lines
[3-5 options with preview text, rationale, and star ratings]

## Opening Hook Options
[2-3 opening paragraphs with strategy, rationale, and star ratings]

## Draft Issue
[Full newsletter draft following newsletter structure]

## Social Promotion
### Twitter/X Thread
[Thread draft]
### LinkedIn Post
[Post draft]
### Substack Note
[Note draft]

## Header Image
[Generated image or "Not requested"]

Delegation Reference

Each foundation skill owns its own reference files and loads them automatically:

Content Skill Reference (loaded by the skill)
Research creator-stack:research Loaded based on topic context
Newsletter draft creator-stack:write newsletter.md
Subject lines creator-stack:title newsletter-subject-lines.md
Opening hooks creator-stack:hook newsletter-hooks.md
Twitter thread creator-stack:write twitter.md
LinkedIn post creator-stack:write linkedin.md
Substack Note creator-stack:write substack-notes.md
Voice creator-stack:voice Invoked automatically by writing skill

Quality Checklist

Verify completion before presenting the plan:

  • Research conducted (or source material loaded)
  • creator-stack:write invoked for newsletter draft
  • creator-stack:title invoked for subject lines
  • creator-stack:hook invoked for opening hooks
  • creator-stack:write invoked for social promotion posts (all 3 platforms)
  • All written content goes through creator-stack:voice (handled by writing skill)
  • All options presented with star ratings
  • Complete plan presented to user

Common Pitfalls

  1. Writing content directly: Drafting newsletter text or social posts without invoking the writing skill — the foundation skill has all the section rules and voice handling built in.
  2. Skipping research without reason: If research is skipped, document why (e.g., "Repurposing video transcript provided by user").
  3. Single option only: Presenting one subject line or one hook — always provide multiple options with ratings so the user can choose.
  4. Missing social promotion: Forgetting one of the three platforms (Twitter/X, LinkedIn, Substack Notes).
  5. No voice consistency: The writing skill handles this automatically via creator-stack:voice, but verify the output reads consistently.

Example Execution

Scenario: User asks to plan a newsletter about "Building AI agents with memory"

  1. Research: Invoke creator-stack:research with topic "AI agents with memory" to identify content gaps and angles.
  2. Draft: Invoke creator-stack:write with research findings to produce the full newsletter draft.
  3. Subject lines: Invoke creator-stack:title to generate 4 subject line options with preview text.
  4. Opening hooks: Invoke creator-stack:hook to generate 3 opening paragraph options.
  5. Social posts: Invoke creator-stack:write three times for Twitter/X thread, LinkedIn post, and Substack Note.
  6. Header image: User did not request one — mark "Not requested."
  7. Present plan: Save to ./newsletter/issues/ai-agents-with-memory/plan.md and present to user.

Result: Complete newsletter issue plan with multiple options at each decision point, all backed by research insights and generated through specialized foundation skills.

Expand your agent's capabilities with these related and highly-rated skills.

kenneth-liao/ai-launchpad-marketplace

test-skill

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".

124 35
Explore
kenneth-liao/ai-launchpad-marketplace

upgrade-plugin

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".

124 35
Explore
kenneth-liao/ai-launchpad-marketplace

skill-retro

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".

124 35
Explore
kenneth-liao/ai-launchpad-marketplace

view-team-session

Generate a self-contained HTML viewer for any Claude Code session, including agent team sessions with full inter-agent DM timelines. Use whenever the user asks to "view a session", "visualize a conversation", "show me what happened in session X", "generate a session viewer", "replay a session", "show me what my agents did", "session replay", "team timeline", or references viewing/inspecting Claude Code JSONL logs. Also use when the user provides a session ID and wants to see the conversation.

124 35
Explore
kenneth-liao/ai-launchpad-marketplace

analyze-team-session

Use when reviewing an agent team session export for quality, when asked to "analyze this team session", "review my agent team run", "what went wrong with this session", "how can I improve my agent team usage", or when provided a markdown team session transcript and asked for feedback on agent teams effectiveness.

124 35
Explore
kenneth-liao/ai-launchpad-marketplace

youtube-data

Retrieve YouTube data using the YouTube Data API. Use when you need to search videos, get video or channel details, fetch transcripts, read comments, find trending or related content, or when the user mentions 'YouTube data', 'video stats', 'transcript', or 'channel info'.

124 35
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results