Generate editorial calendars for blogs with topic clusters, publishing schedules, content decay detection, freshness update plans, seasonal opportunities, content mix formula, template integration…

MITAuto-check passedWriting & Content

Install Blog Calendar

skills CLI
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill blog-calendar -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills blog-calendar --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/blog-calendar .claude/skills/blog-calendar && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
blog-calendar
GitHub stars
136
Token cost
~3.1k tokens
SKILL.md length
1,071 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
MIT

At a glance

Generate editorial calendars for blogs with topic clusters, publishing schedules, content decay detection, freshness update plans, seasonal opportunities, content mix formula, template integration…

  • Works in 11 steps: Understand the Blog → Topic Cluster Design → 5: Content Decay Detection → …
  • User says editorial calendar
  • SKILL.md covers Cross-reference and Workflow
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Blog Calendar is an agent skill from Infrasity-Labs/dev-gtm-claude-skills. Generate editorial calendars for blogs with topic clusters, publishing schedules, content decay detection, freshness update plans, seasonal opportunities, content mix formula, template integration, and distribution scheduling. Plans monthly or quarterly calendars optimized for SEO topic authority and AI citation freshness requirements (30-day update cycles). Use when user says "editorial calendar", "content calendar", "blog calendar", "publishing schedule", "blog plan", "content plan", "what should I write".

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Writing & Content, covering Content strategy. The repository describes itself as: Open-source Claude skills for GEO, AI discoverability, and developer GTM workflows. Built for developer-focused companies that want their documentation to be found, parsed, and… The licence is MIT.

When your agent uses it

  • User says editorial calendar
  • Content calendar
  • Publishing schedule
  • What should I write

Example prompts

  • “editorial calendar”
  • “content calendar”
  • “blog calendar”
  • “/blog-calendar”

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. Understand the Blog
  2. Topic Cluster Design
  3. 5: Content Decay Detection
  4. Freshness Update Schedule
  5. Seasonal & Trending Hooks
  6. Generate the Calendar
  7. 5: Topic Cluster Progress Tracking
  8. 6: Distribution Scheduling
  9. 7: Freshness Automation
  10. Save & Next Steps
  11. Notion MCP (Optional)

What it can do on your machine

Read from SKILL.md and the folder at commit 02cfefb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Blog Calendar loads about 3.1k tokens when it runs. Until then it costs about 132 tokens; SKILL.md has 1,071 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~132
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Infrasity-Labs/dev-gtm-claude-skills at commit 02cfefb, republished under its MIT licence (© Infrasity-Labs). 1,071 words, ~3,100 tokens.

