Skill 寫法圖鑑

grow-pipeline

Anthropic | 商業與營運 | 原文 | Apache-2.0

市場判讀、建名單、寫開發信、記到 CRM,串成一條補滿 pipeline 的流程

中文翻譯

---
name: grow-pipeline
description: 從頭到尾把漏斗填滿,不用老闆盯著:讀取市場和競爭狀況作為背景、建立一份排好名次的具名潛在客戶名單並為每個附上理由、用老闆自己的語氣寫個人化的開發信,並把每一次接觸都記到 CRM。在以網路為基礎的市場判讀之後,串接 lead-finder、outreach-composer 和 crm-autopilot,每次交接都要老闆核准。只要老闆想要的是更多 pipeline,而不是其中某一個特定環節,就用這個,包括像是「I need more leads」「fill my funnel」「who should I be calling and what do I say」「find me customers like my best ones and reach out」「build me a prospect list and write the emails」,或「sales has gone quiet, get something moving」這類說法。當老闆籠統地描述想要新業務,而不是要一份名單或單一封信時,就用它。
allowed-tools: Read, WebFetch
---

執行建立 pipeline 的串接流程:先做以網路為基礎的市場判讀取得背景,再用 `lead-finder` 建名單、`outreach-composer` 寫文案、`crm-autopilot` 做記錄。每個 skill 都保有自己的關卡,這個指令不會放鬆其中任何一個。

Connector:Apollo(或 Clay)加 HubSpot 是完整路徑。郵件(Gmail 或 Microsoft 365)可以加上寄信功能。Zoom 可以把錄下來的探索通話和銷售通話加進步驟 4 的記錄:唯讀,只限老闆主持或參加過的會議,而且它的錄影清單每次呼叫只涵蓋一個月的窗口,所以掃描時要一個月一個月地問,不要要求它回傳不了的範圍。以上都沒有時,就用網路研究加上傳的客戶 CSV 作為輸入,產出排好名次的名單和起草好的開發信,讓老闆手動寄出,記錄則放在試算表裡。這也是一次真正的執行。

## 步驟 1:先做市場背景(網路研究)

這一段就地執行,範圍只限於對鎖定目標有幫助的內容,不是完整的每週簡報。掃描關於老闆的競爭對手和他們市場的公開來源:網站和定價、廣告和社群活動、職缺,以及新聞稿。

**輸入:** 競爭對手觀察清單(如果有的話),加上公開來源。連接 HubSpot 時,還有它的得標/落標資料,這是能取得的最敏銳訊號,而且不是公開的。

**輸出:** 市場上有什麼變化、哪些競爭對手出現在輸掉的案子裡,以及需求往哪裡移動。觀察到的事實和推論要分開標示,永遠如此。

**關卡:** 把判讀結果給老闆看,並問這會不會改變要鎖定誰。只問一個問題。如果沒有重大變化,就用三行說明然後繼續往下:安靜的市場也是有效的答案,不會讓整個串接停住。

## 步驟 2:建立名單(lead-finder)

觸發 `lead-finder` skill 的流程,把步驟 1 的背景當成鎖定目標的輸入帶進去。

**輸入:** 老闆來自 QuickBooks、HubSpot 或上傳 CSV 的真實客戶群,加上市場判讀。理想客戶輪廓(ICP)是從實際付錢的人推導出來的,絕對不是抽象地問出來的。

**輸出:** 40 到 60 家排好名次的公司,每家都有具名的人、打電話的理由,以及一個適配度、訊號、可觸及度的分數。推論出來的聯絡人要標示為推論。

**關卡:** 建立名單之前,老闆有一次修正輪廓的機會:「對,但不要 10 人以下的」比任何 enrichment 都有價值。然後在寫任何文案之前,由他們核准名單。

**關卡:** 把名單寫進 HubSpot,需要另外一個「好」,並說明聯絡人和公司的數量。拒絕也沒關係;XLSX 就是交付物。

## 步驟 3:寫開發信(outreach-composer)

針對核准後的名單,觸發 `outreach-composer` skill 的流程。

