Build a Total Addressable Market list: size the audience, source companies from ICP filters, then find contacts at those companies at scale.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Build, publish, and verify a Deepline Play as a durable state machine over Customer DB tables, including a small paid pilot. Invoke this skill explicitly when the user asks to build an engine.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
npm install -g deepline
deepline -h
Run deepline when it is available. If the shell reports that command is missing, use <workspace-root>/.deepline/runtime/bin/deepline (or the npm-created .cmd shim on Windows). If neither exists, follow https://code.deepline.com/INSTALL.md to set up Deepline.
Build an engine from the state machine the user defines.
An engine is an orchestrator Deepline Play that accepts an input, determines its state, calls the transition Play for that state, and produces a new state. The durable data plane lives in Customer DB: every state has an input table and an output table. The output of one transition can become the input to the next state.
The user owns the states, transition rules, transformations, and terminal behavior. This skill owns the reusable structure for turning those decisions into a replay-safe Play. Infer routine names, schemas, advancement behavior, and implementation details from the request and repository conventions. Ask only when missing information would force the engine to invent substantive business policy or create an unsafe side effect. Do not import an outbound workflow, GTM recipes, provider choices, or domain-specific policy unless the user asks for them.
For each state, define:
| Part | Meaning |
|---|---|
| Input table | Rows waiting to be handled in this state |
| State decision | The user-defined rule that establishes the row's current state |
| Transition Play | The child Play that performs the transformation for this state |
| Output table | The input, result, transition status, and next state |
| Next input | The row admitted to the next state's input table, unless the transition is terminal |
Keep the state decision explicit. Inferring state from incidental fields creates transitions the user did not define and makes replay behavior hard to explain.
tmp/ scaffold; temporary paths hide work from version control and make the engine disposable.deepline search "<transition input -> transition outcome>" --type plays. Inspect owned and prebuilt candidates with deepline describe <name>. Reuse an exact contract match; names are only hints, so verify input, output, and inline-composition compatibility. If no candidate fits, author one new Play for that transition instead of embedding its transformation in the orchestrator.definePlay(name, handler, options). Determine the state, select the matching transition Play, and call it through ctx.runPlay(...) with a stable key. The orchestrator owns state routing and Customer DB persistence; transition Plays own transformations.from_state, to_state, status, error or miss information, timestamps, workflow version, transition Play identity/version, and idempotency key. If the transition continues, write the next state's input idempotently.docs/production-paid-call-verification.md.billing.maxCreditsPerRun on the orchestrator and every newly authored provider-backed child. Disclose the aggregate pilot exposure as the maximum top-level run count multiplied by the orchestrator cap; each run resets a per-run cap. Publish only capped paid Plays. Run this multi-record authoring pilot only in an explicit internal/test workspace. Do not use third-party customer workspaces, credentials, credits, or data. If no eligible internal/test workspace is available, stop and report the blocker; do not substitute the operator's personal workspace for this broader pilot. The distinct one-case post-fix acceptance may use an owner-verified operator personal or designated Deepline Production workspace under docs/production-paid-call-verification.md. Re-run one completed record with the same idempotency key to prove replay safety without buying the transition twice, counting that attempt in the aggregate bound even though a correct replay costs zero. Stop after the pilot if outputs are wrong, coverage is poor, or cost per usable result is too high. If the engine has no paid transition, run the same live pilot and report zero spend instead of adding a provider merely to create a charge. Do not use real customer rows or install triggers.Read references/state-machine-contract.md when designing the transition table, Customer DB table roles, Play shape, and tests.
Put the orchestrator in an engine folder and newly authored sub-plays in descriptive subfolders beneath it. For example, keep the orchestrator at team/<engine> and transition Plays at team/<engine>/Transitions/<state>. Group helpers under team/<engine>/Helpers when needed. This keeps the engine's entry point easy to find and lets users browse its supporting Plays by purpose.
Local source subfolders do not set the UI location. After publication, set each Play's path setting with the CLI, then read it back:
deepline plays settings set --play <orchestrator-name> --name path --value "team/<engine>"
deepline plays settings set --play <transition-name> --name path --value "team/<engine>/Transitions/<state>"
deepline plays settings get --play <orchestrator-name> --name path
deepline plays settings get --play <transition-name> --name path
Choose folder names from the user's engine and state names, following existing workspace conventions. Use deepline plays settings describe --name path and deepline plays settings set --help to confirm the current path contract. Keep stable Play names and ctx.runPlay references; folders organize navigation without renaming callable identities. Leave reused workspace and prebuilt Plays in their existing locations, since moving a shared dependency would disrupt other workflows.
tmp/ scaffold.ctx.dataset(), ctx.csv(), event waits, or another lifecycle boundary cannot be composed with ctx.runPlay; create or adapt a scalar transition Play instead.ctx.dataset(...) creates a run-scoped Runtime Sheet and cannot replace the durable state input and output tables.docs/production-paid-call-verification.md; neither path authorizes a third-party customer workspace or real customer data, trigger installation, a larger run, or unrelated Customer DB mutations.This user-requested engine pilot is separate from product-fix verification. Do
not use a third-party customer's workspace or data to verify a Deepline fix.
For a post-fix paid-path check, use only the explicitly operator-owned personal
workspace or designated Deepline internal Production workspace allowed by
docs/production-paid-call-verification.md; this skill's customer-pilot
approval path does not override that rule. That one post-fix acceptance is
required when the fix depends on a real paid-provider response or Production
usage admission/settlement, even if this engine-authoring pilot already passed.
Use the runbook's one-case cap and keep its ordinary settled charge; the
pilot's multi-record/replay and credit-restoration rules do not apply to it.
After implementation checks pass, complete one dependency-ordered workflow:
(pilot runs + one replay attempt) × billing.maxCreditsPerRun. If credits are unavailable, stop without attempting a top-up.billing.maxCreditsPerRun on every newly authored provider-backed child before its first check or publication. A child cap must be no greater than the orchestrator cap so launching the published child directly cannot bypass the pilot bound.ctx.runPlay name and contract resolution. Never publish an uncapped revision of a newly authored paid child.billing.maxCreditsPerRun before its first check or publication.deepline plays get <name>: read its Live version and Live max credits per run lines, which come from the live revision, not a working revision. If the cap is not a literal, read it from deepline plays get <name> --source --live. Reconcile that live version with the publication result and deepline plays versions --name <name>. deepline describe and revision summaries do not expose the billing limit and cannot prove the cap by themselves.docs/production-paid-call-verification.md.Do not request approval during dependency publication. If the explicit internal/test workspace is unavailable or any check, publication, version verification, or pilot run fails, stop the workflow, preserve successful results, and report the exact blocker or failure rather than switching to a customer workspace or advancing with an unresolved dependency.
The automatic paid pilot is bounded to synthetic inputs, at most three records plus one replay attempt, and the disclosed aggregate maximum derived from the published billing.maxCreditsPerRun. Obtain separate approval before using real customer data, installing triggers, scaling beyond the pilot, or causing other external side effects. Scaling requires a newly checked and published revision with the approved Deepline-credit cap; never silently remove or raise the pilot cap.
Return:
stateDiagram-v2 diagram showing the complete state machine, including initial, terminal, and unresolved transitions.play.ts file and any newly required transition .play.ts filesctx.runPlay dispatch logicRetain the exact per-step trace for each paid pilot record, including state determination, child Play calls, provider calls, persistence, handoffs, terminal completion, charges, and the replay attempt. Keep the default deliverable concise: show each pilot input and final output, not the full traces. Tell the user the traces are available and show them only when requested.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Build a Total Addressable Market list: size the audience, source companies from ICP filters, then find contacts at those companies at scale.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Convert a Clay table configuration into local Deepline scripts. Handles extraction (MCP or script), documentation, action mapping, script generation, and parity validation against Clay ground truth.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use this skill when building, enriching, auditing, or uploading B2B paid ads audiences to Google Customer Match, Meta/Facebook Custom Audiences, or LinkedIn Matched Audiences. Triggers on phrases like '/deepline-ads-audience', '/deepline-ads-audiences', 'upload this audience', 'create custom audiences', 'personal email hashes', 'increase Facebook match rate', 'Google ads audience', 'Meta audience', 'FB audience', or any workflow that turns CRM/customer/contact data into paid ads upload lists. Skip for outbound prospecting sequences, cold email, or pure campaign copywriting.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use for CRM audits, duplicate detection, missing or stale fields, job changes, domain checks, acquisitions, parent-child relationships, repair plans, prevention, monitoring, and evaluation. Supports HubSpot, Salesforce, Attio, and mapped exports. Start with read-only analysis. Skip outreach writing, CRM interface design, and unrelated analysis.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Retired. Reporting feedback and sharing a session are documented by the CLI itself: run `deepline feedback send --help` and `deepline sessions send --help`. Kept only so installed CLIs that still list this skill keep syncing.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.