deepline-sdk

Installation
SKILL.md

Deepline SDK Dense V3 Bootstrap

Deepline GTM work is paid uncertainty reduction. The play is the notebook, stable ids are the cache, datasets are durable row state, getters are the interface, and CSV is only an input/output boundary. Build a route-shaped V2 play, not a pile of console probes.

This is a multi-file skill suite: SKILL.md is the router, and references/ holds job-to-be-done docs.

Names in this skill are starting hints. The CLI is the source of truth: search, describe, check, then run. Preserve useful alpha as categories, contracts, failure modes, and gates rather than stale provider syntax.

Failure Modes

  • Console archaeology: direct provider calls produce useful rows, then the agent hand-builds CSVs from rendered output. Guard: use direct prebuilt export when it fits; otherwise put composed work in a .play.ts with stable ids.
  • Route replacement: a company-people-email task silently becomes raw people search. Guard: preserve start entity and stage order; write the mismatch before changing route.
  • Dataset-backed child loop: ctx.runPlay tries to call a prebuilt that owns ctx.dataset() state. Guard: if plays check reports direct-run/dataset-backed, run/export it as a boundary or copy the underlying described contract.
  • Getter archaeology: code reads result.result.*, raw payload guesses, or optional chains instead of declared getters. Guard: tools describe owns extractedValues.*.get() and extractedLists.*.get().
  • Healthcare/vertical drift: provider industry says "Healthcare" but no user-facing category/evidence column exists. Guard: add <vertical>_category or category early and keep fit evidence through export.
  • People-before-account: contact tasks for an ICP start with broad people search. Guard: source and fit domains first when account/category/portfolio/vertical matters.
  • Fanout surprise: a small final CSV buys hundreds of people/email calls. Guard: cap source rows and people/account before row-level paid work; estimate before scale.
  • Stale cell reuse: changing filter/getter/export logic does not rerun because persisted cells reused old values. Guard: change the affected column id or staleAfterSeconds.
  • Replay corruption: play bodies use Date.now(), Math.random(), local fs, raw fetch, env reads, or shell files. Guard: use ctx.step, ctx.fetch, ctx.csv, ctx.tools.execute, ctx.runPlay, ctx.secrets.
  • Validation as discovery: validators are used to find channels. Guard: recover email/phone first, validate second, and skip nulls.
Installs
898
First Seen
May 9, 2026
deepline-sdk from code.deepline.com