Content Strategy
Status: MVP draft Owner: JJ
Version: 0.2.0 · Phase MVP Category:
Marketing & Sales
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
canva-creator for 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-info to check if Industry is
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-update with 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:
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)
- 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.
Future enhancement: Square integration is stubbed; full path
documented in reference/square-integration.md.
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 canva-creator for asset generation?"
Iterate if needed; once approved, return the final brief as
structured JSON (ready for downstream tools).
Gotchas & edge cases
See reference/gotchas.md for
common pitfalls.
Examples
See reference/examples/ for
worked examples (SaaS, retail, services).