Download SKILL.mdSave it as .claude/skills/blog-calendar/SKILL.md (or your agent's skills folder).
name
blog-calendar
description
Generate editorial calendars for blogs with topic clusters, publishing schedules, content decay detection, freshness update plans, seasonal opportunities, content mix formula, template integration, and distribution scheduling. Plans monthly or quarterly calendars optimized for SEO topic authority and AI citation freshness requirements (30-day update cycles). Use when user says "editorial calendar", "content calendar", "blog calendar", "publishing schedule", "blog plan", "content plan", "what should I write".
user-invokable
true
argument-hint
[<niche>]

Blog Calendar: Editorial Planning

Generates editorial calendars with topic clusters, publishing cadence, freshness update schedules, content decay detection, template recommendations, distribution planning, and seasonal hooks. Optimized for building topical authority (Google) and maintaining citation freshness (AI platforms).

Cross-reference

This skill operates at the FLOW Find stage. Before selecting topics, run /blog flow find for keyword discovery, content prioritization, and audience avatar prompts that should inform cluster selection and topic sequencing.

Workflow

Step 1: Understand the Blog

Gather context:

  1. Niche/industry: What is the blog about?
  2. Existing content: Scan for existing blog posts (Glob for *.md, *.mdx, *.html)
  3. Publishing cadence: How often can they publish? (default: 2x/week)
  4. Timeframe: Monthly or quarterly calendar?
  5. Business goals: What should the blog drive? (traffic, leads, authority)
Step 2: Topic Cluster Design

Design 3-5 topic clusters (pillar + supporting content):

Cluster: [Pillar Topic]
├── Pillar Page: [Comprehensive guide - 3,000+ words]
├── Supporting: [Subtopic 1 - 2,000 words]
├── Supporting: [Subtopic 2 - 2,000 words]
├── Supporting: [Subtopic 3 - 1,500 words]
├── Comparison: [X vs Y - 1,500 words]
└── FAQ: [Common questions - 1,500 words]

Each cluster should:

  • Target a primary keyword theme
  • Cover the topic comprehensively for topical authority
  • Include varied content types (guides, comparisons, how-tos, listicles)
  • Support internal linking between cluster pages
Step 2.5: Content Decay Detection

Scan existing blog posts for lastUpdated or date fields in frontmatter. Classify each post by staleness using these thresholds:

Traffic LevelStale ThresholdAt-Risk Threshold
High-traffic posts>30 days since update>90 days
Medium-traffic posts>90 days since update>180 days
Low-traffic posts>180 days since update>365 days

Reference: 76% of top AI citations are from content updated within 30 days.

Output a decay report:

## Content Decay Report
| Post | Last Updated | Days Stale | Priority | Action |
|------|-------------|-----------|----------|--------|
| [slug] | [date] | [N] | Critical | Refresh immediately |
| [slug] | [date] | [N] | High | Schedule this month |
| [slug] | [date] | [N] | Medium | Schedule this quarter |

Priority levels:

  • Critical: High-traffic post stale >30 days: refresh immediately
  • High: Any post stale beyond its threshold: schedule this month
  • Medium: Posts approaching their threshold: schedule this quarter
  • Low: Posts within threshold: no action needed
Step 3: Freshness Update Schedule

AI platforms heavily favor fresh content (76% of top citations updated within 30 days).

Plan update cycles:

  • High-priority posts (traffic drivers): Update every 30 days
  • Medium-priority posts: Update every 90 days
  • Low-priority posts: Update annually
  • Evergreen posts: Update when data changes

Research seasonal opportunities:

  1. Industry events: Conferences, product launches, algorithm updates
  2. Seasonal trends: Use WebSearch to check Google Trends for the niche
  3. Annual reports: When do major studies release new data?
  4. Algorithm updates: Google core updates (typically 3-4 per year)
  • Map seasonal peaks to content production schedule
  • Plan content 4-6 weeks before seasonal peaks for indexing lead time
  • Create "evergreen with seasonal hook" content (e.g., "X Guide [Year]" updated annually)
  • Track industry report release cycles:
    • Ahrefs Annual State of SEO (typically Q1)
    • Google Year in Search (December)
    • HubSpot State of Marketing (Q1)
    • Gartner Hype Cycle (August)
    • Major conference dates in the niche
  • Use WebSearch to validate timing of trends before scheduling
Step 5: Generate the Calendar
Content Mix Formula

Apply the recommended content mix ratio: 60% new content / 30% freshness updates / 10% repurposed content

CadenceMonthly PostsNewRefreshesRepurposed
2 posts/week8521
3 posts/week12741
4 posts/week161051
1 post/week42-310-1

Within new posts, aim for content type diversity:

  • Guides/How-tos: 30-40% of new content
  • Comparisons/Alternatives: 15-20%
  • Listicles/Roundups: 15-20%
  • Case studies/Data research: 10-15%
  • Thought leadership/News analysis: 10-15%
Template Integration

For each new post entry, recommend a content template from these 12 available: how-to-guide, listicle, case-study, comparison, pillar-page, product-review, thought-leadership, roundup, tutorial, news-analysis, data-research, faq-knowledge

Reference: references/content-templates.md for full template details.

Monthly Calendar Format
# Editorial Calendar: [Month Year]

## Publishing Cadence: [N] posts/week
## Content Mix: [N] new / [N] refreshes / [N] repurposed

### Week 1: [Date Range]
| Day | Type | Title | Template | Cluster | Target Keyword | Status |
|-----|------|-------|----------|---------|---------------|--------|
| Mon | New | [Title] | how-to-guide | [Cluster] | [keyword] | Draft |
| Thu | Update | [Existing post] | - | [Cluster] | [keyword] | Refresh |

### Week 2: [Date Range]
| Day | Type | Title | Template | Cluster | Target Keyword | Status |
|-----|------|-------|----------|---------|---------------|--------|
| Mon | New | [Title] | comparison | [Cluster] | [keyword] | Brief |
| Thu | New | [Title] | listicle | [Cluster] | [keyword] | Brief |

### Week 3: [Date Range]
[...]

### Week 4: [Date Range]
[...]

## Content Mix This Month
- New posts: [N]
- Freshness updates: [N]
- Repurposed content: [N]
- Content types: [guides, comparisons, how-tos, listicles, ...]

## Freshness Update Queue
| Post | Last Updated | Priority | Scheduled |
|------|-------------|----------|-----------|
| [slug] | [date] | High | Week 2 |
| [slug] | [date] | Medium | Week 4 |

## Seasonal Hooks
- [Event/trend and how to leverage it]
Quarterly Calendar Format
# Quarterly Editorial Plan: Q[N] [Year]

## Content Strategy
- Topic clusters: [N] active
- New posts planned: [N]
- Freshness updates planned: [N]
- Repurposed content: [N]
- Total content actions: [N]

## Month 1: [Month]
### Focus: [Primary cluster or theme]
| Week | Type | Title | Template | Cluster | Keyword |
|------|------|-------|----------|---------|---------|
| W1 | New | ... | how-to-guide | ... | ... |
| W1 | Update | ... | - | ... | ... |
| W2 | New | ... | comparison | ... | ... |
[...]

## Month 2: [Month]
### Focus: [Primary cluster or theme]
[...]

## Month 3: [Month]
### Focus: [Primary cluster or theme]
[...]

## Quarterly Goals
- [ ] Publish [N] new posts
- [ ] Update [N] existing posts for freshness
- [ ] Complete [Cluster] pillar + [N] supporting pages
- [ ] Achieve [metric target]
Step 5.5: Topic Cluster Progress Tracking

Track the build-out state of each topic cluster. Prioritize completing partially-built clusters over starting new ones.

## Topic Cluster Progress
| Cluster | Pillar | Spokes Published | Spokes Planned | Coverage |
|---------|--------|-----------------|----------------|----------|
| [Topic] | Published | 5/10 | 5 this quarter | 50% |
| [Topic] | Draft | 2/8 | 3 this quarter | 25% |
| [Topic] | Not started | 0/6 | 1 this quarter | 0% |

Rules for cluster prioritization:

  • Clusters at 50%+ coverage: highest priority to complete
  • Clusters with published pillar but few spokes: second priority
  • New clusters: only start when existing clusters reach 75%+ coverage
  • Never have more than 3 clusters in active build-out simultaneously
Show full SKILL.md (451 more words)Show less
Step 5.6: Distribution Scheduling

For each new post, plan distribution across channels. Include distribution timing in the calendar output.

## Distribution Schedule
| Post | Publish Date | LinkedIn | Reddit | Email | YouTube |
|------|-------------|----------|--------|-------|---------|
| [Title] | [Date] | Same day | +2-3 days | Next batch | If pillar |

Channel timing rules:

  • LinkedIn: Same day as publish (share key insight + link)
  • Reddit: 2-3 days after publish (share genuine insight, not a link drop)
  • Email newsletter: Batch weekly (include 2-3 posts per newsletter)
  • YouTube: Plan companion video for pillar posts only (resource-intensive)
  • Twitter/X: Same day as publish (thread key takeaways)

Reference: references/distribution-playbook.md for detailed channel tactics.

Step 5.7: Freshness Automation

Set up a system for ongoing freshness maintenance:

## Freshness Schedule: Next 30 Days
| Post | Last Updated | Next Refresh Date | Priority | Owner |
|------|-------------|-------------------|----------|-------|
| [slug] | [date] | [date + 30] | High | [name] |
| [slug] | [date] | [date + 90] | Medium | [name] |

Automation recommendations:

  • Set calendar reminders for 30-day refresh cycles on high-traffic posts
  • List posts by "next refresh date" in ascending order (most urgent first)
  • Prioritize refresh order by traffic/importance
  • After each refresh, update the lastUpdated frontmatter field
  • Track refresh history to measure freshness impact on rankings/citations
  • Suggest running /blog rewrite for each scheduled refresh
Step 6: Save & Next Steps

Save the calendar and suggest:

  1. Start with /blog brief <first-topic> to create the first content brief
  2. Use /blog write to generate articles from briefs
  3. Use /blog rewrite for freshness updates on existing content
  4. Re-run /blog calendar next month/quarter for the next plan
  5. Review the Content Decay Report weekly and address Critical items first
  6. Track Topic Cluster Progress monthly to ensure clusters reach completion
Step 7: Notion MCP (Optional)

After delivering the calendar to chat, attempt notion-query-data-sources. If it returns results, Notion is connected — run the push below. If it fails or is unavailable, skip and append the alert.

If Notion connected:

The editorial calendar is structured data (Title, Type, Template, Cluster, Keyword, Status, Publish Date, Author) — a natural Notion database. Push it directly:

  1. Call notion-search for an existing Content Calendar database in the workspace
  2. If found: call notion-create-pages to add each new article/update entry to the existing database — skip entries that already exist (match on Title + Publish Date)
  3. If not found: call notion-create-database to initialize a Content Calendar database with properties:
    • Title (title), Type (select: New / Refresh / Repurposed), Template (select), Cluster (select), Keyword (rich text), Status (select: Brief / Draft / Review / Published), Publish Date (date), Author (person) Then call notion-create-pages to populate it with every entry from the calendar
  4. Call notion-create-view to add a Calendar view grouped by Publish Date (so the team can see the schedule visually)
  5. Confirm: "✅ Editorial calendar pushed to Notion — [N] entries added. Calendar view created."

On re-runs (next month/quarter): call notion-query-database-view first to fetch existing entries, skip duplicates, only add new ones.

If not connected:

💡 Notion not connected — your editorial calendar is output to chat only. Connect the Notion MCP connector to automatically push it to a Notion database with a calendar view your whole team can track. Setup: notion-mcp-server

© Infrasity-Labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/blog-calendar of Infrasity-Labs/dev-gtm-claude-skills.

Open the folder on GitHubat commit 02cfefb

Compare with similar skills

Blog Calendar next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Blog Calendar compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Blog Calendar this skillInfrasity-Labs/dev-gtm-claude-skills136—~3.1kAutomated safety check: PassMIT
Blogger Distillerotter1101/blogger-distiller701—~3.8kAutomated safety check: NotesMIT
Linkedin Content Plannersergebulaev/linkedin-skills4.4k1 repos~2.1kAutomated safety check: PassMIT
Blog Post Draftingluongnv89/claude-howto42k—~2.1kAutomated safety check: PassMIT
WeChat Hot Article AnalysisSpaceZephyr/creator-buddy1.6k—~847Automated safety check: PassNone
Brand Voice Content Creatordavila7/claude-code-templates33k3 repos~1.9kAutomated safety check: PassMIT

Similar skills

  • Blogger Distiller

    otter1101/blogger-distiller

    A skill your agent uses when the user wants to analyze or distill a blogger/account on Xiaohongshu or Douyin, benchmark a target creator, or diagnose their own content strategy.

    701 GitHub stars~3.8k tokensUpdated 18 days ago
    Writing & ContentAuto-check: notes
  • Linkedin Content Planner

    sergebulaev/linkedin-skills

    Generate a 7-day LinkedIn content plan from a theme, audience, and pillars.

    4.4k GitHub starsUsed in 1 repo~2.1k tokens
    Writing & ContentAuto-check passed
  • Blog Post Drafting

    luongnv89/claude-howto

    Guides drafting a blog post from an idea and optional source material: research, brainstorming, outlining and version-tracked drafts, with user approval at each step.

    42k GitHub stars~2.1k tokensUpdated today
    Writing & ContentAuto-check passed
  • WeChat Hot Article Analysis

    SpaceZephyr/creator-buddy

    Fetches hot WeChat Official Account articles by sector or keywords and produces a data file and an HTML report with rankings, style patterns and writing references.

    1.6k GitHub stars~847 tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    33k GitHub starsUsed in 3 repos~1.9k tokens
    Writing & ContentAuto-check passed
  • Ralph Copywriter

    muratcankoylan/ralph-wiggum-marketer

    A skill your agent uses when the user asks to "analyze my content", "learn my writing style", "research competitors", "find content angles", "improve my blog", "write like me", "embody my brand…

    778 GitHub stars~2.4k tokensUpdated 6 mo ago
    Writing & ContentAuto-check passed

More from Infrasity-Labs/dev-gtm-claude-skills

All 26 skills in this repo
  • Brief Outline Generator

    Infrasity-Labs/dev-gtm-claude-skills

    Generates a fully structured SEO content outline (not a finished brief) and exports it as a formatted .docx Word document.

    136 GitHub stars~4k tokensUpdated 3 mo ago
    Auto-check passed
  • Content Brief

    Infrasity-Labs/dev-gtm-claude-skills

    Generates a fully structured SEO content brief for a target keyword and optionally pushes it to a Notion database.

    136 GitHub stars~2.8k tokensUpdated 3 mo ago
    Auto-check passed
  • API Docs Quality Report

    Infrasity-Labs/dev-gtm-claude-skills

    Audits any API documentation site by crawling every endpoint page and scoring each one across 5 checks: description quality, OpenAPI spec presence, body param descriptions, response codes, and…

    136 GitHub stars~2.5k tokensUpdated 3 mo ago
    Auto-check passed
  • Docs Auditor

    Infrasity-Labs/dev-gtm-claude-skills

    Audits any developer documentation site across 33 checks in 7 categories and produces a scored report (out of 100) with Pass / Warn / Fail status per check.

    136 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check passed
  • Growth Report

    Infrasity-Labs/dev-gtm-claude-skills

    Generates a 3-month SEO performance HTML report for any domain using DataForSEO data.

    136 GitHub stars~4k tokensUpdated 3 mo ago
    Auto-check passed
  • Inbox

    Infrasity-Labs/dev-gtm-claude-skills

    Email triage system that handles both one-time setup and recurring triage in a single skill.

    136 GitHub stars~4.8k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Blog Calendar

What does Blog Calendar do?

Generate editorial calendars for blogs with topic clusters, publishing schedules, content decay detection, freshness update plans, seasonal opportunities, content mix formula, template integration…. Blog Calendar is an agent skill from Infrasity-Labs/dev-gtm-claude-skills. Generate editorial calendars for blogs with topic clusters, publishing schedules, content decay detection, freshness update plans, seasonal opportunities, content mix formula, template integration, and distribution scheduling.

When should I use Blog Calendar?

Blog Calendar fits situations like: user says editorial calendar; content calendar; publishing schedule; what should I write.

How do I install Blog Calendar in Claude Code?

Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill blog-calendar -a claude-code`. Or copy the skill folder (.claude/skills/blog-calendar in Infrasity-Labs/dev-gtm-claude-skills) into .claude/skills/blog-calendar in your project. Claude Code loads it when a task matches its description.

How do I install Blog Calendar in Codex?

Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill blog-calendar -a codex`. Or copy the skill folder (.claude/skills/blog-calendar in Infrasity-Labs/dev-gtm-claude-skills) into .agents/skills/blog-calendar in your project. Codex loads it when a task matches its description.

Can I use Blog Calendar in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill blog-calendar -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blog-calendar, .gemini/skills/blog-calendar, .github/skills/blog-calendar and .opencode/skills/blog-calendar in your project.

What does Blog Calendar need to run?

SKILL.md names no scripts, command-line tools or credentials: Blog Calendar is instructions for the agent only.

Does Blog Calendar access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Blog Calendar safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Blog Calendar use?

Blog Calendar is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Blog Calendar use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Blog Calendar?

Skills that share tags, products or a category with Blog Calendar: Blogger Distiller (otter1101/blogger-distiller, 701 stars), Linkedin Content Planner (sergebulaev/linkedin-skills, 4.4k stars), Blog Post Drafting (luongnv89/claude-howto, 42k stars) and WeChat Hot Article Analysis (SpaceZephyr/creator-buddy, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Blog Calendar?

Infrasity-Labs (a GitHub user) maintains it in Infrasity-Labs/dev-gtm-claude-skills, which has 136 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on June 28, 2026.

Source: Infrasity-Labs/dev-gtm-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.