content-strategy
anthropics/knowledge-work-plugins
Analyze sales data to build a prioritized 30-day content strategy—no assets, just what to push.
What is content-strategy?
Pulls sales data from QuickBooks, PayPal, or Square to identify top performers, seasonal trends, and slow movers. Produces a strategic 30-day brief recommending what to promote, what offers to run, and what to hold. Use when planning monthly content or deciding what to post.
- Fetches 90-day sales history from QuickBooks, PayPal, Square, or uploaded exports
- Identifies top 3–5 performers and slow movers by revenue, margin, or sales velocity
- Layers in seasonality patterns (user-provided or industry benchmarks)
- Ranks products by strategic priority for the next 30 days
- Recommends content angles and offer strategies (bundles, discounts, repositioning)
- Outputs a 200–400 word strategic brief ready for downstream asset generation
How to install content-strategy
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill content-strategy- Connected sales account (QuickBooks, PayPal, Square, Shopify, or Stripe) OR exported sales CSV/Excel from the last 90 days
- For QuickBooks: business industry category populated in company profile
How to use content-strategy
- 1.Ask the skill 'what should I post this month?' or 'what's my content plan?'
- 2.Specify how to measure top performers: by total revenue, profit margin, or sales velocity
- 3.Share any known seasonality patterns, or let the skill use industry benchmarks
- 4.Approve the generated 30-day brief (executive summary, push hard, hold steady, reposition/pause, seasonal opportunities, offers)
- 5.Pass the approved brief to social-content-engine for calendar and asset generation
Use cases
- SMB owner asks 'what should I post this month?' and needs a data-driven plan
- Retail business wants to know which products to push during seasonal shifts
- Service provider needs to identify trending services and slow movers before planning campaigns
- E-commerce seller wants to bundle or discount underperforming SKUs based on sales velocity
- SaaS company wants to highlight subscription tiers gaining momentum in the last 30 days
- Small business owners planning monthly content
- Marketing managers needing sales-backed strategy
- E-commerce and retail operators
- Service-based businesses (consulting, agencies, salons)
- Anyone with sales data in QuickBooks, PayPal, Square, Shopify, or Stripe
content-strategy FAQ
No. You can export a CSV from QuickBooks, PayPal, or Square and upload it. The skill also works with a pasted list of what sold and when, though the analysis is rougher.
The skill uses industry seasonality benchmarks for your category (retail, services, SaaS, etc.) to fill gaps and still produce a valid brief.
No. This skill produces strategy only—what to push and why. Use social-content-engine to turn the brief into actual posts and calendars.
Yes. The skill supports Shopify (per-SKU velocity and product images) and Stripe (subscription and recurring revenue). See reference/v2_sources.md for details.
The skill pauses 30 seconds and retries once. If still blocked, it offers to switch to QuickBooks or Square, or continue with historical data already pulled.
Full instructions (SKILL.md)
Source of truth, from anthropics/knowledge-work-plugins.
name: content-strategy description: > Analyzes sales data from PayPal and QuickBooks to find top performers and slow movers, layers in seasonality, and produces a prioritized 30-day content brief: what to push, what offers to run, what to hold. Strategic output only — no calendars or assets. Use when the user asks what to post, wants a content plan, asks what's selling, or what to promote this month. allowed-tools: Read, WebFetch
Content Strategy
Quick start
When an SMB owner asks "what should I post this month?" or "what's my content plan?", this skill:
- Pulls sales data from QuickBooks or PayPal (transaction history, product/service revenue by date)
- Identifies patterns — top-selling products, slow movers, seasonal trends
- Layers in context — seasonality (user-provided or industry benchmarks), past performance
- Produces a 30-day brief — ranked recommendations of what to push, what to hold, what offers to consider
- Gets owner approval before the brief feeds into
social-content-enginefor asset generation
The output is strategic only — no calendar scheduling, no creative assets.
Workflow
Step 1: Pre-flight check (QuickBooks only)
If using QuickBooks, verify the business profile is set up:
- Call
company-infoto check ifIndustryis populated - If missing or "Unknown":
- Ask: "I need your business category to pull the right seasonality benchmarks. What industry are you in?" (e.g., retail, services, SaaS)
- Call
quickbooks-profile-info-updatewith the user's industry - Confirm: "Profile updated. Ready to pull your sales data."
- If profile is set, proceed to Step 2
Note: PayPal and Square do not require profile setup.
Step 2: Clarify priorities & metrics
When triggered, ask the user:
-
"How do you want me to measure 'top performers'?"
- By total revenue?
- By profit margin?
- By sales velocity (how fast they're selling)?
- Combination of the above?
-
"Do you have seasonality patterns in mind?"
- If yes: "Tell me about them" (capture user's known seasonality)
- If no: "I'll use industry benchmarks for your category"
Step 3: Pull and analyze sales data
Fetch data from the authenticated connector (QuickBooks, PayPal, or Square, user's choice):
- Date range: Last 90 days (or full history if <90 days available)
- Extract: Product/service name, date sold, revenue, quantity
Connector-specific notes:
- QuickBooks: Fetch invoice line items via
profit_loss_quickbooks_account(pre-flight sets industry context). Read the rows ormonthlyBreakdown; the response'stotalExpensesreports 0 against real rows, so never read the summary fields - PayPal: Fetch merchant transactions via
list_transactions. Rate-limiting: If you hit rate limits, pause 30 seconds and retry once. If still blocked, gracefully offer: "PayPal is rate-limited. Would you like to switch to QuickBooks or Square instead, or I can continue with historical data I already pulled?" - Square: Requires location ID first. Call
make_api_request(service="locations", method="list")to discover available locations, then fetch orders for each location.
No connectors at all? This still runs, and it is a supported path — not a degraded one. Ask the owner to export their sales history and upload it. Name the export by the label they will actually see in the app:
- QuickBooks — Reports, then the "Sales by Product/Service Detail" report, set to the last 90 days, exported to Excel or CSV
- PayPal — Activity, then Download, set to the last 90 days, "Completed transactions" as CSV
- Square — Reports, then Item Sales, set to the last 90 days, exported as CSV
Any one of those carries product name, date, revenue, and usually quantity, which is everything Step 3 needs. A pasted list of what sold and roughly when also works — say plainly that the read is rougher, and run it.
Fallback: If <3 months of data, use industry seasonality benchmarks for the SMB's category (e.g., retail, services, e-commerce)
Identify:
- Top 3–5 performers (by user's chosen metric)
- Bottom 3–5 slow movers (consider holding or repositioning)
- Trending up (gaining momentum in last 30 days)
- Trending down (losing momentum)
Step 4: Layer in seasonality
- User-provided: If they shared seasonal patterns, weight recommendations against them
- Industry benchmarks: For categories without strong user data (e.g., "Q1 is strong for tax services")
- Timing: Flag products that should ramp up/down in the next 30 days based on seasonal patterns
Step 5: Build the 30-day brief
Structure:
- Executive summary (1–2 sentences: "Your best sellers are X and Y. Seasonal shift to Z is starting.")
- Push hard (Top 2–3 products + recommended content angle, e.g., "Case study on ROI", "How-to video")
- Hold steady (Middle performers; maintain visibility but no heavy lift)
- Reposition or pause (Slow movers; consider discounting, bundling, or pausing)
- Seasonal opportunities (What's coming next month that you should position for now)
- Recommended offers (Bundle, discount, or free-trial strategy based on data)
Example length: 200–400 words (brief and actionable, not essay-length).
Step 6: Owner approval & iteration
Present the brief to the owner. Ask:
- "Does this match your gut?"
- "Anything to adjust?"
- "Ready to feed this to social-content-engine for asset generation?"
Iterate if needed; once approved, return the final brief as structured JSON (ready for downstream tools).
More sources, and direct invocation
Read reference/v2_sources.md for the mapping:
- Shopify — per-SKU velocity, variant performance, and product images that flow straight into asset generation downstream
- Stripe — subscription and recurring revenue, where relevant
Direct invocation
If the owner asks for a sales brief, run this and return the brief. Don't route them anywhere.
Gotchas & edge cases
See reference/gotchas.md for common pitfalls.
Examples
See reference/examples/ for worked examples (SaaS, retail, services).
Output
Deliver the 30-day brief per the owner's stored output preference — never default to a markdown file. Check the ## Business context block's Output preference (shared style guide rule, ../../shared/artifact-style.md):
- Visual artifact (the default): render the brief as an HTML page in the house style — what to promote as the lead, the why behind each pick with its numbers in tabular-nums, and the channel call per push. The structured JSON for downstream tools rides along unchanged; it is an input to other skills, not a second deliverable.
- docx / md / notion / canva preference: deliver the same content in that form — a DOCX or markdown file, a Notion page created via the connector (named destination, never overwriting), or a Canva Doc created via the Canva connector (a new design each run, named with the date; tables become lists); fall back to the visual artifact if Notion or Canva is not connected — and say that is why.
- Best for skill: use the visual artifact — this output is a decision page, not prose.
After the brief
The 30-day brief is approved and ready to act on. The natural next step is "make the content" — social-content-engine turns the brief into the standing calendar and the posts. Also nearby: "run this brief" (canva-creator) for a one-shot campaign build from this exact brief, and "is my marketing working" (growth-pulse) to check whether last month's push paid off. Offer at most three, and skip any offer the owner already declined this session.
Using a tool that isn't listed
The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.
Related skills
More from anthropics/knowledge-work-plugins and the wider catalog.

contract-review
Lightweight contract review for SMBs: flags risks, explains terms, exports redlines.

cowork-plugin-customizer
Customize Claude Code plugins for your organization's specific tools and workflows.

create-an-asset
Build prospect-specific sales assets from approved materials and account data, with no made-up numbers.

create-cowork-plugin
Guide users through creating a new Cowork plugin from scratch with a structured five-phase workflow.

create-viz
Create publication-quality visualizations from data with Python—charts, plots, and interactive graphics optimized for reports and presentations.

crm-cleanup
Audit and clean HubSpot data: find stale deals, duplicate contacts, and missing fields, then apply owner-approved fixes.