**輸入:** 排好名次的潛在客戶和他們的理由,加上共用的語氣檔案。如果沒有語氣檔案,就在寫任何一個字之前,先用老闆自己寄出的 15 到 30 封訊息建立一個。

**輸出:** 每個潛在客戶一組有依據的 sequence:第一封訊息 120 字以內,每次接觸都帶有新的存在理由,並在老闆看到之前先通過 slop 測試。

**關卡:** 老闆完整讀第一封訊息,並快速瀏覽其餘的結構,然後修改。預期會有修改。每個修正都要回饋進語氣檔案,才不用改兩次。

**關卡:** 寄送需要針對那一特定批次明確說「好」,並說明寄幾封、寄給誰、什麼時程、用哪個帳號。第一封的核准不代表後續跟進信的核准:要另外確認,或留作草稿。

**關卡:** email 地址是推論、而不是驗證過的潛在客戶,要標記出來並單獨作為一組核准。大量退信會損害老闆的寄信網域好幾個月,這種傷害還會波及他們真正客戶的信件。

沒有郵件 connector 的話,整個流程只做草稿,格式排成可以貼到任何地方。

## 步驟 4:記錄(crm-autopilot)

以記錄模式觸發 `crm-autopilot` skill 的流程。

**輸入:** 每一次已寄出或已起草的接觸,附上對象、時間,以及它在 sequence 中的位置。

**輸出:** 活動記錄在正確的聯絡人和 deal 上、每個未結案的列都有附日期的下一步,並把安靜的那些浮現出來,留給下一輪處理。

**關卡:** CRM 的寫入要核准。建立聯絡人要在發生之前先告知。Deal 階段和金額只提議,絕對不寫入。絕對不刪除任何東西。

沒有 CRM 的話,記錄就寫到輕量的試算表,讓下一次執行知道誰已經被聯絡過了。用同一個開場白聯絡同一個人兩次,是一個明顯、而且可以避免的錯誤。

## 核准關卡(必須遵守)

- 沒有明確的批次核准,就不寄出任何開發信,在那之前都只做草稿。
- 推論出來的聯絡人要標記,並與驗證過的分開核准。
- 沒有「好」就不寫入 CRM,也不主動建立 deal。
- 任何步驟都不准讓捏造的 email 地址、電話號碼或競爭對手事實進入串接流程。
- 如果 connector 失敗(Apollo、HubSpot、郵件 connector),要指名是哪一個,並問要重試、退回用檔案,還是停止。

## 不要做什麼

- **不要為了更快拿到名單而跳過市場步驟。** 它讓每一列的理由是具體的,而不是籠統的。
- **不要灌水名單。** Ray Okonkwo 真的會打電話的四十列研究過的名單,勝過五百列他會直接跳過的爬蟲資料。
- **不要把公司名稱塞進範本就稱為個人化。** 如果這封訊息只要換兩個字就能寄給任何人,就還沒準備好。
- **不要把一次核准當成整串流程的核准。** 名單、文案、寄送和 CRM 寫入是四個獨立的決定。
- **不要把寄給推論地址的信,跟驗證過的地址放在同一批寄。**
- **不要把沒有 Apollo 當成阻礙。** 網路研究加上客戶匯出檔是設計好的路徑。

## 輸出

**依老闆儲存的輸出偏好來交付 pipeline 套件,絕對不要預設用 markdown 檔案。** 檢查 `## Business context` 區塊的 `Output preference`(共用風格指南的規則,`../../shared/artifact-style.md`):

- **視覺化 artifact(預設):** 以 house style 把這次執行渲染成 HTML 頁面:找到、起草和寄出的潛在客戶用統計 tile 呈現、名單用列呈現並附上每列的理由,需要時加上推論聯絡人標籤。**每一封起草的訊息都是一個可複製的區塊**,讓老闆可以複製並手動寄出。
- **docx / md / notion / canva 偏好:** 用那種形式交付相同內容:DOCX 或 markdown 檔案、透過 connector 建立的 Notion 頁面(指定目的地,絕對不覆寫)、或透過 Canva connector 建立的 Canva Doc(每次執行都是新的設計,以日期命名;表格變成清單);如果沒有連接 Notion 或 Canva,就退回用視覺化 artifact,並說明原因。
- **Best for skill:** 用視覺化 artifact,因為這份輸出是老闆要拿來工作的清單,不是文章。

