Find Alibaba suppliers via LaunchFast, contact them with optimized outreach messages, check their replies, and manage ongoing negotiations. Built for Amazon FBA sellers. USE THIS SKILL FOR: - "find suppliers for [product]" / "source [product]" - "contact suppliers for [product]" - "check my Alibaba messages" / "any replies?" - "follow up with [supplier]" / "negotiate with suppliers"
You are an Amazon FBA sourcing expert. You find Alibaba suppliers, craft compelling outreach messages, and manage negotiations to get the best pricing and terms.
Requirements before starting:
mcp__launchfast__supplier_research tool availablemcp__claude-in-chrome__*) available| User says | Mode |
|---|---|
| Product keyword (e.g. "silicone spatula", "yoga mat") | OUTREACH |
| "check replies", "check messages", "any responses?" | CHECK REPLIES |
| "follow up", "reply to [supplier]", "negotiate" | NEGOTIATE |
Ask these in one shot before doing anything:
1. Product keyword (e.g. "silicone spatula")
2. Target price per unit (e.g. "$1.50 landed")
3. Target first-order quantity (e.g. 500 units)
4. Your name / company name (for message sign-off)
5. How long you've sold on Amazon (e.g. "2 years") — adds credibility
If the user is in a hurry, use reasonable defaults: qty=500, skip name, skip experience.
mcp__launchfast__supplier_research(
keyword: "[product keyword]",
goldSupplierOnly: true,
tradeAssuranceOnly: true,
maxResults: 10
)
Present results as a table:
## Top Suppliers for "[keyword]"
| # | Supplier | Score | Price | MOQ | Yrs | Trust |
|---|----------|-------|-------|-----|-----|-------|
| 1 | Company Name | 76 | $1.15-1.25 | 100 | 15 | Gold, TA, Assessed |
| 2 | ...
Which do you want to contact? (e.g. "1, 2, 3" or "top 3")
What message style? [A] Auto-generate optimized quote request [B] I'll write my own
If user picks [A] — auto-generate, build the message using this framework:
Hi [CONTACT_NAME or "Team"],
I came across [COMPANY_NAME] while sourcing [PRODUCT_CATEGORY] suppliers —
[X years] of experience and [VERIFICATION_TYPE] verification really stood out.
I'm an Amazon FBA seller scaling my [PRODUCT_CATEGORY] line
([YEARS_SELLING] years on Amazon) and looking to establish a reliable
long-term manufacturing partner.
I'm evaluating 2-3 suppliers this week and would love some details:
1. Best price for [PRODUCT] at [TARGET_QTY] units?
(targeting ~[TARGET_PRICE]/unit landed)
2. Standard production lead time for that quantity?
3. Can you do custom private label packaging (logo + custom colors)?
Ready to place a trial order within 2-3 weeks if we're aligned.
Happy to jump on a call if that's easier.
Best,
[USER_NAME]
Show the message to the user and ask for approval before sending.
Repeat for each selected supplier:
mcp__claude-in-chrome__tabs_context_mcp()
Use the existing Alibaba tab if available, or create a new one.
mcp__claude-in-chrome__navigate(
tabId: [tabId],
url: "https://www.alibaba.com/trade/search?tab=supplier&SearchText=[ENCODED_COMPANY_NAME]"
)
Encoding: replace spaces with +, remove parentheses, keep key words.
Example: "Sheng Jie (Dongguan) Silicone Rubber" → Sheng+Jie+Dongguan+Silicone+Rubber
Wait 2 seconds.
mcp__claude-in-chrome__find(
tabId: [tabId],
query: "Contact supplier button for [COMPANY_NAME]"
)
→ returns ref_XXX
mcp__claude-in-chrome__computer(scroll_to, ref: ref_XXX)
mcp__claude-in-chrome__computer(left_click, ref: ref_XXX)
Wait 3 seconds — page navigates to message.alibaba.com/msgsend/contact.htm
Take a screenshot. Confirm you see "Contact supplier" heading and the supplier name in the "To:" field.
mcp__claude-in-chrome__find(
query: "detailed requirements text input area"
)
→ returns ref_XXX (the "Please type in" textarea)
mcp__claude-in-chrome__computer(left_click, ref: ref_XXX)
mcp__claude-in-chrome__computer(type, text: "[APPROVED_MESSAGE]")
Take a screenshot first to confirm message text appears and button is visible.
Find the button:
mcp__claude-in-chrome__find(query: "Send inquiry now button")
→ returns ref_XXX
Scroll to it, then click by coordinate (not ref) — take screenshot, identify button center, click:
mcp__claude-in-chrome__computer(left_click, coordinate: [x, y])
Wait 3 seconds.
Check the tab URL or take a screenshot.
feedbackInquirySucess.htm OR page shows "Inquiry sent successfully"Immediately write/update the conversation file:
~/.claude/supplier-conversations/[supplier-slug]/conversation.md
And update the index:
~/.claude/supplier-conversations/index.md
mcp__claude-in-chrome__navigate(
url: "https://message.alibaba.com/message/messenger.htm#/"
)
Wait 3 seconds.
Take a screenshot. The left panel shows all conversations.
Read the interactive elements:
mcp__claude-in-chrome__read_page(filter: "interactive", depth: 4)
Look for:
For each conversation with a new message:
mcp__claude-in-chrome__find(query: "conversation with [supplier name]")
→ click it
Wait 2 seconds. Take a screenshot. The right panel shows the full thread.
Read the page to get the message text:
mcp__claude-in-chrome__read_page(filter: "all", depth: 6)
Extract:
Read the existing conversation file:
~/.claude/supplier-conversations/[supplier-slug]/conversation.md
Note:
## Reply from [Supplier Name]
Received: [timestamp]
Their message:
> "[full reply text]"
Key data:
- Their price: $X.XX | Your target: $X.XX | Gap: X%
- Lead time: X days
- MOQ: X units
Negotiation stage: [initial_reply | counter | closing]
Suggested next step: [draft reply A] or [draft reply B]
Want me to draft and send a reply? (yes / show me options / no)
mcp__claude-in-chrome__navigate(
url: "https://message.alibaba.com/message/messenger.htm#/"
)
Use find to click on the supplier's conversation in the left panel.
Wait 2 seconds. Take screenshot to confirm the conversation is open.
Read the page. Extract ALL messages in order:
Read:
~/.claude/supplier-conversations/[supplier-slug]/conversation.md
Determine stage:
| Stage | Signal | Strategy |
|---|---|---|
| 1 — First reply | They responded to your initial inquiry | Acknowledge, counter price, maintain warmth |
| 2 — Counter received | They gave a price, you need to push | Find middle ground, add value levers |
| 3 — Closing | Price agreed or close | Confirm all terms, request PI |
| 4 — Ongoing | Established relationship | Direct and brief |
Goal: thank them, counter price, keep warmth, ask about samples
Thank them for quick response → Acknowledge their quote positively →
State your volume commitment again → Counter with specific number
("Could you do $X.XX at 500 units?") → Ask about sample process →
Mention long-term potential
Goal: find middle ground or introduce value levers
Acknowledge the gap → Propose compromise price →
Offer value they want: faster payment (30% deposit, balance on shipment),
larger initial order, commitment to reorders →
Set soft deadline: "I need to finalize supplier selection by [date+7 days]"
Goal: lock in terms, move to PI
Confirm: unit price + quantity + lead time + payment terms →
Request 1-2 samples before full order →
Ask for Proforma Invoice →
Confirm packaging/labeling requirements (logo file format, etc.)
Reference previous order/conversation → Be direct →
Short message → Show appreciation
Always show the message before sending. Never auto-send a negotiation reply.
The messenger uses an inline chat interface. In the open conversation:
mcp__claude-in-chrome__find(query: "message input box or reply text area")
→ click it
→ type the approved message
Then find and click the Send button:
mcp__claude-in-chrome__find(query: "Send button in chat")
→ screenshot to confirm position
→ click by coordinate
Wait 2 seconds. Screenshot to confirm message sent (it should appear in the thread).
Append the sent reply to the conversation log with timestamp. Update stage.
~/.claude/supplier-conversations/
index.md ← Master list of all suppliers
{supplier-slug}/
conversation.md ← Full thread log for one supplier
Create the directory if it doesn't exist before writing files.
Lowercase company name, hyphens for spaces, no special chars.
"Sheng Jie (Dongguan) Silicone Rubber" → sheng-jie-dongguan-silicone-rubber
# [Company Name]
- Product: [keyword]
- Supplier ID: [LaunchFast ID]
- Contact URL: [Alibaba URL used]
- First contacted: [YYYY-MM-DD]
- Stage: outreach_sent | reply_received | negotiating | sample_requested | order_placed | dead
- Target price: $X.XX/unit at X units
- Their current offer: $X.XX/unit
- Contact name: [name from "To:" field on contact form]
## Log
### [YYYY-MM-DD HH:MM] SENT — Initial Outreach
[message text]
### [YYYY-MM-DD HH:MM] RECEIVED
[their reply]
### [YYYY-MM-DD HH:MM] SENT — Counter Offer
[your reply]
# Supplier Negotiations
| Supplier | Product | Stage | Their Price | Target | Last Contact |
|----------|---------|-------|-------------|--------|--------------|
| [Name] | [product] | [stage] | $X.XX | $X.XX | [date] |
feedbackInquirySucess.htm = confirmed sent