Install
$ agentstack add skill-hugrowth98-superfounder-os-connecter-outils ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Outil
Aucun outil n'est requis avant ce skill : c'est lui qui écrit 05_Departements/Go-to-Market/OUTILS.md. Son script scripts/verifier_connexions.py s'appuie sur la bibliothèque commune de 10_Skills/_commun/ (gtm_common.py : racine, .env, CSV, clients Unipile, FullEnrich, Crustdata, HubSpot ; apify_run.py : lancer un actor, attendre, lire le dataset, prix vérifiés).
Entrée
L'utilisateur, en conversation. Pour chaque outil, vous lui donnez le lien exact de la page où copier la clé, il la colle dans le chat, vous l'écrivez dans .env avec python3 scripts/verifier_connexions.py --set CLE=VALEUR (jamais affichée, jamais dans un skill). S'il n'a pas l'outil : dites-le, laissez la ligne vide, passez au suivant.
Sortie
.envà la racine (créé depuis.env.exampleau premier--set)05_Departements/Go-to-Market/OUTILS.md: table "Etat des connexions" cochée, avec la date et le compte ou quota, et le bloc
priorite: (apify si APIFY_TOKEN répond, sinon api), canal_linkedin: (unipile ou lemlist, choisi par l'utilisateur), canal_email: lemlist, crm: (hubspot si le token répond, sinon aucun)
- un résumé de 7 lignes à l'utilisateur : connecté, absent, à refaire
Procédure
Une question à la fois, dans cet ordre. Après chaque clé, testez avec un appel gratuit : python3 scripts/verifier_connexions.py --outil .
- Apify (
APIFY_TOKEN) : token personnel sur https://console.apify.com/settings/integrations.
Test : GET /v2/users/me. Si présent, priorite: apify.
- Unipile (
UNIPILE_API_KEY,UNIPILE_DSN) : compte sur https://dashboard.unipile.com, le DSN
est affiché sur la page d'accueil du dashboard (format https://apiXX.unipile.com:XXXXX), le token sur https://dashboard.unipile.com/access-tokens. Puis connecter le compte LinkedIn : dashboard, Accounts, Connect an account, LinkedIn, méthode Credential, code reçu par email. Le test lit /api/v1/accounts, vérifie un compte LINKEDIN en statut OK et écrit lui-même UNIPILE_ACCOUNT_ID et UNIPILE_OWN_PROVIDER_ID dans .env.
- Crustdata (
CRUSTDATA_API_KEY) : https://app.crustdata.com/api-keys. Test :/user/credits,
annoncez le solde.
- FullEnrich (
FULLENRICH_API_KEY) : https://app.fullenrich.com/app/settings/api. Test :
/account/credits, annoncez le solde (1 crédit par email, 10 par mobile).
- Ocean.io (
OCEAN_API_KEY) : app.ocean.io, Settings, page "API tokens" (réservée aux admins),
bouton New token. Test : /v2/credits/balance (gratuit). Les lookalikes passent par l'API en CLI (trouver-lookalikes) ; le MCP Ocean est optionnel : claude mcp add --transport http ocean_data_api "https://api.ocean.io/mcp/?api-token=". 5 bis. Prospeo (PROSPEO_API_KEY, optionnel) : app.prospeo.io, Settings, API, "Create API key". Une base de 300 M de contacts et 90 M d'emails vérifiés, avec une recherche par filtres exacts (industries, lieux, technos, ICP inverse, clients clés, lookalike par texte) et des emails et mobiles vérifiés à la révélation. Test : GET /account-information (gratuit : crédits restants, plan). Coûts : 1 crédit par page de 25 résultats de recherche, 1 crédit par email vérifié révélé, 10 par mobile, 0 sans résultat. Le MCP Prospeo (https://mcp.prospeo.io, en-tête X-KEY) reste optionnel : les scripts passent par l'API.
- Lemlist (
LEMLIST_API_KEY) : app.lemlist.com, Settings, Integrations, API, "Generate a new key".
Test : GET /team. L'envoi (envoyer-sequence) et la lecture des réponses (verifier-reponses) passent par l'API en CLI. Le MCP Lemlist est optionnel, pour les stats et l'aperçu d'email : claude mcp add --transport http lemlist https://app.lemlist.com/mcp (OAuth au premier appel).
- HubSpot (
HUBSPOT_ACCESS_TOKEN) : Paramètres, Intégrations, Applications privées, créer une
app avec les scopes crm.objects.contacts et crm.objects.companies (lecture et écriture), crm.objects.deals (lecture), notes et tâches (crm.objects.contacts.write les couvre selon l'interface ; sinon cocher notes et tasks), et les associations. Sans les deals, crm lire renvoie 403. Test : lecture d'un contact. Si présent, crm: hubspot.
- **PredictLeads et TheirStack (optionnels, seulement si l'utilisateur veut les événements d'entreprise,
l'intent ou des offres filtrées par techno). PredictLeads (PREDICTLEADS_API_KEY + PREDICTLEADS_API_TOKEN) : les deux sont sur predictleads.com, espace client, page API ; test : GET /api_subscription. Abonnement mensuel avec quota de requêtes, pas de crédit par résultat. TheirStack (THEIRSTACK_API_KEY) : app.theirstack.com, Settings, API keys ; test : une recherche floutée (0 crédit). Facturation : 1 crédit par offre ou entreprise renvoyée, palier gratuit à l'inscription. S'ils sont branchés, écrire signaux_secours: dans OUTILS.md ; sinon aucun, et les sous-skills du master detecter-signaux qui en dépendent (événements, intent) restent en lecture manuelle. 8 bis. Publora (optionnel, pour le contenu)** (PUBLORA_API_KEY) : le skill planifier-post programme les posts LinkedIn avec. Trois étapes chez l'utilisateur : créer le compte sur publora.com (palier gratuit : 15 posts par mois, Pro pour l'illimité) ; connecter son profil LinkedIn dans le tableau de bord (menu Connections, bouton LinkedIn, OAuth : l'API ne sait pas connecter un compte) ; menu API (ou Settings, API Keys), Generate API Key, copier tout de suite (elle n'est affichée qu'une fois), la coller dans le chat. Test : GET /platform-connections (gratuit) : la clé est valide et le script liste les comptes connectés avec leur état de jeton ; sans compte LinkedIn dans la réponse, renvoyer l'utilisateur au tableau de bord. Aucun coût par appel. Le MCP Publora existe aussi (docs.publora.com/guides/mcp-server) : optionnel, les scripts passent par l'API.
- Cookies Sales Navigator pour Apify (facultatif, seulement si l'utilisateur veut l'actor
curious_coder/linkedin-sales-navigator-search-scraper) : pip3 install browser_cookie3, puis python3 10_Skills/connecter-outils/scripts/rafraichir_cookies_linkedin.py --check. Le script lit les cookies LinkedIn de tous les profils Chrome, Arc, Brave et Edge (le trousseau du système demande une autorisation la première fois : "Toujours autoriser"), retient la session Sales Navigator (cookie li_a) et construit le user agent depuis la version réelle du navigateur. Si plusieurs comptes LinkedIn sont ouverts, écrire LINKEDIN_CHROME_ACCOUNT= dans .env. Ensuite plus rien à faire : trouver-personnes et trouver-entreprises relancent ce script avant chaque run Apify Sales Navigator, et écrivent le résultat dans .linkedin-cookies.json à la racine (ignoré par git). Sans browser_cookie3 (Firefox, Safari, machine partagée) : exporter tous les cookies avec l'extension Cookie-Editor dans un fichier hors du dépôt, écrire son chemin dans LINKEDIN_COOKIES_FILE et le user agent exact du navigateur dans LINKEDIN_USER_AGENT. Un user agent qui ne correspond pas au navigateur qui a émis les cookies (par exemple Chrome/145 alors que Chrome est en 153) fait renouveler la session par LinkedIn : la page 1 passe, la page 2 répond "Cookies are expired". Jamais de cookie dans le chat.
- Demandez le canal LinkedIn voulu (Unipile avec le compte de l'utilisateur, ou Lemlist multicanal),
puis écrivez tout : python3 scripts/verifier_connexions.py --ecrire-outils --canal-linkedin unipile.
- Résumez l'état des 7 outils (et des 3 optionnels) et proposez un seul next step :
installer-gtmsi05_Departements/Go-to-Market/contexte.mda
encore des crochets, sinon "on construit votre première liste".
Garde-fous
- Ne jamais afficher, répéter ni logger une clé.
--setécrit sans écho ; les scripts lisent.env. - Un test échoue : corriger tout de suite avec l'utilisateur (clé recopiée sans espace, DSN avec
https://), ne pas passer à l'outil suivant tant que ce n'est pas réglé, sauf s'il veut sauter.
- Aucun run Apify pendant la connexion : le test du token est gratuit, les cookies Sales Navigator
ne sont pas testés (un test serait un run payant), ils sont seulement vérifiés présents.
05_Departements/Go-to-Market/OUTILS.mdet.envne sont modifiés que par ce skill etinstaller-gtm.- Compte LinkedIn récent ou déjà restreint : proposez d'écrire
LIMITE_INVITATIONS_JOUR=15dans
.env, envoyer-sequence la lit (plafond dur 30).
Erreurs fréquentes
| Symptôme | Cause | Fix | |---|---|---| | Unipile : compte en statut CREDENTIALS | LinkedIn a demandé une revalidation | refaire la connexion du compte dans le dashboard, relancer le test | | Unipile : 401 | DSN sans https:// ou token d'un autre workspace | corriger UNIPILE_DSN, régénérer le token | | Apify : HTTP 401 | token incomplet | recopier depuis la page Integrations | | FullEnrich ou Crustdata : 402 | solde à zéro | recharger, l'outil reste coché mais le solde est noté dans OUTILS.md | | Lemlist MCP "Needs authentication" | OAuth pas terminé | lancer un outil Lemlist de lecture (get_team_info), valider dans le navigateur | | HubSpot : 403 | scopes manquants sur l'app privée | ajouter les scopes contacts et companies, régénérer le token | | OUTILS.md introuvable | script lancé hors du module GTM | lancer depuis 10_Skills/connecter-outils/scripts/ du module GTM |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: hugrowth98
- Source: hugrowth98/superfounder-os
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.