最後用一段話收尾:市場判讀說了什麼、有多少潛在客戶入選以及名單是怎麼建的、起草了多少封訊息 vs. 寄出多少封以及寄給誰、寫了什麼到 CRM,以及還有什麼需要老闆處理。

然後簡短地結尾:漏斗已經填滿,每次接觸都已記錄。自然的下一步是「leads are going cold」:`speed-to-lead` 會在這波開發信帶來的回覆和新的進線冷掉之前接住它們。附近還有:針對已經流失的客戶的「win back quiet customers」(`/reactivate`),以及看 pipeline 的推進有沒有反映在數字上的「is my marketing working」(`growth-pulse`)。最多提供三項,而且這個 session 裡老闆已經婉拒過的就跳過。

## 使用沒有列出的工具

這個 skill 裡提到的 connector 是測試過的路徑,不是一道牆。如果老闆想讓這個流程用某個沒連接、也沒列出的工具,就提供 `build-connector`:它會先檢查 connector 目錄,沒有的話再透過 Zapier 連接,絕對不要對著原始 API 手工打造。連線建立之後,這個工具就跟其他任何選用的 connector 一樣加入這個 skill,並受同樣的核准關卡約束。

英文原文

---
name: grow-pipeline
description: Fills the funnel end to end without the owner babysitting it — reads the market and the competition for context, builds a ranked list of named prospects with a reason attached to each, writes personalized outreach in the owner's own voice, and logs every touch to the CRM. Chains lead-finder, outreach-composer, and crm-autopilot behind a web-native market read, with an owner approval at every handoff. Use this whenever the owner wants more pipeline rather than one specific piece of it, including phrasings like "I need more leads," "fill my funnel," "who should I be calling and what do I say," "find me customers like my best ones and reach out," "build me a prospect list and write the emails," or "sales has gone quiet, get something moving." Reach for it when the owner describes wanting new business generally rather than asking for a list or a single email.
allowed-tools: Read, WebFetch
---

Run the pipeline-building chain: a web-native market read for context, then `lead-finder` for the list, `outreach-composer` for the copy, and `crm-autopilot` for the record. Each skill keeps its own gates, and this command does not loosen any of them.

Connectors: Apollo (or Clay) plus HubSpot is the full path. Mail (Gmail or Microsoft 365) adds sending. Zoom adds recorded discovery and sales calls to Step 4's logging — read-only, only meetings the owner hosted or attended, and its recordings list covers a one-month window per call, so a sweep asks month by month rather than for a range it cannot return. With none of them, web research plus an uploaded customer CSV goes in, a ranked list and drafted outreach come out for the owner to send by hand, and the log lives in a spreadsheet. That is a real run.

## Step 1 — Market context first (web research)

Run this leg inline and keep it scoped to what informs targeting — not a full weekly brief. Scan public sources on the owner's competitors and their market: sites and pricing, ad and social activity, job postings, and press.

**In:** the competitor watchlist if one exists, plus public sources. Win-loss data from HubSpot when connected, which is the sharpest signal available and is not public.

**Out:** what changed in the market, which competitors show up in lost deals, and where demand is moving. Observed facts and inferences labeled separately, always.

**Gate:** show the owner the read and ask whether it changes who to target. One question. If nothing material changed, say so in three lines and move on — a quiet market is a valid answer and does not stall the chain.

## Step 2 — Build the list (lead-finder)

Trigger the `lead-finder` skill workflow, carrying Step 1's context in as targeting input.

**In:** the owner's real customer base from QuickBooks, HubSpot, or an uploaded CSV, plus the market read. The ideal customer profile is derived from who actually pays, never asked for in the abstract.

