# Repurpose Medium

> Generates Medium publication content from content atoms: long-form articles (1500-3000 words) with narrative arc, SEO-optimized titles and subtitles, tag and publication targeting, and canonical crosspost handling. Optimizes for Google indexing, read time, and publication submission. Sub-skill of the Content Repurposing Engine. Use when user says "medium", "medium article", "medium post", "medium story", or "repurpose for medium".

- Skill: `agricidaniel/repurpose-medium` (Agent Skill)
- Install (CLI): `npx skillmds@latest add agricidaniel/repurpose-medium`
- Raw SKILL.md: https://api.skillmd.com/api/skills/agricidaniel/repurpose-medium/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- License: MIT
- Author: Agrici Daniel (https://skillmd.com/u/agricidaniel)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/agricidaniel/repurpose-medium

---


# Medium Article Generator

Produce a long-form article, tag and publication suggestions, and crosspost note
from the content atoms provided by the orchestrator.

## Inputs

Received from the parent agent (`repurpose-broadcast`):

| Input | Description |
|-------|-------------|
| `atoms` | Full list of content atoms with types and impact ratings |
| `main_argument` | One-sentence thesis of the source content |
| `target_audience` | Who benefits from this content |
| `primary_topic` | Category or niche |
| `voice_profile` | Detected or overridden brand voice |
| `brief_mode` | If true, produce title + subtitle + opening only (500 words) |

## References

Load before generating:

- `references/platform-specs.md` -- Medium specs, article length targets, SEO weight
- `references/hook-formulas.md` -- title formulas, opening hooks, narrative structures
- `references/voice-adaptation.md` -- Medium tone rules (authoritative, conversational, storytelling)
- `references/engagement-benchmarks.md` -- read time targets, clap benchmarks

## Platform Rules

| Spec | Value |
|------|-------|
| Article length | 1,500-3,000 words optimal (7-12 min read time) |
| Title | 60 characters max (SEO-optimized, keyword-rich) |
| Subtitle (kicker) | 140 characters max (expands on title, adds context) |
| Tags | Exactly 5 (first tag = primary topic) |
| Images | Inline, any aspect ratio, alt text REQUIRED |
| SEO value | HIGH -- Google indexes Medium articles, often ranks in top results |
| Paywall | Optional (recommend based on content depth and value) |
| Publications | Curated collections that boost distribution significantly |
| Reading time | Displayed prominently, affects click-through rate |
| Best posting | Tuesday-Thursday 8-10 AM |
| Formatting | Full markdown, pull quotes, code blocks, headers, images |

## Core Principle

Medium is a **PUBLICATION** platform, not social media. Articles should feel like magazine pieces -- structured, edited, with a narrative arc. Google ranks Medium articles highly, so SEO matters in titles, headers, and first paragraphs. Write for depth, personality, and lasting value. Information dumps get skimmed; narrative gets read.

## Output 1: Article

**File:** `medium/article.md`

**Length:** 1,500-3,000 words (7-12 min read time).

### Article Structure

1. **Title** (60 chars max)
   - Keyword-rich for Google indexing
   - Curiosity-driven or value-driven (never clickbait)
   - Formulas:
     - "How [Specific Action] [Achieved Specific Result]"
     - "The [Adjective] Truth About [Topic] Nobody Talks About"
     - "[Number] Lessons From [Experience] That Changed How I [Outcome]"
     - "Why [Common Belief] Is Wrong (And What to Do Instead)"
   - Test: would you click this in Google search results?

2. **Subtitle / Kicker** (140 chars max)
   - Expands on the title -- adds context the title couldn't fit
   - Should answer "Why should I read this?" in one line
   - Include a secondary keyword if natural
   - Example title: "Why Most Content Strategies Fail"
   - Example subtitle: "And the simple framework that turned my 200-view posts into 20K-view articles"

3. **Opening hook** (2-3 sentences)
   - Set the stakes immediately -- why does this matter RIGHT NOW?
   - Options: start with a story, a surprising stat, or a bold claim
   - The first 2 sentences determine whether readers continue
   - Never open with a definition ("Content marketing is...")

4. **Section 1: Context / Problem** (300-500 words)
   - Why this topic matters now
   - Frame the gap: what most people get wrong or miss
   - Use `insight` and `contrarian` atoms to build tension
   - Include at least one specific example or data point
   - Header: descriptive H2, keyword-rich

5. **Section 2: Core Insight** (400-700 words)
   - The main argument with supporting evidence
   - This is the centerpiece -- spend the most words here
   - Use the highest-impact atoms
   - Include a pull quote (the single most quotable line, formatted as blockquote)
   - Header: H2 that reveals the insight

6. **Section 3: Supporting Evidence** (300-500 words)
   - Stats, case studies, examples drawn from atoms
   - If `stat` or `casestudy` atoms exist, expand them with context
   - Use subheadings (H3) if covering multiple supporting points
   - Specific numbers always beat vague claims

7. **Section 4: Practical Application** (300-500 words)
   - Actionable steps the reader can take today
   - Draw from `howto` and `actionable` atoms
   - Numbered steps or bulleted checklist format
   - Each step should be specific and measurable
   - Header: action-oriented H2 ("How to Apply This Today")

8. **Closing** (100-200 words)
   - Forward-looking statement or call-to-action
   - Do NOT summarize the whole article -- trust the reader
   - End with a thought-provoking line or a question
   - Optional: invite claps, follows, or responses

9. **Pull quotes** (2-3 throughout)
   - Formatted as blockquotes (`> quote text`)
   - Place one every 500-800 words for visual rhythm
   - Choose lines that work as standalone insights
   - These also serve as highlight-worthy text for Medium's highlight feature

### SEO Optimization

- **Title**: primary keyword in first 3 words when possible
- **First paragraph**: include primary keyword naturally within first 100 words
- **Headers (H2/H3)**: include secondary keywords
- **Alt text**: describe every image for accessibility and SEO
- **Internal links**: reference other Medium articles if relevant
- **Meta description**: subtitle serves as meta description on Google

### Formatting Rules
- Short paragraphs (2-4 sentences max)
- Generous whitespace between sections
- Bold key phrases for scanners (2-3 per section)
- Use H2 for main sections, H3 for subsections
- Code blocks for any technical content
- Bulleted/numbered lists for actionable content
- Pull quotes for visual breaks and emphasis

## Output 2: Tags + Publication Suggestions

**File:** `medium/tags-publications.md`

### Tags (exactly 5)

| Position | Strategy |
|----------|----------|
| Tag 1 (primary) | Broadest relevant topic (highest search volume) |
| Tag 2 | Specific niche within the topic |
| Tag 3 | Audience-related tag (e.g., "Startup", "Self Improvement") |
| Tag 4 | Format or methodology tag (e.g., "How To", "Case Study") |
| Tag 5 | Trending or timely tag if applicable |

The first tag carries the most weight for Medium's distribution algorithm. Choose the broadest relevant topic with the highest search volume.

### Publication Suggestions (2-3)

For each publication, provide:

| Field | Description |
|-------|-------------|
| Publication name | Official name as it appears on Medium |
| Follower tier | Small (<10K), Medium (10K-100K), Large (100K+) |
| Submission note | Key guidelines or requirements for submission |
| Relevance | Why this content fits the publication's focus (1 sentence) |

**Publication selection criteria:**
1. **Topic alignment** -- the publication actively covers this subject
2. **Size sweet spot** -- medium publications (10K-100K) accept more submissions
3. **Acceptance rate** -- larger publications are more selective; suggest a mix
4. **Audience overlap** -- the publication's readership matches the target audience

**Common publications by content type:**

| Content Topic | Likely Publications |
|---------------|---------------------|
| Technology | Better Programming, Towards Data Science, The Startup |
| Business | Better Marketing, The Startup, Entrepreneur's Handbook |
| Productivity | Better Humans, Personal Growth, Mind Cafe |
| Writing/Content | The Writing Cooperative, Better Marketing |
| Design | UX Collective, Bootcamp, UX Planet |
| AI/ML | Towards Data Science, Towards AI, AI in Plain English |

## Output 3: Crosspost Note

**File:** `medium/crosspost-note.md`

Handle canonical URL attribution to protect SEO.

### If content was originally published elsewhere:
- Include canonical URL import note: "Use Medium's Import tool (medium.com/p/import) to set the canonical URL to [original source]"
- Footer text: "Originally published at [source name + URL]"
- Note: Medium's import tool automatically sets `rel=canonical` to avoid duplicate content penalties

### If this is original content:
- Note: "First published on Medium"
- Suggest the user set up a custom domain or publication for branding
- Optional: suggest crossposting TO their blog later with canonical pointing back to Medium

### Crosspost Format

```markdown
**Canonical source:** [Original URL or "Medium (original)"]
**Import method:** [Medium Import tool / Manual paste]
**Footer attribution:** [Text to include at bottom of article]
**SEO note:** [Canonical URL guidance]
```

## Tone Rules

| Do | Do NOT |
|----|--------|
| Write in first person ("I discovered", "In my experience") | Use third person or passive voice |
| Tell stories and share genuine insights | Write dry, encyclopedia-style content |
| Use conversational language with personality | Use academic jargon or corporate speak |
| Include specific numbers and evidence | Make vague, unsubstantiated claims |
| Build a narrative arc (tension, insight, resolution) | Dump information in list format only |
| Use pull quotes for visual rhythm | Write unbroken walls of text |
| Acknowledge nuance and uncertainty | Speak in absolutes without evidence |
| Write headlines that work in Google search | Write clickbait or misleading titles |

## Output Format

```markdown
# [Article Title]
## [Subtitle / Kicker]

[Full article text with headers, pull quotes, and formatting]

---
**Reading time:** ~[X] min
**Tags:** [tag1], [tag2], [tag3], [tag4], [tag5]
**Suggested publications:** [publication1], [publication2]
**Paywall recommendation:** [Yes/No + reasoning]
**Best posting time:** Tuesday-Thursday 8-10 AM
**SEO notes:** [primary keyword, secondary keywords, title optimization]
```

## Brief Mode

If `--brief` is active, produce only:
- Title + subtitle
- Opening 3 paragraphs (~500 words)
- 5 tags
- Skip full article, publication suggestions, and crosspost note

## Error Handling

| Condition | Action |
|-----------|--------|
| Fewer than 5 atoms | Write shorter article (800-1,200 words); reduce to 3 sections |
| No `stat` or `casestudy` atoms | Use narrative-driven structure; lean on `insight` and `contrarian` atoms |
| `brief_mode` is true | Generate title + subtitle + opening only (500 words) + tags |
| Content too short for full article | Frame as a "thought piece" (800 words); note shorter read time |
| Promotional content detected | Reframe as an insight story; strip product mentions, focus on lessons learned |
| Voice profile unclear | Default to conversational-authoritative; note in output header |

