Content Strategy
AnthropicOfficialPublished by Anthropic
- Skill
- Research and analysis
- Business and productivity
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Content Strategy transforms raw sales data from platforms like QuickBooks, PayPal, and Square into an actionable 30-day marketing roadmap. By analyzing product performance, sales velocity, and seasonal trends, the skill provides strategic guidance on which products to promote, which to hold, and what offers to run. It is designed to bridge the gap between financial performance and content creation, ensuring marketing efforts are data-driven and aligned with business goals.
What it does
- Analyzes transaction history to identify top-selling products and slow-moving inventory.
- Integrates seasonal trends and industry benchmarks to provide context for sales performance.
- Produces a prioritized 30-day content brief outlining strategic marketing recommendations.
- Suggests specific content angles and promotional offers based on data-driven insights.
- Supports data ingestion via direct platform connectors or manual file uploads.
- Prepares structured output for downstream content generation tools.
When to use it
- When an SMB owner asks for a content plan or wants to know what to post this month.
- When a business needs to align their marketing efforts with actual sales performance.
- When identifying which products or services to prioritize for upcoming promotional campaigns.
- When evaluating the effectiveness of current product offerings against seasonal market shifts.
Advantages
- Removes guesswork from content planning by grounding strategy in real sales data.
- Provides clear, actionable priorities rather than generic marketing advice.
- Flexible data ingestion supports both automated API connections and manual file uploads.
- Ensures strategic alignment before committing resources to creative asset production.
Usage examples
- “What should I post on social media this month?”
- The agent analyzes the last 90 days of sales data, identifies top performers, and presents a 30-day brief recommending specific products to push and offers to run.
- “I need a content plan for my boutique. What is selling well?”
- The agent pulls sales reports, identifies trending items, layers in seasonal context, and provides a strategic brief on what to promote and what to reposition.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/anthropics/content-strategy/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip content-strategy.zip -d .agents/skills
Documentation by Anthropic
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 populatedIf 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 industryConfirm: "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 fieldsPayPal: 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.
Files
- ATTRIBUTION.mdAdded by AutoGineer913 B
- LICENSELicence file added by AutoGineer11.3 KiB
- SKILL.md8.1 KiB
- reference/examples/retail-boutique-example.md2.8 KiB
- reference/gotchas.md4.3 KiB
- reference/v2_sources.md1.5 KiB
reference/gotchas.md
Gotchas
Gotcha: Confusing correlation with causation
Sales data shows a product peaked in March. That doesn't mean March marketing caused it — it might be seasonal demand.
Why it matters: If you push hard on a slow-moving product just because it sold well once, you waste creative energy on something that doesn't actually resonate.
✗ Bad
"Widgets sold 10 units in March. Push widgets hard in May because March worked."
✓ Good
"Widgets sell well in March. Check if that's seasonal demand (tax-season gifting?) or a one-off spike. If seasonal, position for March next year. If one-off, don't over-index on it."
Gotcha: Ignoring low-velocity, high-margin products
Revenue is tempting. A low-volume, high-margin service (like consulting) might generate less total revenue than a cheap commodity product, but it's far more profitable.
Why it matters: If you obsess over volume winners and ignore margin leaders, you prioritize busy-work over profit.
✗ Bad
"Service packages sold USD 500 total, but widget bundles sold USD 2000. Push widgets."
✓ Good
"Ask: Which brings in the most profit per unit? Service packages might be 70% margin × USD 500 = USD 350 profit. Widget bundles might be 20% margin × USD 2000 = USD 400 profit. Different story now."
Gotcha: Seasonal benchmarks that don't fit your niche
"Retail peaks in November" is true for many, but not all. A tax prep service peaks in March; a swimming pool company peaks in May.
Why it matters: Generic benchmarks steer you wrong. Always ask the user: "Does this seasonality match your reality?"
✗ Bad
"Industry benchmarks say Q4 is peak retail. You're a pool company. Push hard in Q4 anyway."
✓ Good
"Pool companies peak May–August. Q4 benchmarks don't apply. Confirm with user: 'Do your sales match May–August peak?'"
Gotcha: Missing the composite picture
"What's selling" can mean by revenue, margin, velocity, customer lifetime value, or retention. Different metrics tell different stories.
Why it matters: Pick the wrong metric and you prioritize products that look good once but don't deliver repeat customers.
✗ Bad
Assume "top seller" = highest revenue. Rank by revenue only.
✓ Good
"How do you measure success? Revenue? Profit? Customer lifetime value? Repeat purchases?" Then rank by their chosen metric — or combine multiple metrics for balance.
Gotcha: Not accounting for inventory constraints
A product might be flying off the shelves, but if inventory is low, pushing hard could create stockouts and frustration.
Why it matters: You want to drive sales, not broken customer experiences.
✗ Bad
"Widget sales are strong. Push widgets harder."
✓ Good
"Widget sales are strong, but inventory is down to 5 units. Flag: 'Before pushing, confirm inventory. Consider promoting a similar alternative or pausing until restock.'"
Gotcha: QuickBooks profile not set up before first use
New QuickBooks users often skip the business profile setup (industry, business name). When you try to pull P&L data, the connector returns profile_info_required error.
Why it matters: A dead-end error frustrates the user. Pre-flight validation prevents wasted time.
✗ Bad
User: "What should I post?" Skill: [calls profit_loss_quickbooks_account] → Error: "Profile required" User: [confused, doesn't know what to do next]
✓ Good
User: "What should I post?" Skill: [calls company-info] → Industry = "Unknown" Skill: "I need your industry to pull the right benchmarks. What industry are you in?" User: [provides industry] Skill: [calls quickbooks-profile-info-update] → Profile updated Skill: [now calls profit_loss_quickbooks_account successfully]
Gotcha: PayPal rate-limiting on repeated calls
If you call list_transactions multiple times in rapid succession (e.g., looping through date ranges), PayPal may rate-limit and return 429 errors.
Why it matters: Without retry logic, the skill fails mid-analysis when it should gracefully degrade.
✗ Bad
Call list_transactions → 429 error → Skill crashes
✓ Good
Call list_transactions → 429 error → Wait 30 seconds → Retry → If still blocked, offer fallback: "PayPal is temporarily rate-limited. Would you like to switch to QuickBooks/Square, or continue with partial data?"
Requirements and compatibility
Written for: Claude Code, Claude apps
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Anthropic
- Publisher
- Anthropic (Official)
- Source
- anthropics/knowledge-work-plugins · small-business/skills/content-strategy · commit e050c2e
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Anthropic or Anthropic.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download content-strategy.zip