launchfast-full-research-loop
LaunchFast Full Research Loop
You are a senior Amazon FBA analyst. You run a complete 5-phase research pipeline on a product opportunity and compile the results into a professional HTML report that sellers can save, share, or present.
Requirements before starting:
- All four LaunchFast MCP tools available (see above)
STEP 1 — Gather inputs
Ask in one shot if not provided:
To run the full research loop, I need:
1. Product keyword(s) to research (e.g. "silicone spatula")
2. Target selling price? (e.g. $24.99)
3. Target first-order quantity for sourcing? (e.g. 500 units)
4. Any competitor ASINs you already know? (optional — for PPC phase)
5. Where to save the report? (default: ~/Downloads/launchfast-report-[keyword]-[date].html)
═══════════════════════════════════════
PHASE 1 — PRODUCT RESEARCH
═══════════════════════════════════════
Run for each keyword provided:
mcp__launchfast__research_products(keyword: "[keyword]")
Extract for report:
- Total products analyzed
- Grade distribution (count per grade tier)
- Revenue range (min/max/median)
- Price range
- Review range
- Top 5 products (grade, revenue, price, reviews)
- Opportunity score (calculate per skill: launchfast-product-research formula)
- Verdict: GO / INVESTIGATE / PASS
Tell user: ✓ Phase 1 complete — [N] products analyzed across [N] keywords
═══════════════════════════════════════
PHASE 2 — IP CHECK
═══════════════════════════════════════
For each winning keyword from Phase 1 (score ≥ 40):
mcp__launchfast__ip_check_manage(
action: "ip_conflict_check",
keyword: "[keyword]"
)
Also run targeted trademark search:
mcp__launchfast__ip_check_manage(
action: "trademark_search",
keyword: "[keyword]",
statusFilter: "active"
)
Extract for report:
- Conflict level: LOW / MEDIUM / HIGH
- Active trademarks found (name, owner, status)
- Any patent hits (flag if found)
- Risk assessment: CLEAR / CAUTION / BLOCKED
Tell user: ✓ Phase 2 complete — IP risk: [level]
═══════════════════════════════════════
PHASE 3 — SUPPLIER RESEARCH
═══════════════════════════════════════
For the top keyword (highest opportunity score):
mcp__launchfast__supplier_research(
keyword: "[keyword]",
goldSupplierOnly: true,
tradeAssuranceOnly: true,
maxResults: 10
)
Extract top 5 suppliers for report:
- Company name
- Quality score
- Price range
- MOQ
- Years in business
- Verifications (Gold, Trade Assurance, Assessed, etc.)
Tell user: ✓ Phase 3 complete — [N] suppliers found
═══════════════════════════════════════
PHASE 4 — PPC KEYWORD RESEARCH
═══════════════════════════════════════
If competitor ASINs were provided OR if Phase 1 returned any ASINs:
mcp__launchfast__amazon_keyword_research(asins: ["B0...", ...])
Extract for report:
- Total unique keywords found
- Top 20 keywords by search volume
- Top 5 exact-match opportunities (high volume, lower competition)
- Estimated CPCs where available
- Recommended campaign structure
If no ASINs available, note in report: "PPC research requires competitor ASINs — add them to run this phase."
Tell user: ✓ Phase 4 complete — [N] keywords extracted
═══════════════════════════════════════
PHASE 5 — GENERATE HTML REPORT
═══════════════════════════════════════
Generate a complete standalone HTML file. Save to the path specified in Step 1.
Report design system
Match LaunchFast's design exactly:
- Font:
-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', system-ui, sans-serif - Text:
#1a1a1a| Muted:#666666| Very muted:#999999 - Background:
#fafafa| Card:#ffffff - Border:
1px solid #e5e5e5| Border radius:8px - Accent:
border-left: 3px solid #1a1a1afor callout blocks - Bullet: 6px circle
background: #1a1a1a; border-radius: 50% - Go badge:
background: #dcfce7; color: #166534 - Investigate badge:
background: #fef9c3; color: #854d0e - Pass badge:
background: #fee2e2; color: #991b1b - IP LOW badge:
background: #dcfce7; color: #166534 - IP MEDIUM badge:
background: #fef9c3; color: #854d0e - IP HIGH badge:
background: #fee2e2; color: #991b1b
HTML report template
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>LaunchFast Research Report — [Keyword] — [Date]</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', system-ui, sans-serif;
background: #fafafa;
color: #1a1a1a;
line-height: 1.5;
padding: 40px 20px;
}
.page { max-width: 960px; margin: 0 auto; }
/* Header */
.report-header { margin-bottom: 40px; }
.report-header .brand { font-size: 13px; font-weight: 600; color: #999; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px; }
.report-header h1 { font-size: 32px; font-weight: 700; letter-spacing: -0.03em; margin-bottom: 8px; }
.report-header .meta { font-size: 14px; color: #666; }
/* Verdict banner */
.verdict-banner {
display: flex; align-items: center; gap: 16px;
background: #fff; border: 1px solid #e5e5e5; border-radius: 8px;
padding: 20px 24px; margin-bottom: 32px;
}
.verdict-banner .verdict-label { font-size: 12px; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.06em; }
.verdict-banner .verdict-value { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
.verdict-banner .divider { width: 1px; height: 40px; background: #e5e5e5; }
.verdict-banner .stat { }
.verdict-banner .stat-label { font-size: 11px; color: #999; text-transform: uppercase; letter-spacing: 0.05em; }
.verdict-banner .stat-value { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; }
/* Section */
.section { background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; padding: 28px; margin-bottom: 20px; }
.section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #e5e5e5; }
.section-title { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; }
.phase-label { font-size: 11px; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.08em; }
/* Tables */
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th { text-align: left; font-size: 11px; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.05em; padding: 0 12px 10px 0; border-bottom: 1px solid #e5e5e5; }
td { padding: 10px 12px 10px 0; border-bottom: 1px solid #f0f0f0; color: #1a1a1a; vertical-align: top; }
tr:last-child td { border-bottom: none; }
.grade { font-weight: 700; font-size: 15px; }
.grade-a { color: #166534; }
.grade-b { color: #1d4ed8; }
.grade-c { color: #92400e; }
.grade-d, .grade-f { color: #991b1b; }
/* Badges */
.badge { display: inline-block; font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 4px; letter-spacing: 0.03em; }
.badge-go { background: #dcfce7; color: #166534; }
.badge-investigate { background: #fef9c3; color: #854d0e; }
.badge-pass { background: #fee2e2; color: #991b1b; }
.badge-low { background: #dcfce7; color: #166534; }
.badge-medium { background: #fef9c3; color: #854d0e; }
.badge-high { background: #fee2e2; color: #991b1b; }
.badge-clear { background: #dcfce7; color: #166534; }
.badge-caution { background: #fef9c3; color: #854d0e; }
.badge-blocked { background: #fee2e2; color: #991b1b; }
/* Callout */
.callout { background: #fafafa; border-left: 3px solid #1a1a1a; padding: 14px 18px; border-radius: 4px; margin: 16px 0; font-size: 14px; color: #444; }
.callout strong { color: #1a1a1a; }
/* Stats grid */
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-bottom: 20px; }
.stat-card { background: #fafafa; border: 1px solid #e5e5e5; border-radius: 6px; padding: 14px 16px; }
.stat-card .label { font-size: 11px; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
.stat-card .value { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
.stat-card .sub { font-size: 12px; color: #666; margin-top: 2px; }
/* Supplier score bar */
.score-bar { display: flex; align-items: center; gap: 8px; }
.score-bar .bar { flex: 1; height: 4px; background: #e5e5e5; border-radius: 2px; overflow: hidden; }
.score-bar .fill { height: 100%; background: #1a1a1a; border-radius: 2px; }
.score-bar .num { font-size: 12px; font-weight: 600; color: #1a1a1a; min-width: 28px; text-align: right; }
/* Footer */
.report-footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid #e5e5e5; display: flex; justify-content: space-between; align-items: center; }
.report-footer .brand-mark { font-size: 13px; font-weight: 600; color: #1a1a1a; }
.report-footer .generated { font-size: 12px; color: #999; }
</style>
</head>
<body>
<div class="page">
<!-- HEADER -->
<div class="report-header">
<div class="brand">LaunchFast · FBA Research Report</div>
<h1>[Keyword] Opportunity Report</h1>
<div class="meta">Generated [Full Date] · [N] keywords · [N] products analyzed</div>
</div>
<!-- VERDICT BANNER -->
<div class="verdict-banner">
<div class="stat">
<div class="verdict-label">Overall Verdict</div>
<div class="verdict-value"><span class="badge badge-[go/investigate/pass]">[GO / INVESTIGATE / PASS]</span></div>
</div>
<div class="divider"></div>
<div class="stat">
<div class="stat-label">Opp Score</div>
<div class="stat-value">[N]/100</div>
</div>
<div class="divider"></div>
<div class="stat">
<div class="stat-label">IP Risk</div>
<div class="stat-value"><span class="badge badge-[low/medium/high]">[LOW/MEDIUM/HIGH]</span></div>
</div>
<div class="divider"></div>
<div class="stat">
<div class="stat-label">Suppliers Found</div>
<div class="stat-value">[N]</div>
</div>
<div class="divider"></div>
<div class="stat">
<div class="stat-label">PPC Keywords</div>
<div class="stat-value">[N]</div>
</div>
</div>
<!-- PHASE 1: PRODUCT RESEARCH -->
<div class="section">
<div class="section-header">
<div class="section-title">Product Research</div>
<div class="phase-label">Phase 1</div>
</div>
<div class="stats-grid">
<div class="stat-card">
<div class="label">Products Analyzed</div>
<div class="value">[N]</div>
</div>
<div class="stat-card">
<div class="label">Top Revenue</div>
<div class="value">$[X]k<span style="font-size:14px;font-weight:500">/mo</span></div>
</div>
<div class="stat-card">
<div class="label">Price Range</div>
<div class="value">$[X]–$[X]</div>
</div>
<div class="stat-card">
<div class="label">Avg Reviews</div>
<div class="value">[N]</div>
</div>
</div>
<table>
<thead>
<tr>
<th>#</th>
<th>Product</th>
<th>Grade</th>
<th>Revenue/mo</th>
<th>Price</th>
<th>Reviews</th>
<th>BSR</th>
</tr>
</thead>
<tbody>
<!-- Repeat for top 5–10 products -->
<tr>
<td style="color:#999">1</td>
<td>[Product title truncated to 60 chars]</td>
<td><span class="grade grade-[a/b/c]">[Grade]</span></td>
<td>$[X,XXX]</td>
<td>$[XX.XX]</td>
<td>[X,XXX]</td>
<td>#[X,XXX]</td>
</tr>
</tbody>
</table>
<div class="callout" style="margin-top:20px">
<strong>Key finding:</strong> [1-2 sentence insight about the market — grade distribution, revenue consistency, competitive dynamics]
</div>
</div>
<!-- PHASE 2: IP CHECK -->
<div class="section">
<div class="section-header">
<div class="section-title">IP & Trademark Check</div>
<div class="phase-label">Phase 2</div>
</div>
<div class="stats-grid">
<div class="stat-card">
<div class="label">IP Risk Level</div>
<div class="value"><span class="badge badge-[low/medium/high]">[LOW/MEDIUM/HIGH]</span></div>
</div>
<div class="stat-card">
<div class="label">Active Trademarks</div>
<div class="value">[N]</div>
</div>
<div class="stat-card">
<div class="label">Patent Hits</div>
<div class="value">[N]</div>
</div>
<div class="stat-card">
<div class="label">Assessment</div>
<div class="value"><span class="badge badge-[clear/caution/blocked]">[CLEAR/CAUTION/BLOCKED]</span></div>
</div>
</div>
<!-- If trademarks found, show table -->
<table>
<thead>
<tr><th>Trademark</th><th>Owner</th><th>Status</th><th>Class</th></tr>
</thead>
<tbody>
<tr>
<td>[Trademark name]</td>
<td>[Owner]</td>
<td>[Live/Dead]</td>
<td>[Class number]</td>
</tr>
</tbody>
</table>
<div class="callout" style="margin-top:20px">
<strong>Recommendation:</strong> [Clear action — e.g. "No direct conflicts found. Avoid branding your product as [word] to stay safe." or "HIGH risk — consult an IP attorney before proceeding."]
</div>
</div>
<!-- PHASE 3: SUPPLIER RESEARCH -->
<div class="section">
<div class="section-header">
<div class="section-title">Alibaba Supplier Research</div>
<div class="phase-label">Phase 3</div>
</div>
<table>
<thead>
<tr>
<th>#</th>
<th>Supplier</th>
<th>Score</th>
<th>Price Range</th>
<th>MOQ</th>
<th>Years</th>
<th>Verified</th>
</tr>
</thead>
<tbody>
<!-- Repeat for top 5 suppliers -->
<tr>
<td style="color:#999">1</td>
<td>[Company Name]</td>
<td>
<div class="score-bar">
<div class="bar"><div class="fill" style="width:[score]%"></div></div>
<div class="num">[score]</div>
</div>
</td>
<td>$[X.XX]–$[X.XX]</td>
<td>[N] units</td>
<td>[N] yrs</td>
<td>[Gold · TA · Assessed]</td>
</tr>
</tbody>
</table>
<div class="callout" style="margin-top:20px">
<strong>Top pick:</strong> [Company Name] — [reason: highest score, most verifications, best price range for target margin]
</div>
</div>
<!-- PHASE 4: PPC KEYWORDS -->
<div class="section">
<div class="section-header">
<div class="section-title">PPC Keyword Intelligence</div>
<div class="phase-label">Phase 4</div>
</div>
<div class="stats-grid">
<div class="stat-card">
<div class="label">Total Keywords</div>
<div class="value">[N]</div>
</div>
<div class="stat-card">
<div class="label">Tier 1 (Priority)</div>
<div class="value">[N]</div>
</div>
<div class="stat-card">
<div class="label">Tier 2 (Growth)</div>
<div class="value">[N]</div>
</div>
<div class="stat-card">
<div class="label">Tier 3 (Discovery)</div>
<div class="value">[N]</div>
</div>
</div>
<table>
<thead>
<tr><th>#</th><th>Keyword</th><th>Search Vol</th><th>Tier</th><th>Match Types</th><th>Est. CPC</th></tr>
</thead>
<tbody>
<!-- Top 20 keywords -->
<tr>
<td style="color:#999">1</td>
<td>[keyword]</td>
<td>[X,XXX]</td>
<td>Tier 1</td>
<td>Exact · Phrase</td>
<td>$[X.XX]</td>
</tr>
</tbody>
</table>
<div class="callout" style="margin-top:20px">
<strong>Campaign strategy:</strong> [Brief recommendation — e.g. "Start with the 12 Tier 1 exact-match keywords at $0.90 bid. Run broad on Tier 3 for discovery data. Revisit in 2 weeks."]
</div>
</div>
<!-- FOOTER -->
<div class="report-footer">
<div class="brand-mark">LaunchFast</div>
<div class="generated">Generated [Date] · Data via LaunchFast MCP</div>
</div>
</div>
</body>
</html>
Fill ALL placeholder values ([...]) with real data from the research phases.
Save the complete file to the path from Step 1.
STEP 6 — Summary to user
After saving the file:
## Research Complete ✓
Report saved to: [file path]
Quick summary:
- Keyword: [keyword]
- Verdict: [GO / INVESTIGATE / PASS] (Score: [N]/100)
- IP Risk: [LOW / MEDIUM / HIGH]
- Best supplier: [Company Name] ($X.XX–$X.XX/unit, MOQ: N)
- PPC keywords found: [N] (Tier 1: N | Tier 2: N | Tier 3: N)
Next steps:
[If GO]: Ready to contact suppliers? Run /alibaba-supplier-outreach [keyword]
[If GO]: Ready to build your PPC campaign? Run /launchfast-ppc-research [ASINs]
[If INVESTIGATE]: [Specific concern to investigate]
[If PASS]: [Clear reason — what would need to change for this to become viable]
More from blockchainhb/launchfastmcp-skills
alibaba-supplier-outreach
|
25kunze-ad-setup
Use this skill when the user wants to set up Amazon PPC campaigns using Kunze's ecosystem-driven strategy. Takes a main keyword and product SKU, performs market research to find competitors, runs batched keyword research via sub-agents, builds a filtered keyword master list with gap analysis, then generates Amazon Bulksheets 2.0 CSV files for 5 Sponsored Products campaigns (Auto, Broad, Phrase, Category, ASIN Target). Also produces an HTML summary artifact with market scorecard, keyword list, campaign previews, and budget estimates. Powered by the LegacyX FBA methodology and LaunchFast MCP tools.
7wilco-ad-setup
Use this skill when the user wants to set up Amazon PPC campaigns using Wilco's analytics-driven exact-match strategy. Takes a main keyword and product SKU, performs market research to find competitors, runs batched keyword research via sub-agents, builds a conversion-focused keyword list ranked by purchase rate and relevance, then generates Amazon Bulksheets 2.0 CSV files for 5 Sponsored Products campaigns (Auto, Product Targeting, 3x Manual Exact). Also produces an HTML summary artifact. Lower risk, lower velocity, analytics-first approach. Powered by the LegacyX FBA methodology and LaunchFast MCP tools.
7product-research
Use this skill when the user wants to research Amazon FBA products, evaluate a niche or keyword for viability, find product opportunities, or validate whether a product idea meets launch criteria. Covers market analysis, competitor assessment, profitability estimation, keyword validation, and the "rabbit hole" discovery strategy. Powered by the LegacyX FBA methodology and LaunchFast MCP tools.
7batch-product-research
Use this skill when the user wants to research multiple Amazon FBA keywords at once (batch research). Accepts a list of up to 20 keywords, runs parallel product research using sub-agents, and generates a professional HTML report + CSV. Automates the single-keyword product-research workflow across many keywords simultaneously.
7launchfast-ppc-research
|
7