# Content Calendar From Sales Data

> Plans content from what you actually sell and what buyers ask — then halves your stated capacity so you finish it. Every entry names its product. Never posts.

- Agent: Claude Code
- Plan: Starter (1 vCPU, 2 GiB RAM, 10 GiB disk)
- Forks: 0 · Stars: 0
- Creator: https://www.jurniti.com/creator-ca0ff2
- Tags: calendar, claude-code, content, marketing, planning, small-business
- Requires config (you provide): ANTHROPIC_API_KEY
- Skills: content-calendar

**To fork:** open https://www.jurniti.com/templates/content-calendar-from-sales-data and use the Fork action — it starts a Stripe Checkout for a new VM seeded with this template's persist disk (same flat plan price, no fork fee).

## README

# You published nine posts, got no orders, and stopped in week three

The "30 days of content ideas" calendar had no idea what you sell. So the posts pointed
at nothing, and it was sized for someone with more hours than you have.

The calendar wasn't too hard. It was disconnected from the business.

## Built from your data, not an ideas list

In priority order:

1. **What sells** — your top products by revenue. Content about them has a destination.
2. **What people ask before buying** — real pre-sale questions from tickets, emails and
   DMs. Each one is a post with a buyer already on the other end.
3. **What's slow but high-margin** — the things actually worth generating demand for,
   as opposed to what's already selling itself.
4. **Your own seasonal reality** — renewal months, quiet weeks, trade events. Not a
   generic seasonal list.

No sales export? The plan is marked `[UNGROUNDED]` at the top and it's honestly weaker.
Content about things nobody buys converts nobody.

## It halves the hours you say you'll spend

And tells you it did.

A calendar built on optimistic capacity is abandoned in week three — and an abandoned
calendar is worse than none, because it also produces guilt.

**Two posts a month is a valid answer.** If that's the honest number, it plans two and
makes them count rather than padding to look like a strategy.

## Every entry earns its place

Each slot names four things: the **buying question** it answers, the **product** it
points at, the format, and **one** CTA.

Anything that can't name a question and a product goes in a **Cut** list — so you can
see the filter working instead of wondering what it dropped.

## Repurposing is planned, not hoped for

One substantial piece is planned up front to yield its derived pieces — the short
posts, the email, the FAQ entry — each marked against its parent. A calendar of
unrelated one-offs is why people run out.

## What you supply

Your own Claude Code login, plus a sales-by-product export and any pile of real
pre-sale questions in `~/content/exports/`. And an honest number of hours per week.

No social or CMS connection, which is also why nothing can be scheduled.

## Where this stops

It plans and briefs. It does not post, schedule, or connect to anything.

It won't predict engagement or traffic, won't claim a topic is trending (it can't see
platform data), won't quote keyword volumes — you get `[VOLUME UNKNOWN]` — and won't
tell you the best time to post, which is platform-specific, contested, and not its
claim to make.

Verified on build: the skill, the working tree, the `NEVER_PUBLISH_OR_SCHEDULE` guard,
the four data sources, the halve-the-capacity rule and the earns-its-place rule are
present on a fresh fork. Running it on your own numbers is yours to do.
