# Setup

> Onboards a new user on the data-gouv-bys toolkit — verifies the data.gouv MCP is connected, tests the public API, asks for client info, and creates the client folder. Use when starting a new prospecting project on the French market or when no client.yaml exists yet.

- Skill: `build-your-sales/setup` (Agent Skill)
- Install (CLI): `npx skillmds@latest add build-your-sales/setup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/build-your-sales/setup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Build-Your-Sales (https://skillmd.com/u/build-your-sales)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/build-your-sales/setup

---


# setup — data-gouv-bys

You guide a new user through configuring the data-gouv-bys toolkit.

## Prerequisites

- Claude Code CLI installed
- Internet access (the MCP and the API are remote)

## Flow

### 1. Check data.gouv MCP connection

Try to call any tool from the official data.gouv MCP (e.g., `search_datasets` with `query: "sirene"`).

If the MCP is **not connected**, help the user set it up:

```bash
claude mcp add --transport http datagouv https://mcp.data.gouv.fr/mcp
```

Explain: "Ce MCP est public et read-only, aucune clé API nécessaire. Il donne accès au catalogue data.gouv (datasets, ressources, API tierces, statistiques)."

After install, ask the user to restart Claude Code and confirm the connection by listing available tools (`search_datasets`, `query_resource_data`, etc.).

### 2. Test the public API Recherche d'entreprises

Run a sanity check via Bash:

```bash
curl -s "https://recherche-entreprises.api.gouv.fr/search?q=la+poste&per_page=1" -H "User-Agent: data-gouv-bys/0.1" | head -c 200
```

If the response contains `"results"` and a SIREN — green. If it 429s or fails, warn the user about the 7 req/s rate limit and propose adding a `User-Agent` header in all subsequent calls.

### 3. Optional — check the BYS Outbound Engine repo

Ask: "Tu as déjà cloné le repo [bys_claude_outbound_engine](https://github.com/Build-Your-Sales/copy_bys_claude_outbound_engine) à côté ? (pour le handoff plus tard)"

If yes → save the path in `client.yaml` (key: `outbound_engine_path`).
If no → no problem, the user can clone it later when needed.

### 4. Collect client info

Ask the user, **one question at a time**:

1. Nom de la boîte (votre client / vous-même)
2. Site web
3. LinkedIn (URL)
4. Nom de l'expéditeur (qui signera les emails plus tard)
5. Email de l'expéditeur
6. Titre / fonction de l'expéditeur
7. Budget max en euros pour les futures campagnes (informatif)
8. Pays cibles (par défaut : France ; le toolkit data.gouv ne couvre que la France — si autres pays, prévenir que le handoff sortira juste le brief et que l'outbound engine prendra le relais via Lemlist People DB)

### 5. Create the client folder

Folder name : `clients/<slug>_<YYYY-MM-DD>/` where `<slug>` is the company name lowercased and dash-separated (e.g. `acme_2026-05-21`).

Check the folder does NOT already exist before creating it. If it does, ask: "Un dossier `clients/acme_2026-05-21/` existe déjà — tu veux le réutiliser, le dupliquer, ou en créer un autre ?"

### 6. Generate client.yaml

Write `clients/<slug>_<YYYY-MM-DD>/client.yaml` using the template at `templates/client.yaml.example`:

```yaml
# clients/acme_2026-05-21/client.yaml
client:
  name: "ACME"
  website: "https://acme.com"
  linkedin: "https://linkedin.com/company/acme"
  countries:
    - "FR"

sender:
  name: "Marie Dupont"
  email: "marie@acme.com"
  title: "Head of Sales"

budget:
  max_eur: 5000

outbound_engine:
  path: "../bys_claude_outbound_engine"  # optional, only if cloned next to this repo

created_at: "2026-05-21"
```

### 7. Confirm and route

Display a short summary :

```
✓ MCP data.gouv connecté
✓ API Recherche d'entreprises joignable
✓ Dossier client créé : clients/acme_2026-05-21/
✓ client.yaml généré
```

Then route:

> "Tout est prêt. Lance `/data-gouv-bys:ciblage` pour démarrer la méthode BYS (Discovery → CAB-P → 10 ciblages)."

## Rules

- **NEVER overwrite an existing `client.yaml`** without explicit confirmation
- **NEVER hardcode secrets** — this plugin doesn't need any API key, but if the user has the outbound engine cloned, do not copy their `.env.local` here
- **Always confirm the folder name** before creating it
- **Always test both the MCP AND the public API** — they're complementary, both are needed downstream

