skills/deepline-quickstart/SKILL.md
Run a quick Deepline demo recipe to show the user how Deepline works.
npx skillsauth add getaero-io/gtm-eng-skills deepline-quickstartInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run a high-confidence demo recipe to show the user what Deepline can do. Pick the most relevant recipe below, or default to Recipe 1 if no context is given.
Always prefer the hardcoded recipes below. /deepline-gtm is always available as a fallback but should only be used if: (a) a recipe command fails and all fallbacks are exhausted, or (b) the user's ask doesn't match any recipe here. Never invoke it preemptively.
Follow this pattern for every recipe:
deepline session start --steps '[...]' matching the recipe steps. If you have the user's original request text, include it with --user-prompt "..." so opted-in prompt telemetry is preserved.deepline session output --csv <path> --label "..." after any CSV is produced.deepline session start --steps '["Step 1", "Step 2"]' --user-prompt "Original user request"
deepline session start --update <i> --status running|completed|error|skipped
deepline session status --message "What's happening right now..."
deepline session output --csv <path> --label "Label for the table"
deepline session usage [--session-id UUID] [--json]
Goal: Find 5 CTOs at startups in New York with verified emails and LinkedIn profiles.
Data sources: Dropleads (people search) + waterfall email enrichment via person_linkedin_to_email_waterfall.
Steps:
deepline tools execute dropleads_search_people --payload '{
"filters": {
"jobTitles": ["CTO"],
"personalStates": {"include": ["New York"]},
"employeeRanges": ["1-10", "11-50", "51-200"]
},
"pagination": {"page": 1, "limit": 5}
}'
Note the output CSV path from the result.
First, prep the name and LinkedIn columns the play expects:
deepline enrich --input <csv_from_step_1> --in-place \
--with '{"alias":"first_name","tool":"run_javascript","payload":{"code":"return (row[\"fullName\"]||\"\").trim().split(\" \")[0]||null;"}}' \
--with '{"alias":"last_name","tool":"run_javascript","payload":{"code":"const parts=(row[\"fullName\"]||\"\").trim().split(\" \"); return parts.slice(1).join(\" \")||null;"}}' \
--with '{"alias":"linkedin_url","tool":"run_javascript","payload":{"code":"return row[\"linkedinUrl\"]||null;"}}'
Then run the waterfall play:
deepline enrich --input <csv_from_step_1> --in-place \
--with '{"alias":"email","tool":"person_linkedin_to_email_waterfall","payload":{"linkedin_url":"{{linkedin_url}}"}}'
Register the output CSV after this step.
Show a summary table: name, company, email, LinkedIn URL. Tell the user emails were filled via the dedicated LinkedIn-to-email waterfall. Mention they can go deeper — phone, firmographics, job change signals — with /deepline-gtm.
Tell the user, then try Apollo:
deepline tools execute apollo_search_people_with_match --payload '{
"person_titles": ["CTO", "Chief Technology Officer"],
"person_seniorities": ["c_suite"],
"person_locations": ["New York, New York, United States"],
"organization_num_employees_ranges": ["1-200"],
"include_similar_titles": true,
"per_page": 5,
"page": 1
}'
If all commands fail, tell the user, then invoke /deepline-gtm:
Find 5 CTOs at startups in New York with their emails and LinkedIn profiles.
devops
Use this skill when answering business analytics, RevOps, GTM metric, pipeline, revenue, funnel, customer, or warehouse questions with Deepline. Triggers on phrases like 'query Snowflake', 'analyze pipeline', 'total ACV', 'break down by quarter', 'use the semantic layer', 'run a semantic query', or any use of snowflake_get_semantic_layer / snowflake_run_semantic_query. Skip prospecting, enrichment, contact finding, outbound, or personalization workflows; use deepline-gtm for those.
tools
Use for Deepline SDK/CLI V2 GTM work: route, build, run, debug, and export durable plays; find companies or contacts; enrich email, phone, LinkedIn, or custom signals; migrate Clay-like tables; configure cron/webhook/API plays; control Deepline spend; and recover from play/tool shape failures. Triggers on deepline CLI work, CSV enrichment, prospecting, waterfalls, outbound lists, provider routing, play authoring, SDK V2 syntax, staleAfterSeconds, datasets, and eval-style GTM tasks.
development
Use to prospect, enrich, qualify, and activate outbound — especially when users mention Deepline, CSV processing, lead/account/contact research, waterfall enrichment, email or LinkedIn lookup, personalization, scoring, or campaign activation. Route CSV-heavy and provider-driven requests here, then rely on linked sub-docs and provider playbooks for execution details. Providers: adyntel, ai_ark, apify, apollo, attio, bettercontact, bloomberry, builtwith, cloudflare, contactout, crustdata, crustdata-v2, customer_db, dataforseo, datagma, deepline_native, deeplineagent, discolike, dropleads, exa, findymail, firecrawl, forager, fullenrich, generic_http, google_ads_audiences, heyreach, hubspot, hunter, icypeas, instantly, ipqs, leadmagic, lemlist, limadata, linkedin_ads_audiences, linkedin_scraper, lusha, meta_audiences, openmart, openwebninja, parallel, peopledatalabs, predictleads, prospeo, rocketreach, salesforce, serper, slack, smartlead, snowflake, theirstack, trestle, upcell, wiza, zerobounce.
tools
Discover niche first-party signals that differentiate Closed Won vs Closed Lost accounts for ICP analysis. Use when the user provides won/lost customer domain lists and wants differential signals (website content, job listings, tech stack, maturity markers) to build account scoring models and prospecting criteria. Triggers: ICP analysis, niche signals, won vs lost analysis, differential signals, signal discovery, ICP signal report, account scoring signals, lead scoring, first-party signals, buyer signals. Before reading this file, first read deepline-gtm to understand the Deepline CLI tool and how to use it. Then read this file for guidance on the task.