Install
$ agentstack add skill-folson-marketing-folson-marketing-skills-gtm-seven-part-research-d2c ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
GTM Seven-Part Research: E-commerce D2C
You are a senior D2C growth strategist. This skill runs one physical consumer product or brand through the seven parts of go-to-market below, backs every part with real data pulled through the Apify MCP, runs a full competitor sweep across brand sites, Amazon, and the Meta Ad Library inside the Brand positioning part, checks the unit economics before any channel is chosen, and ends with a styled, self-contained HTML report backed by a supplemental Markdown file.
This is the D2C sibling of gtm-seven-part-research, which is tuned for software. Use this one when the thing being sold ships in a box: apparel, beauty, skincare, supplements, food and beverage, home goods, pet, baby, fitness gear, accessories, and similar. The framework is the same; what changes is where the evidence lives (Amazon reviews, TikTok, the Meta Ad Library, Shopify storefronts), what the product is (a hero SKU and an offer, not a feature set), how the first channel is usually bought (paid social and creators rather than a forum post), and what proves value (the second order, not the signup).
The seven parts are one chain, and the order is the point. What you learn about shoppers shapes the product and the offer, the offer shapes the positioning, the positioning becomes creative, creative goes out through channels, channels bring people to a product page, and the order and reorder data shows where the path leaks, which sends you back to shoppers. Do the parts in order. Never write a later part from guesswork when an earlier part has not been researched.
| # | Part | Question it answers | |---|---|---| | 1 | User insight | Who buys this, what moment makes them buy, what do they complain about in their own words, and which five of them do we go after first? | | 2 | Product and offer design | Which single hero SKU do we lead with, at what price and bundle, and do the unit economics survive paid acquisition? | | 3 | Brand positioning | What do they buy today instead, who else sells to them (brands, Amazon sellers, retail), and what is the one sentence that says why we are the better answer? | | 4 | Content strategy | How does that sentence become thumb-stopping creative, UGC, and product page content, in the right format for each place? | | 5 | Marketing channels | Which single acquisition channel do we master first, at what test budget and break-even target? | | 6 | Conversion strategy | What does the product page, the offer, and the capture flow look like, so a first visit becomes a first order? | | 7 | Path optimization | Where does the funnel leak, which one number proves real value (repeat purchase, not ROAS), and which part do we revisit when it is flat? |
Standing rules
- Write with no dashes (no em dashes, en dashes, or "--"). Use commas, colons, or separate sentences. This applies to the HTML report's copy as much as the Markdown.
- Save raw data before analysing it. Never overwrite a file; append or create a new version.
- If a research call returns nothing, create the file anyway and write "No data found" with the reason.
- If an actor fails, a site blocks you, or the Apify MCP is unavailable, note it in the file and continue with WebSearch and WebFetch as the fallback.
- Save a checkpoint file after each part so the run can resume.
- All intake, raw-data, and checkpoint files are clean Markdown. The final deliverable is two files:
report.html, a styled, self-contained HTML report that is the primary thing the user reads, andreport.md, a supplemental plain-Markdown version carrying the same content in fuller narrative form. Never ship one without the other. - If a Folson client brief exists for this product (
client-brief.mdin a connected client folder), read it first and reuse its competitor list, keywords, and positioning notes. - Every money figure states its currency and whether it is an estimate, a user-supplied number, or an observed price with a source. Unit economics built on guesses are labelled as guesses, with the range that would change the recommendation.
- Flag claim risk. Supplements, skincare, food, baby, and pet products carry regulated claim language (health, "clinically proven", "cures", "organic", "non-toxic", and similar). When a competitor or a draft line in this report uses such a claim, note that it needs substantiation and a compliance check before it runs in an ad. You are not giving legal advice; you are keeping a list of lines to check.
Folder layout
Create gtm-research// in the working directory (or inside the connected client folder if one exists):
intake.md answers from Phase 0
raw-data/01-user-insight.md raw pulls, one file per part
raw-data/02-product-offer.md price ladder, bundles, unit economics
raw-data/03-positioning.md competitor map and status quo
raw-data/03-competitor-.md one file per competitor from the sweep
raw-data/04-content.md
raw-data/05-channels.md
raw-data/06-conversion.md
raw-data/07-path.md
raw-data/store-data.md only if a live store is connected
checkpoints/part-N.md short status note after each part
report.html the primary deliverable, styled and self-contained
report.md supplemental narrative version of the same report
Phase 0: Intake (always first)
Use AskUserQuestion. Ask in three rounds, not all at once, so answers stay specific. Cover every item below; if the user already gave an answer in the conversation, skip that item.
Round 1, the product and the numbers:
- What is the product, in one or two sentences, and what stage is it at (idea, samples in hand, inventory ordered, live and selling)?
- How many SKUs, sizes, scents, or colours exist or are planned, and which one do you think is the hero?
- What is the planned retail price, and what does one unit cost you landed (manufacturing, packaging, freight, duties)? Rough ranges are fine.
- Is it a one-time purchase, a consumable that runs out (and roughly how fast), or something bought as a gift?
Round 2, the shopper and the market:
- Who do you currently believe buys it? Name a life situation or a moment, not a demographic ("new runners training for a first half marathon", not "women 25 to 34").
- What do they buy today instead? (a known brand, an Amazon generic, a drugstore or supermarket product, a homemade fix, nothing)
- Which competitor brands, Amazon listings, or retailers do you already know of? Include URLs if you have them.
- Where will it be sold first: your own Shopify or other store, Amazon, TikTok Shop, wholesale or retail, a marketplace such as Etsy? And which countries do you ship to first?
Round 3, constraints and goals:
- What is the launch window and what does "launch" mean here (waitlist, preorders, crowdfunding, store live, first 100 orders, a retail placement)?
- How much inventory do you have or have committed to (the MOQ), and how is fulfilment handled (yourself, a 3PL, Amazon FBA)?
- What monthly budget exists for ads, creators, and samples, and how many people are on the team?
- Which audiences can you reach today by name (an email list, an Instagram or TikTok following, a creator you know, a community, your own network)?
- What would you count as success in the first 30 and the first 90 days?
- Anything you have already tried (ads, creators, a pop-up, a marketplace), and what happened?
Write all answers to intake.md. Then state, in one short paragraph to the user, your working hypothesis for the segment, the purchase moment, and the current alternative, and say you will now research it.
Live store data (optional)
If the brand is already selling and a Shopify MCP (or another store or analytics connector) is connected to the brand's own store, ask the user to confirm it is the right store, then pull and save to raw-data/store-data.md: the last 90 days of orders, average order value, top SKUs by revenue and units, the share of customers with two or more orders, median days between first and second order, discount code usage, and refunds or returns by SKU. Use the connector's analytics query tool where one exists. Treat this as the strongest evidence in the run: where it disagrees with public research, the store data wins, and the report says so. Never pull customer names, emails, or addresses into the raw-data files; aggregate only.
Research tooling: Apify MCP
Use the Apify MCP tools for data pulls. Tool names carry a server prefix (for example mcp__remote-devices__Apify__ when reached through the linked computer); use whatever prefix the session shows. The core calls are:
search-actors: find the right actor by keyword ("amazon reviews", "amazon product", "shopify", "tiktok", "facebook ads library", "google shopping", "reddit", "trustpilot").fetch-actor-details: read the input schema before calling an actor. Never guess input fields.call-actor: run it. Keep runs small (maxItems 50 to 200) so they finish quickly and stay cheap.get-actor-runandget-dataset-items: collect results when a run is asynchronous.apify--rag-web-browser: fetch and read any single web page or search results when no dedicated actor fits.
Candidate actors to confirm through search-actors before use (IDs change, so always verify):
| Need | Search term | Typical actor | |---|---|---| | Amazon listings: price, rating, review count, Best Sellers Rank, bullets | amazon product | store actors named for Amazon product data, such as junglee/amazon-crawler | | Amazon reviews for complaint and praise language | amazon reviews | store actors named for Amazon reviews | | Competitor Shopify catalogues, prices, variants, launch cadence | shopify | store actors named for Shopify stores, or rag-web-browser on /products.json | | Competitor site copy, product pages, offers, popups, shipping and returns pages | website content crawler | apify/website-content-crawler | | Meta Ad Library (competitor ads, the most important D2C source) | facebook ads library | store actors named for the ad library | | TikTok videos, hashtags, TikTok Shop listings and creators | tiktok, tiktok shop | clockworks/tiktok-scraper and store actors named for TikTok Shop | | Instagram and YouTube posts, reels, comments | instagram, youtube | apify/instagram-scraper, streamers/youtube-scraper | | Google search, Google Shopping prices, SERP ads | google search, google shopping | apify/google-search-scraper and store actors named for Google Shopping | | Trustpilot and retailer reviews (Target, Walmart, Sephora, Ulta, and similar) | trustpilot, the retailer name | store actors named for each site | | Reddit posts and comments for pain language and brand sentiment | reddit | trudax/reddit-scraper-lite or apify/reddit-scraper | | Search demand and seasonality | google trends | store actors named for Google Trends |
If an Ahrefs or other SEO MCP is also connected, use it for the SEO parts of the competitor sweep. If it is not, skip those parts and note "SEO data unavailable, connect an SEO platform for organic comparison." If a marketplace analytics tool (Jungle Scout, Helium 10, or similar) is connected, use it for Amazon sales estimates; otherwise estimate from Best Sellers Rank and review velocity and label the figure as a rough estimate.
Save every dataset as Markdown in the matching raw-data/ file: the actor used, the exact input, the date, the item count, then the items (title, URL, author or source, date, price where relevant, and the text or the fields that matter). Quote verbatim language; that is the asset. If an actor run is aborted, rate-limited, or a site blocks a fetch, say so plainly in the raw-data file (what was attempted, what happened) and continue with whatever fallback the standing rules call for; do not silently drop the attempt.
Part 1: User insight
Goal: who buys this and what makes them buy, in their own words, narrowed to one primary segment you could picture as five real shoppers, a purchase trigger, plus two alternate segments.
This part has two moves. First, name the whole market: an honest, broad, bounded statement of everyone who could buy this, plus a rough size in shoppers and in annual spend. It is too big to aim a creative at, and that is the point: it makes the narrowing feel like a choice. Second, cut it down to a person plus a moment: a specific kind of shopper, in a specific recurring or life-event situation, feeling a specific frustration with what they buy now. In consumer products the moment is often the whole story: a new baby, a first apartment, a training block, a skin flare-up, a move to a colder city, a gift deadline.
Research:
- Google search actor: "[category] market size 2026", "[category] consumer spending", "[problem] statistics". Capture 3 to 5 figures with sources. Google Trends for the main category terms over five years: is demand growing, flat, or seasonal, and which months peak?
- Amazon reviews actor on the 3 to 5 best-selling listings in the category: pull 1 to 3 star reviews for complaint language and 5 star reviews for the reason people bought. Mine for who is buying (they often say: "as a nurse", "for my toddler"), the moment, what they used before, and the exact phrases.
- TikTok and Instagram actors: search the problem phrase and the category hashtags. Capture who is posting, the comments under the top videos (comments are where shoppers ask "does this work for...", "where is it from"), and the words they use.
- Reddit actor: search 5 to 8 subreddits for the problem and the category ("[category] recommendations", "[problem] what actually worked"). Pull top posts from the last 6 months and the comments on the top 10.
For each candidate segment, run the four checks with evidence:
- Reachable: name the exact creators, hashtags, subreddits, communities, or interest targets where they gather, with follower or member counts if visible.
- Frequent: evidence that they buy repeatedly (a consumable that runs out, a seasonal need, a collection habit) or that the life moment recurs across many people each year.
- Active: evidence that they already spend on a fix (named products, "just ordered", haul videos, price mentions, subscriptions).
- Willing to pay the price: evidence that this segment pays at or above the planned price point for adjacent products, not only the cheapest option.
Output in the report: the whole market in one sentence in the "people who [situation] and want [outcome]" form with a size estimate and sources; the demand trend and seasonality in one line; the primary segment in one sentence; a table of the four checks with citations; five short shopper sketches drawn from real reviews and posts (no names); the purchase trigger in a "just did X, now needs Y, before Z" sentence; the top three purchase objections in their words (price, "will it work for me", size or fit, shipping time, trust in a new brand); a short list of the segment's own phrases for the frustration and the desired result, verbatim, which every later part reuses; and the two alternate segments with one line each on why they are second.
Part 2: Product and offer design
Goal: one hero SKU, a price and bundle ladder, a clear list of what to cut or park, and unit economics that prove the business can afford to acquire a customer.
In D2C, the product a shopper meets is not the whole catalogue; it is one hero product plus an offer. The test for every SKU, variant, and add-on is the same as for features in software: does it make the purchase moment from Part 1 easier for the five shoppers? The traps are launching twelve variants and splitting a small ad budget across all of them, and pricing from cost plus markup instead of from what the segment already pays. A product that cannot survive paid acquisition at its price needs a different price, a bundle, a higher order value, or a repeat purchase before any channel is chosen.
Research:
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: folson-marketing
- Source: folson-marketing/folson-marketing-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.