Skill Tracer
Skills › Knowledge Work Plugins › content-strategy

content-strategy

skill · 152 lines · Apache-2.0 · small-business/skills/content-strategy/SKILL.md

The facts

Its 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.

The description the agent reads to decide when to use it.

From its settingsline 3

When it starts

The agent picks this when an SMB owner asks what to post, wants a content plan, asks what's selling, or asks what to promote this month — a question about which products, offers or angles to push in the coming weeks. It is a month-facing strategy question, not a request to write or schedule anything yet.

Things a person might say (the model's guesses)

  • “What should I post this month?”
  • “What's selling best for us right now?”
  • “I need a content plan for the next 30 days.”

A model's summary of when it is used.

A model's reading

Tools it may use, or may not

allowed-tools: Read, WebFetch

Tools it may use while it runs without asking you first.

From its settingsline 9

Files it mentions

reference/v2_sources.md, reference/gotchas.md

Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.

Found by matching wordsline 117 line 128

Stops for a person

1 line stops to ask a person

Lines that stop and wait for a person before going on. Found by matching words, so treat them as pointers.

Found by matching wordsline 45

What it leads to

Other skills this one hands off to, calls, requires or offers instead, as a model read them.

A model's reading

What leads to it

Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.

A model's reading

Licence

Apache-2.0, from LICENSE

The terms its author shares it under, which let it be shown here.

From the repositorylicence text
Other files in this skill (2) Close

The text

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1---
2name: content-strategy
3description: >
4 Analyzes sales data from PayPal and QuickBooks to find top performers and
5 slow movers, layers in seasonality, and produces a prioritized 30-day
6 content brief: what to push, what offers to run, what to hold. Strategic
7 output only — no calendars or assets. Use when the user asks what to post,
8 wants a content plan, asks what's selling, or what to promote this month.
9allowed-tools: Read, WebFetch
10---
12# Content Strategy

Content Strategy

Raw lines 1 to 13
14## Quick start
16When an SMB owner asks "what should I post this month?" or "what's my content plan?", this skill:
181. **Pulls sales data** from QuickBooks or PayPal (transaction history, product/service revenue by date)
192. **Identifies patterns** — top-selling products, slow movers, seasonal trends
203. **Layers in context** — seasonality (user-provided or industry benchmarks), past performance
214. **Produces a 30-day brief** — ranked recommendations of what to push, what to hold, what offers to consider
225. **Gets owner approval** before the brief feeds into `social-content-engine` for asset generation
24The output is strategic only — no calendar scheduling, no creative assets.
26---

Quick start

When an SMB owner asks "what should I post this month?" or "what's my content plan?", this skill:

  1. Pulls sales data from QuickBooks or PayPal (transaction history, product/service revenue by date)
  2. Identifies patterns — top-selling products, slow movers, seasonal trends
  3. Layers in context — seasonality (user-provided or industry benchmarks), past performance
  4. Produces a 30-day brief — ranked recommendations of what to push, what to hold, what offers to consider
  5. Gets owner approval before the brief feeds into social-content-engine for asset generation

The output is strategic only — no calendar scheduling, no creative assets.


Raw lines 14 to 27
Names a skill social-content-engine :22
28## Workflow
30### Step 1: Pre-flight check (QuickBooks only)
32If using QuickBooks, verify the business profile is set up:
341. Call `company-info` to check if `Industry` is populated
352. If missing or "Unknown":
36 - Ask: "I need your business category to pull the right seasonality benchmarks. What industry are you in?" (e.g., retail, services, SaaS)
37 - Call `quickbooks-profile-info-update` with the user's industry
38 - Confirm: "Profile updated. Ready to pull your sales data."
393. If profile is set, proceed to Step 2
41**Note:** PayPal and Square do not require profile setup.

Step 1: Pre-flight check (QuickBooks only)

If using QuickBooks, verify the business profile is set up:

  1. Call company-info to check if Industry is populated
  2. If missing or "Unknown":
  3. Ask: "I need your business category to pull the right seasonality benchmarks. What industry are you in?" (e.g., retail, services, SaaS)
  4. Call quickbooks-profile-info-update with the user's industry
  5. Confirm: "Profile updated. Ready to pull your sales data."
  6. If profile is set, proceed to Step 2

Note: PayPal and Square do not require profile setup.

Raw lines 30 to 42
43### Step 2: Clarify priorities & metrics
45When triggered, ask the user:
47- **"How do you want me to measure 'top performers'?"**
48 - By total revenue?
49 - By profit margin?
50 - By sales velocity (how fast they're selling)?
51 - Combination of the above?
53- **"Do you have seasonality patterns in mind?"**
54 - If yes: "Tell me about them" (capture user's known seasonality)
55 - If no: "I'll use industry benchmarks for your category"

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"
Raw lines 43 to 56
Involves a person ask the user :45
57### Step 3: Pull and analyze sales data
59Fetch data from the authenticated connector (QuickBooks, PayPal, or Square, user's choice):
61- **Date range:** Last 90 days (or full history if <90 days available)
62- **Extract:** Product/service name, date sold, revenue, quantity
64**Connector-specific notes:**
66- **QuickBooks:** Fetch invoice line items via `profit_loss_quickbooks_account` (pre-flight sets industry context). Read the rows or `monthlyBreakdown`; the response's `totalExpenses` reports 0 against real rows, so never read the summary fields
67- **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?"
68- **Square:** Requires location ID first. Call `make_api_request(service="locations", method="list")` to discover available locations, then fetch orders for each location.
70**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:
72- **QuickBooks** — Reports, then the "Sales by Product/Service Detail" report, set to the last 90 days, exported to Excel or CSV
73- **PayPal** — Activity, then Download, set to the last 90 days, "Completed transactions" as CSV
74- **Square** — Reports, then Item Sales, set to the last 90 days, exported as CSV
76Any 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.
78**Fallback:** If <3 months of data, use industry seasonality benchmarks for the SMB's category (e.g., retail, services, e-commerce)
80Identify:
81- **Top 3–5 performers** (by user's chosen metric)
82- **Bottom 3–5 slow movers** (consider holding or repositioning)
83- **Trending up** (gaining momentum in last 30 days)
84- **Trending down** (losing momentum)

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 or monthlyBreakdown; the response's totalExpenses reports 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)
Raw lines 57 to 85
86### Step 4: Layer in seasonality
88- **User-provided:** If they shared seasonal patterns, weight recommendations against them
89- **Industry benchmarks:** For categories without strong user data (e.g., "Q1 is strong for tax services")
90- **Timing:** Flag products that should ramp up/down in the next 30 days based on seasonal patterns

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
Raw lines 86 to 91
92### Step 5: Build the 30-day brief
94Structure:
95- **Executive summary** (1–2 sentences: "Your best sellers are X and Y. Seasonal shift to Z is starting.")
96- **Push hard** (Top 2–3 products + recommended content angle, e.g., "Case study on ROI", "How-to video")
97- **Hold steady** (Middle performers; maintain visibility but no heavy lift)
98- **Reposition or pause** (Slow movers; consider discounting, bundling, or pausing)
99- **Seasonal opportunities** (What's coming next month that you should position for now)
100- **Recommended offers** (Bundle, discount, or free-trial strategy based on data)
102Example length: **200–400 words** (brief and actionable, not essay-length).

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).

Raw lines 92 to 103
104### Step 6: Owner approval & iteration
106Present the brief to the owner. Ask:
107- "Does this match your gut?"
108- "Anything to adjust?"
109- "Ready to feed this to social-content-engine for asset generation?"
111Iterate if needed; once approved, return the final brief as structured JSON (ready for downstream tools).
113---

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).


Raw lines 104 to 114
115## More sources, and direct invocation
117Read `reference/v2_sources.md` for the mapping:
119- **Shopify** — per-SKU velocity, variant performance, and product images that flow straight into asset generation downstream
120- **Stripe** — subscription and recurring revenue, where relevant

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
Raw lines 115 to 121
Reads a file reference/v2_sources.md :117
122### Direct invocation
124If the owner asks for a sales brief, run this and return the brief. Don't route them anywhere.

Direct invocation

If the owner asks for a sales brief, run this and return the brief. Don't route them anywhere.

Raw lines 122 to 125
126## Gotchas & edge cases
128See [`reference/gotchas.md`](reference/gotchas.md) for common pitfalls.
130---

Gotchas & edge cases

See [reference/gotchas.md](reference/gotchas.md) for common pitfalls.


Raw lines 126 to 131
Reads a file reference/gotchas.md :128
132## Examples
134See [`reference/examples/`](reference/examples/) for worked examples (SaaS, retail, services).
136---

Examples

See [reference/examples/](reference/examples/) for worked examples (SaaS, retail, services).


Raw lines 132 to 137
138## Output
140**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`):
142- **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.
143- **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.
144- **Best for skill:** use the visual artifact — this output is a decision page, not prose.

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.
Raw lines 138 to 145
146## After the brief
148The 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.

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.

Raw lines 146 to 149
Names a skill social-content-engine :148
Names a skill canva-creator :148
Names a skill growth-pulse :148
Boilerplate, lines 150 to 152. The same text appears in 38 other files here. Close
150## Using a tool that isn't listed
152The 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.

From anthropics/knowledge-work-plugins at 2574e29, 2026-10-27. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.