| name | daily |
| description | Routine quotidienne de prospection commerciale. Check inbox (mail + LinkedIn),
traite les nouvelles connexions, fait les relances, ajoute des prospects au pipe.
~30-40 minutes chaque matin.
Triggers: /daily, "routine du matin", "prospection du jour", "quoi de neuf",
"bonjour", debut de session.
Utilise les outils : Email + Calendrier (port .claude/skills/email/SKILL.md),
LinkedIn (.claude/skills/linkedin/workflows/linkedin.md),
Messagerie (.claude/skills/linkedin/workflows/messaging.md),
CRM (port .claude/skills/crm/SKILL.md).
|
/daily — Routine quotidienne
Chaque matin, meme process. L'objectif c'est d'avoir fait toutes ses actions
commerciales en 30-40 minutes, puis passer a autre chose.
Etape 0 — Briefing (2 min)
Scanner le CRM et poser le contexte de la journee.
- Lire
CLAUDE.md pour rappeler le pipeline et les regles
- Noter la date du jour et le jour de la semaine
- Snapshot pipeline : compter les contacts par statut
- Follow-ups dus : contacts avec
Next <= aujourd'hui
- Meetings a venir : contacts au statut "RDV pris" ou equivalent
Afficher :
Bonjour [Prenom] :)
[Jour, Date]
## Pipeline
- [Statut 1] : X | [Statut 2] : X | [Statut 3] : X
- Total actif : X contacts
## Aujourd'hui
- X follow-ups en retard
- X meetings a preparer
- [Suggestion contextuelle]
On attaque ?
Suggestions contextuelles :
- Lundi : "Nouvelle semaine, on planifie les actions"
- Jour de bilan (voir CLAUDE.md) : "C'est ton jour de bilan, on fait le
/weekly apres la routine ?"
- Pipeline vide (< 5 actifs) : "Le pipe est light, on va forcer sur les invitations aujourd'hui"
- Follow-ups > 3 jours de retard : "X contacts oublies depuis plus de 3 jours"
ATTENDRE que l'utilisateur confirme avant de continuer.
Etape 1 — Check inbox (5-10 min)
1a. Mails (via le skill email)
Passer par le skill .claude/skills/email/SKILL.md : il lit le provider actif dans
CLAUDE.md > Outils actifs et suit son adapter. Operation :
list-inbox(unread_only=true, limit=50) sur chaque compte declare. Ne jamais appeler
un provider en dur ici.
Classer chaque mail non-lu :
| Categorie | Action |
|---|
| Reponse prospect | Lire le detail, matcher avec le CRM, proposer un draft |
| Admin / ops | Resume en 1 ligne |
| Notif / newsletter / spam | Compter, ignorer |
Pour chaque reponse prospect :
- Lire le mail complet (port email :
get(message_id))
- Chercher l'expediteur dans le CRM (port
.claude/skills/crm/SKILL.md)
- Proposer un draft de reponse (style de
knowledge/tone-of-voice.md)
- Si proposition de RDV : checker la dispo d'abord (port email :
list-events(from,to))
- Montrer le draft, attendre validation avant envoi (port email :
send(...))
1b. Messages LinkedIn
python .claude/skills/linkedin/scripts/messaging_client.py chats --provider LINKEDIN --limit 20
Identifier les messages non lus, lire le contenu :
python .claude/skills/linkedin/scripts/messaging_client.py messages CHAT_ID --limit 10
Cross-referencer avec le CRM. Proposer une reponse pour chaque message recu
(objectif = decrocher un RDV). Montrer chaque message pour validation.
Output etape 1
## Inbox
- Mails : X non-lus (Y prospects, Z admin, W ignores)
- LinkedIn : X conversations actives
### Reponses prospects
1. [Nom] ([Entreprise]) — [canal] — [resume]
Draft : [message propose]
→ Envoyer ? (oui / modifier / passer)
Etape 2 — Nouvelles connexions LinkedIn (5 min)
Recuperer les connexions recentes :
import sys; sys.path.insert(0, '.claude/skills/linkedin/scripts')
from linkedin_client import UnipileLinkedInClient
client = UnipileLinkedInClient()
contacts = client.get_contacts(limit=50)
Cross-referencer avec le CRM (contacts au statut "Invitation" ou equivalent).
Normaliser les noms (accents, casse) avant de comparer.
Pour chaque nouvelle acceptation :
- Lire
knowledge/tone-of-voice.md pour le style
- Rediger un premier message personnalise (setting message)
- Montrer pour validation
- Envoyer via
.claude/skills/linkedin/workflows/messaging.md (guillemets simples obligatoires)
- Mettre a jour le CRM : statut → "Connecte", Dernier contact = aujourd'hui
Output etape 2
## Nouvelles connexions
X nouvelles acceptations :
1. [Nom] ([Entreprise]) — message propose : "..."
→ Envoyer ? (oui / modifier / passer)
Etape 3 — Relances (10 min)
Query le CRM : Next <= aujourd'hui ET statut dans les etapes actives du pipeline.
Trier par date Next ascendante (les plus en retard d'abord).
Pour chaque contact :
- Lire les Notes CRM pour le contexte
- Determiner le canal (LinkedIn si connecte, email sinon)
- Rediger un message de relance :
- Court (3-5 lignes max)
- Dans le ton du fondateur (
knowledge/tone-of-voice.md)
- Reference au dernier echange
- Finit par une question ou une proposition concrete
- Pas de tirets cadratins, accents obligatoires
- Montrer pour validation
- Envoyer via le canal appropriate (LinkedIn :
.claude/skills/linkedin/workflows/messaging.md — Email : port .claude/skills/email/SKILL.md)
- Mettre a jour le CRM : Dernier contact, Next, Notes
Si un contact a atteint le max de follow-ups (voir CLAUDE.md) → proposer "Perdu" ou "Nurturing".
Output etape 3
## Relances
X contacts a relancer :
1. [Nom] ([Entreprise]) — [canal] — dernier contact il y a X jours
Message : "..."
→ Envoyer ? (oui / modifier / passer)
Etape 4 — Invitations LinkedIn (5-10 min)
Remplir le pipe avec de nouveaux prospects.
- Query CRM : contacts au statut "Pool", limit 20
- Pour chaque contact :
- Verifier qu'on a un LinkedIn profile ID ou URL
- Verifier si on est DEJA connecte :
client.get_profile(slug) → network_distance
- Si FIRST_DEGREE → passer a "Connecte" + envoyer un message (etape 2 logic)
- Sinon → invitation SANS note (meilleur taux d'acceptation)
- Montrer la liste pour validation groupee
- Envoyer les invitations via
.claude/skills/linkedin/workflows/linkedin.md
- Mettre a jour le CRM : statut → "Invitation", Dernier contact = aujourd'hui
Limites LinkedIn
- Max 20 invitations/jour, ~100/semaine
- Respecter un delai de quelques secondes entre chaque action
- TOUJOURS demander confirmation avant d'envoyer
Output etape 4
## Invitations
X invitations a envoyer :
1. [Nom] ([Entreprise]) — [titre]
2. [Nom] ([Entreprise]) — [titre]
...
Envoyer les X invitations ? (oui / modifier la liste / annuler)
Etape 5 — Resume (1 min)
## Routine terminee — X minutes
| Action | Nombre |
|--------|--------|
| Mails prospects traites | X |
| Messages LinkedIn traites | X |
| Setting messages envoyes | X |
| Relances envoyees | X |
| Invitations envoyees | X/20 |
Prochaines actions :
- [contacts avec Next demain]
- [meetings a preparer]
- Quota invitations restant cette semaine : X
Regles
- JAMAIS envoyer sans validation du fondateur — chaque message est montre avant envoi
- Etape par etape — finir une etape avant de passer a la suivante
- CRM = source de verite — toujours lire avant d'agir, toujours mettre a jour apres
- Pas de triage automatique en tache de fond — c'est une routine humaine assistee
- Si le fondateur est presse : proposer de skip les etapes non-critiques
- Tolerance aux pannes — si un canal (mail, LinkedIn, CRM) est indisponible
au runtime, noter « X indisponible » et continuer la routine. Ne jamais
bloquer toute la routine sur l'echec d'une seule source.
Si pas de Pack Pro
Sans Unipile, les etapes 1b, 2, 4 sont desactivees. La routine se reduit a :
- Etape 0 : briefing CRM
- Etape 3 : relances (messages a copier-coller manuellement)
Le fondateur peut quand meme utiliser /prep-meeting et /bilan normalement.