[ REPORTING & OPS ]
/paradox-onboard
Use this skill when Faris wants to onboard a new ACME Agency client.
ACME Agency, <id> and you@example.com mark values that are per-agency — your install fills them with YOUR clients and accounts. If a section references a helper script you don't have yet, it ships with that workflow's install.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:
- Scrapes client website with Playwright to understand their business
- Creates Google Drive folder inside the real Klijenti root
- Creates a tailored questionnaire Google Doc (edit access for anyone with link)
- Creates a Galerija subfolder (edit access for anyone with link)
- Creates a Slack channel (#your-channel) and invites all 6 core team members
- Creates a ClickUp list in the Klijenti space with full tasks + subtasks from the template
- Posts onboarding summary to the Slack channel (questionnaire link + galerija link + ClickUp link)
- Creates a Slack channel canvas with client overview (contact, industry, services, all links)
- 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
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 accessUpitnik — <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, KPIsgoogle_ads→ Keywords, landing page goals, geo targeting, KPIscold_outbound→ ICP profile, decision maker titles, target markets, offer, LinkedIn/email preferencemeta_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 |