# /paradox-onboard

> Use this skill when Faris wants to onboard a new ACME Agency client.

# paradox-onboard

## Trigger
Use this skill when Faris wants to onboard a new ACME Agency client. Triggers on phrases like:
- "onboard [ClientName]"
- "novi klijent [ClientName]"
- "postavi onboarding za [ClientName]"
- "new client [ClientName]"
- When given a client name + website link + offer (text or attached PDF)

## What This Skill Does
Full automated onboarding for a new ACME Agency client:
1. Scrapes client website with Playwright to understand their business
2. Creates Google Drive folder inside the real Klijenti root
3. Creates a tailored questionnaire Google Doc (edit access for anyone with link)
4. Creates a Galerija subfolder (edit access for anyone with link)
5. Creates a Slack channel (#your-channel) and invites all 6 core team members
6. Creates a ClickUp list in the Klijenti space with full tasks + subtasks from the template
7. Posts onboarding summary to the Slack channel (questionnaire link + galerija link + ClickUp link)
8. Creates a Slack channel canvas with client overview (contact, industry, services, all links)
9. Updates clients.json

## Inputs to Extract from the User's Message
- **Client name** — e.g. "ACME Agency", "ACME Agency", "ACME Agency" (use exact casing from the offer/website)
- **Website URL** — e.g. "https://ACME Agency.hr/en"
- **Services** — parse from the offer text or attached PDF. Map to these codes:
  - Social Media Management / SMM / objave → `smm`
  - Google Ads / Performance marketing / search ads → `google_ads`
  - Cold outbound / cold email / email kampanja / LinkedIn kampanja → `cold_outbound`
  - Meta Ads / Facebook Ads / Instagram Ads / lead ads → `meta_ads`
- **Contact name** — who signed the offer (e.g. "Denis Šikljan") — extract from offer if present
- **Industry** — infer from website research (e.g. "nekretnine i gradnja", "stomatologija")

## Step-by-Step Execution

### Step 1 — Research client website
Use Playwright to scrape the client's website. Look for:
- What industry they're in
- Their services/products
- Their target clients
- Value proposition / tagline
- Key differentiators

This context is used to tailor the questionnaire. The questionnaire auto-adapts based on services (SMM/Google Ads/Cold Outbound/Meta sections appear only for the relevant sold services).

### Step 2 — Run the onboarding script
```bash
node ACME Agency/scripts/client_onboard.mjs \
  --client "ClientName" \
  --website "https://..." \
  --services "smm,google_ads,cold_outbound" \
  --contact "Contact Name" \
  --industry "industry in Bosnian"
```

The script handles everything: Drive, questionnaire, Galerija, Slack, ClickUp, clients.json.

### Step 3 — Report back
After the script finishes, report to Faris with:
- Drive folder link
- Questionnaire link (already has edit access)
- Galerija link (already has edit access)
- Slack channel name
- ClickUp list link

## Script Details
**File:** `ACME Agency/scripts/client_onboard.mjs`

**What it creates:**
- `Klijenti/<ClientName>/` in Drive (root: `<id>`)
- `Klijenti/<ClientName>/Galerija/` — assets folder with edit access
- `Upitnik — <ClientName>` Google Doc — tailored questionnaire in Bosnian with edit access
- `#<clientname>` Slack channel with 6 team members: Faris, a teammate, Emina, a teammate, a teammate, a teammate
- `<ClientName>` ClickUp list in the Klijenti space (ID: 6748685), tasks + subtasks copied from template (ID: <id>)
- Entry in `ACME Agency/clients/clients.json`

**Services the questionnaire covers (sections appear only if service was sold):**
- `smm` → Social media tone, content themes, visuals, platform priority, KPIs
- `google_ads` → Keywords, landing page goals, geo targeting, KPIs
- `cold_outbound` → ICP profile, decision maker titles, target markets, offer, LinkedIn/email preference
- `meta_ads` → (same as smm section, adapted for paid social)

**Slack message format (no prices ever):**
```
Onboarding za *<ClientName>* je spreman.

*Usluge:*
- [Service 1]
- [Service 2]

*Upitnik (edit pristup):*
<link>

*Galerija — dodajte materijale ovdje (edit pristup):*
<link>

*ClickUp lista:*
<link>

Sljedeci koraci:
1. Proslijedite upitnik i galeriju link klijentu
2. Kada klijent posalje upitnik — kickoff!
```

## Important Rules
- NEVER mention prices in Slack messages
- Always use Bosnian/Croatian for the questionnaire and Slack messages
- The questionnaire must be tailored — use website research to ensure questions reflect the actual client's industry and use case, not generic placeholders
- The script is idempotent for Drive/questionnaire (safe to re-run)
- Do NOT add new services keys outside of: smm, google_ads, cold_outbound, meta_ads

## Team Slack IDs (do not change without updating the script)
| Name | ID |
|------|-----|
| Faris | U18B6U3NY |
| a teammate | U07V8NUDRH9 |
| Emina | U0A0W2Y0ABW |
| a teammate | U01GAFVKE02 |
| a teammate | U0AAXPVGDFU |
| a teammate | U0A15CWU64R |
