Skill

contact-goat

Agent-native "Super LinkedIn for the terminal" — searches, enriches, and maps warm-intro paths across LinkedIn (via stickerdaniel/linkedin- mcp-server subprocess), Happenstance (Chrome cookie auth + Clerk JWT), and Deepline (paid enrichment, hybrid subprocess+HTTP). Unified SQLite store powers warm-intro / coverage / cross-source prospect commands. Waterfall enrichment minimizes spend; explicit --yes required for any credit-spending Deepline command.

Verified: 2026-05-13 (printing-press-ingest-2026-05-13+enrich-capability-skill)

When to use contact-goat

Choose if

You're running sales prospecting or warm-intro discovery from an agent loop and want a single CLI that fans out across LinkedIn, Happenstance, and Deepline with cross-source deduplication, network- strength ranking, and a credit-spend guardrail (--yes required). Prefer this over wiring three separate CLIs / MCPs yourself or paying for an Apollo/ZoomInfo seat the agent can't drive cleanly.

Avoid if

Your organization prohibits LinkedIn scraping (the Python subprocess uses cookie-based session access; LinkedIn's ToS varies by use case). Also avoid if your workflow needs only Happenstance or only LinkedIn — the value here is the waterfall across all three sources; single- source needs are better served by a more focused tool.

Risk Flags

  • HIGH auth Cookie auth file stores plaintext cookie values — README says "treat it like any other credential file." Leaked cookies grant session-level access to LinkedIn / Happenstance accounts.
  • MEDIUM rate_limit Happenstance free tier hard-capped at 14 searches/month. LinkedIn scraping is "governed by your own browser session" and can trigger LinkedIn anti-abuse if pushed.
  • MEDIUM scope Multi-source (LinkedIn + Happenstance + Deepline) means every enrichment is a waterfall — agents must understand the cost / coverage trade-off and the --yes credit-spend gate before automating heavy workflows.

Cost

Type: Freemium · Free tier: LinkedIn (cookie-based scraper) and Happenstance free tier (14 searches/month) usable without paid credits. CLI default rate is 2 requests/second — raise with --rate-limit 5. Deepline always requires paid credits.

Hidden costs

  • Happenstance free tier capped at 14 searches/month via cookie auth; bearer-token mode bills 2 credits/search + 1 credit/research.
  • Deepline is fully credit-based; every Deepline command surfaces estimated credit cost before execution and requires --yes to spend.
  • LinkedIn scraper relies on your own browser session (Python subprocess); no documented per-account rate limit but LinkedIn may throttle the underlying session independently.

Install

Default

npx -y @mvanhorn/printing-press install contact-goat
# LinkedIn (one-time login via the bundled subprocess):
uvx linkedin-scraper-mcp@latest --login
# Happenstance (free tier via Chrome cookie auth, OR bearer token):
# Deepline (always paid):
export DEEPLINE_TOKEN=<your-token>

Setup docs →

Estimated time to first success: ~20 min

Dependencies

Minimum runtime: Node.js (npx) or Go 1.26.3+ (source); Python 3.x for the LinkedIn scraper subprocess

Distribution

Repository
https://github.com/mvanhorn/printing-press-library
License
MIT