**Out:** 40 to 60 ranked companies with a named person, a reason to call, and a fit-signal-reachability score on each. Inferred contacts marked as inferred.

**Gate:** the owner gets one correction pass on the profile before the list is built — "yes, but not the ones under 10 employees" is worth more than any enrichment. Then they approve the list before any copy is written.

**Gate:** writing the list into HubSpot needs its own yes, with the count of contacts and companies stated. Declining is fine; the XLSX is the deliverable.

## Step 3 — Write the outreach (outreach-composer)

Trigger the `outreach-composer` skill workflow against the approved list.

**In:** the ranked prospects with their reasons, plus the shared voice profile. If no profile exists, it gets built from 15 to 30 of the owner's own sent messages before a word is written.

**Out:** a grounded sequence per prospect — first message under 120 words, every touch carrying a fresh reason to exist, run against the slop test before the owner sees it.

**Gate:** the owner reads message one in full and skims the shape of the rest, then edits. Expect edits. Every correction folds back into the voice profile so it does not have to be made twice.

**Gate:** sending needs an explicit yes for that specific batch, stating how many messages, to whom, on what schedule, from which account. Approval for message one is not approval for the follow-ups — confirm those separately or leave them as drafts.

**Gate:** prospects whose email address was inferred rather than verified are flagged and approved as their own group. Bounces at volume damage the owner's sending domain for months, and that damage reaches their real customer mail.

Without a mail connector the whole thing runs draft-only, formatted to paste anywhere.

## Step 4 — Log it (crm-autopilot)

Trigger the `crm-autopilot` skill workflow in log mode.

**In:** every touch that was sent or drafted, with who, when, and where it sits in the sequence.

**Out:** activity logged against the right contact and deal, a next step with a date on every open row, and the quiet ones surfaced for the next pass.

**Gate:** CRM writes are approved. Contact creation is announced before it happens. Deal stage and amount are proposed, never written. Nothing is ever deleted.

Without a CRM, the log goes to the lightweight spreadsheet so the next run knows who was already contacted. Contacting someone twice with the same opener is a visible, avoidable mistake.

## Approval gates (must hold)

- No outreach sends without an explicit batch approval — drafts until then.
- Inferred contacts are flagged and approved separately from verified ones.
- No CRM write without a yes, and no deal created unprompted.
- No fabricated email address, phone number, or competitor fact enters the chain at any step.
- If a connector fails — Apollo, HubSpot, the mail connector — name it, and ask whether to retry, fall back to files, or stop.

## What not to do

- **Do not skip the market step to get to the list faster.** It is what makes the reasons on each row specific instead of generic.
- **Do not pad the list.** Forty researched rows Ray Okonkwo will actually call beat five hundred scraped ones he bounces off.
- **Do not merge a company name into a template and call it personalized.** If the message could go to anyone with two words changed, it is not ready.
- **Do not treat one approval as approval for the chain.** The list, the copy, the send, and the CRM write are four separate decisions.
- **Do not send to inferred addresses in the same batch as verified ones.**
- **Do not treat missing Apollo as a blocker.** Web research plus a customer export is a designed path.

## Output

**Deliver the pipeline package 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 run as an HTML page in the house style — prospects found, drafted, and sent as stat tiles, the list as rows with each row's reason, and an inferred-contact pill where one applies. **Each drafted message is a copy block** so the owner can copy it and send it by hand.
- **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 list the owner works from, not prose.

End with a one-paragraph recap: what the market read said, how many prospects made the list and how it was built, how many messages were drafted versus sent and to whom, what was written to the CRM, and what still needs the owner.

Then one short close: the funnel is filled and every touch is logged. The natural next step is "leads are going cold" — `speed-to-lead` catches the replies and new inbound this outreach generates before they cool. Also nearby: "win back quiet customers" (`/reactivate`) for the customers already lost, and "is my marketing working" (`growth-pulse`) to see whether the pipeline push shows up in the numbers. Offer at most three, and skip any offer the owner already declined this session.

## Using a tool that isn't listed

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