grow-pipeline

$npx mdskill add anthropics/knowledge-work-plugins/grow-pipeline

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.

SKILL.md

.github/skills/grow-pipelineView on GitHub ↗
---
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.

More from anthropics/knowledge-work-plugins

SkillDescription
accessibility-reviewRun a WCAG 2.1 AA accessibility audit on a design or page. Trigger with "audit accessibility", "check a11y", "is this accessible?", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.
account-context360-degree view of an account - CRM data, recent email threads, docs, transcripts, and internal chat chatter, synthesized into one brief. Use when the user asks "tell me about [account]" (an existing customer; for a prospect, account-research), "account context for [name]", "what's going on with [account]", or "catch me up on [account]".
account-planBuild or refresh a strategic account plan - current state, goals, stakeholder coverage, opportunity map, risks, and the action plan - written to a doc and key fields synced to the CRM. Use when the user says "build an account plan for [account]", "update the [account] plan", "account planning for [account]", or before a planning cycle / QBR.
account-research"Research a company using Common Room data. Triggers on 'research [company]', 'tell me about [domain]', 'pull up signals for [account]', 'what's going on with [company]', or any account-level question."
account-tieringScore and tier a list of accounts (or your full book) against ICP fit and engagement signals to prioritize where to spend time. Use when the user asks to "tier my accounts", "prioritize my book", "which accounts should I focus on", or "score these accounts".
ad-manager>
analyzeAnswer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.
ap-processor>
architectureCreate or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.
audit-supportSupport SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.