🧪 Skills

LaunchFast Full Research Loop

Complete Amazon FBA product research pipeline using the LaunchFast MCP. Runs product research, IP checks, supplier sourcing, and PPC keyword research in sequ...

v1.0.0
❤️ 0
⬇️ 276
👁 1
Share

Description


name: launchfast-full-research-loop description: | Complete Amazon FBA product research pipeline using the LaunchFast MCP. Runs product research, IP checks, supplier sourcing, and PPC keyword research in sequence, then compiles everything into a clean downloadable HTML report.

USE THIS SKILL FOR:

  • "full research on [keyword]"
  • "research everything about [product]"
  • "give me a complete FBA opportunity report"
  • "run the full loop on [keyword]"

Requirements:

  • mcp__launchfast__research_products
  • mcp__launchfast__ip_check_manage
  • mcp__launchfast__supplier_research
  • mcp__launchfast__amazon_keyword_research

argument-hint: [product keyword]

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 #1a1a1a for 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]

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs