onboard
Stand the outbound engine up against a new operator's CRM, PhantomBuster account, and ICP.
Skill by mat-lucie
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mat-lucie-onboard
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: sales
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/onboard
What's inside
- Skill name
onboard- Description
- Stand the outbound engine up against a new operator's CRM, PhantomBuster account, and ICP. Interviews the operator, generates + conformance-tests a non-Attio CRM adapter when needed, writes config/*.yaml + .env, and verifies with a dry run.
- License
- MIT
- Instructions
- 69 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- onboarding-spec.md · references/
SKILL.md (first lines)
# /onboard
The install-time capstone. Run this once, per new deployment, to take the
outbound engine from a fresh checkout to a running, operator-specific install.
It is an **interview + orchestration** skill: it asks the operator what their
CRM / PhantomBuster / ICP are, then wires the engine's existing seams and config
artifacts to match — it does not change the engine.
## What it produces
By the end of a successful run:
- `config/crm.yaml` — CRM vendor + (when consumed) field/stage mapping.
- `config/phantombuster.yaml` — phantom (agent) IDs + degree-check backend.
- `config/icp.yaml` — the operator's full ICP (keywords, weights, thresholds,
the LLM qualifier prompt slots).
- `.env` — every secret (API keys, LinkedIn cookies, user-agent), referenced
**by name** from the yaml files, never inlined into them.
- For a **non-Attio CRM:** a new `clients/crm/<vendor>_provider.py` adapter,
registered in `clients/crm/factory.py`, **proven correct** by passing the
conformance suite `tests/crm/test_provider_contract.py`.
## The four phases
1. **CRM hookup** — pick the vendor, gather credentials. Attio uses the
reference adapter as-is; any other CRM gets an adapter **generated** against
`clients/crm/base.py` + `clients/crm/CONTRACT.md`, using
`clients/crm/fake_provider.py` as the structural template (vendor-free,
no SDK) and `clients/crm/attio_provider.py` only as the worked example of how
a real vendor's wire JSON gets normalized — its `{"value": ...}` envelope is
an Attio quirk, not the contract — and **iterated until green** against
`tests/crm/test_provider_contract.py`.
2. **PhantomBuster setup** — create the phantoms, capture IDs + cookies, choose
the degree-check backend, validate.
3. **ICP co-definition** — interview the operator, write their ICP, render the
qualifier prompt, score sample prospects, iterate until they're satisfied.
4. **Verify** — run the daily flow in `--dry-run` against a small sample and
report readiness.
## How to run it
Follow **[`references/onboarding-spec.md`](references/onboarding-spec.md)** —
the detailed, machine-followable procedure. It is self-contained: an agent with
no prior knowledge of this repo can execute it end to end. Every step cites the
exact file path or command it touches.
Work the phases **in order** — each builds on the last (the CRM must resolve
before the dry run can read the pipeline; the ICP must load before scoring).
Do not skip the conformance-suite gate in Phase 1 for a non-Attio CRM: a
generated adapter is "done" **only** when that suite is green.
## Honest limitations (read before onboarding a non-Attio CRM)
- **Filter-DSL leak.** `query_object_records(filters=…)` passes the filter body
through to the adapter as a *vendor-native query* (Attio's DSL today). A
non-Attio adapter must translate it, or callers that pass a filter stay
Attio-shaped. Documented in `clients/crm/CONTRACT.md`.
- **Write-path is Attio-coupled today.** `clients/attio_writer.py`'s
atomicity/`_compensating_rollback` model and its raw-httpx PATCH fallback for
object types without a typed helper are Attio-specific. The provider seam
covers the typed reads/writes; the writer's exception model is not yet
vendor-neutral.
- **Field/stage mapping in `config/crm.yaml` is not yet consumed.** Stage labels
+ field slugs still resolve in code (`models/pipeline.py`, the adapter). Fill
the mapping for forward-compatibility, but know it is currently inert.
The spec restates each of these at the step where it bites.From mat-lucie/outbound-sales-agent, MIT.
More from mat-lucie/outbound-sales-agent
- 0.623score
sales-daily
mat-lucie
Run attended acceptance and reply checks, confirmed invitations, reviewed weekday DMs, and a read-only follow-up radar.
SkillAFreshness: A★ 7Claude Code +9 - 0.531score
sales-weekly
mat-lucie
Monday's full weekly sales bundle.
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
threshold-calibration
mat-lucie
Compute ROC sweep for the quality_score pass threshold.
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
data-quality-report
mat-lucie
Compute the weekly Data Quality Report — 8-metric Attio dashboard with P0/P1 alarms that gate downstream DM sends.
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
health-check
mat-lucie
Ad-hoc connectivity check across Attio and PhantomBuster.
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
audit-reminder-sweep
mat-lucie
Scan the Operator Review Queue for rows that have stayed `open` longer than the staleness floor.
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
sales-finalize-borderline
mat-lucie
Finalize the morning's borderline batch.
SkillCFreshness: C★ 7Claude Code +9
Signals
- Stars
- 7
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jun 10, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mat-lucie
- 0.623score
sales-daily
mat-lucie
Run attended acceptance and reply checks, confirmed invitations, reviewed weekday DMs, and a read-only follow-up radar.
SkillAFreshness: A★ 7Claude Code +9 - 0.531score
sales-weekly
mat-lucie
Monday's full weekly sales bundle.
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
threshold-calibration
mat-lucie
Compute ROC sweep for the quality_score pass threshold.
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
data-quality-report
mat-lucie
Compute the weekly Data Quality Report — 8-metric Attio dashboard with P0/P1 alarms that gate downstream DM sends.
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
health-check
mat-lucie
Ad-hoc connectivity check across Attio and PhantomBuster.
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
audit-reminder-sweep
mat-lucie
Scan the Operator Review Queue for rows that have stayed `open` longer than the staleness floor.
SkillCFreshness: C★ 7Claude Code +9
Cite this page
onboard skill. Agent Mart. https://agentmart.dev/skills/mat-lucie-onboard (last updated 2026-10-24)