Synthèse automatique
Exécute en une seule passe le tri de la boîte de recherche d'emploi de Jason Carney, à la fois sur son Gmail personnel et sur l'adresse ops@canido.co qui y est redirigée.
Points forts
- Couvre deux adresses en un seul passage grâce au connecteur Gmail existant, avec un rapport combiné plutôt que deux rapports séparés
- Applique des règles explicites et déterministes : le 100 % remote est éliminatoire, les domaines blacklistés et le spam déguisé en offre sont supprimés d'office
- Rédige les réponses (qualification ou pitch complet) sans jamais les envoyer, laissant la validation à l'utilisateur
- Distingue clairement l'action de tri (mailrun) du rapport de statut en lecture seule (/sitrep)
Limites
- Skill fortement lié à une seule personne : adresses, domaines blacklistés et historique sont codés en dur, donc peu réutilisable tel quel
- Le traitement « depuis le dernier passage » n'est pas outillé : aucun mécanisme de stockage d'état n'est décrit
- Laisse volontairement de côté les digests d'alertes (Indeed, LinkedIn, TheLadders…) et les fils Upwork/Fiverr, qui restent non triés
Quand Jason veut que sa boîte soit réellement traitée — junk supprimé, offres sur site écartées, réponses rédigées — et pas seulement un état des lieux.
Pour la boîte d'une autre personne, ou lorsqu'un simple rapport de statut en lecture seule est souhaité (utiliser /sitrep).
Analyse de sécurité
PrudenceNo exfiltration, obfuscation, or destructive shell activity; the skill uses a Gmail connector, Smartsheet, and memory files for a legitimate, well-scoped job-search triage purpose, and explicitly forbids sending mail. However it does instruct automated deletion of email based on model judgment, maintains a growing wildcard-domain blacklist the model is told to expand itself, and hardcodes personal addresses/IDs, so it warrants 'caution' rather than 'safe'.
- •Skill performs destructive mailbox actions (trashing threads) automatically, on a model-judged basis, with no confirmation step before deletion.
- •Hardcoded personal identifiers (jasonbrookecarney@gmail.com, ops@canido.co, name, Smartsheet sheet_id 1621144942628740) embedded in the instruction file.
- •Self-extending deletion policy: instructs the agent to 'watch for new domains matching the same vague-urgency-bait pattern; flag and add them to this list going forward,' delegating blacklist growth to model discretion, which can silently widen the set of auto-trashed mail.
- •Wildcard domain blacklists (robly.com, arcamax.com 'all subdomains') risk collateral deletion of legitimate mail from those domains.
- •Broad trigger: fires on any message containing the bare word 'mailrun', which could activate inbox-modifying behavior unintentionally in an unrelated context.
- •Touches two logical inboxes and writes to external systems (Smartsheet, /areas/job-search.md) in one pass; blast radius is larger than a read-only triage.
- •Mitigating: replies are explicitly draft-only ('never send'), onsite/hybrid threads are left untouched, Upwork/Fiverr excluded, and no shell/network exfiltration, curl|sh, rm -rf, base64 payloads, or safety-disabling instructions are present.
Exemples
mailrun/mailrun — work my inbox and give me the combined summaryRun mailrun and tell me what came into ops@canido.co since the last passname: "mailrun" description: "Run Jason Carney's job-search inbox triage across both his personal Gmail (jasonbrookecarney@gmail.com) and his dedicated ops@canido.co inbox (which forwards into that same Gmail account) in a single pass. Trigger whenever the user's message is or contains the word "mailrun" (case-insensitive) or the command "/mailrun" — e.g. "mailrun", "run mailrun", "/mailrun". This is a separate skill from /sitrep — sitrep reports status, mailrun performs the triage action itself (trashing junk, hard-disqualifying onsite/hybrid leads, drafting replies for review)."
MAILRUN — Combined Inbox Triage (Gmail + ops@canido.co)
Trigger: the user's message contains "mailrun" (any case) or the command "/mailrun", either alone or embedded in a longer message. Do not confuse this with /sitrep — sitrep is a read-only status report; mailrun actively works the inbox.
Context
Jason Carney (jasonbrookecarney@gmail.com, calls the assistant "Bilbi") runs an active job search out of his personal Gmail. On 2026-08-04 he also set up a dedicated mailbox, ops@canido.co, specifically as an assistant-managed inbox ("everything to do with you") — it's configured to forward all incoming mail into jasonbrookecarney@gmail.com, so both addresses are reachable through the single existing Gmail connector. No separate mail connector or credential is needed; forwarded mail just shows up in the same Gmail inbox addressed to ops@canido.co.
What mailrun does, in order
- Primary inbox triage (jasonbrookecarney@gmail.com) — run the established job-search triage rules (below) against inbox threads that haven't been triaged since the last mailrun/manual pass.
- ops@canido.co check — search Gmail for mail addressed to ops@canido.co (e.g.
to:ops@canido.coordeliveredto:ops@canido.co) received since the last check. This inbox is new and not necessarily job-lead traffic — it may contain things Jason has routed directly to the assistant (files, notes, forwarded shares). Summarize what's there plainly rather than auto-applying trash/draft logic, UNLESS a message clearly matches the job-lead pattern (real recruiter, real JD), in which case handle it exactly like the primary inbox. - Report one combined summary at the end (see Output below) — don't produce two separate disconnected reports.
Established triage rules (apply to the primary inbox, and to any ops@canido.co item that is clearly a job lead)
- 100% remote is a hard requirement. Onsite/hybrid roles are hard-disqualified: leave the thread completely untouched — no reply, no trash, no label.
- Direct recruiter/hiring-manager emails with a real job description go through the full flow: evaluate fit, then draft (never send) either a qualifying reply (key details like remote status/comp/end client are missing) or a full pitch reply (the lead is strong and well-specified).
- Spam dressed up as job leads (vague urgency, no named employer/role, "interview ASAP"/"we found jobs near you" bait) gets trashed on sight.
- Blacklisted sender domains get trashed wholesale on sight: robly.com (wildcard — all subdomains), arcamax.com (wildcard), dayinhist.io, financialassistpro.com, loanboostexpress.com, storyfunder.com, leadleaplaunch.com, alerts.myjobhelper.com, send.hellohiring.com, ourjob.net, getacareer.co.uk, pizzazzy.net, yoursmrtadvnces.com, rent2ownship.com, plus job-alert digest senders (alerts@ziprecruiter.com, obs@alerts.jobot.com, amtrak-jobnotification@noreply.jobs2web.com, jobalert@lensa.com). Watch for new domains matching the same vague-urgency-bait pattern; flag and add them to this list going forward.
- Indeed-style/LinkedIn/TheLadders/Wellfound/Obra digest alerts are left untouched (out of scope for this flow — no single reply target/JD).
- Upwork and Fiverr threads are always left completely untouched — Jason handles those himself as separate side projects; do not triage, trash, or draft anything in them.
- The assistant drafts replies for Jason to review and send himself — never send directly.
- Log every newly-drafted lead into the Smartsheet "Job Search Tracker" (sheet_id 1621144942628740) using the existing column conventions (Company = staffing/recruiting firm that made contact, Client = the named end client when different), and append a summary of the run to the
/areas/job-search.mdmemory file.
Output
At the end of a mailrun pass, report (short lines, no fluff — same tone as sitrep):
- How many threads were reviewed, broken out by primary inbox vs. ops@canido.co
- What was trashed (sender/domain)
- What was hard-disqualified (onsite/hybrid, left untouched) — company/role/location
- What was drafted (company, role, qualifying vs. pitch) — remind Jason these are drafts only, nothing was sent, and he still needs to attach a tailored resume before sending if one wasn't attached
- Anything flagged but not acted on (needs a tailored resume build, a personal callback, a status-only update, etc.)
- Anything unusual or notable found specifically in ops@canido.co, since that inbox's purpose is still being defined day to day
Deliver via SendUserMessage.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/mailrun-inbox-triage-msh3uu7o/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/mailrun-inbox-triage-msh3uu7o' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/mailrun-inbox-triage-msh3uu7o/download' --output '.skill-downloads/mailrun-inbox-triage-msh3uu7o/SKILL.md.part' && mv '.skill-downloads/mailrun-inbox-triage-msh3uu7o/SKILL.md.part' '.skill-downloads/mailrun-inbox-triage-msh3uu7o/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/mailrun-inbox-triage-msh3uu7o/SKILL.md' && test -s '.skill-downloads/mailrun-inbox-triage-msh3uu7o/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/mailrun' && cp -R '.skill-downloads/mailrun-inbox-triage-msh3uu7o' '.claude/skills/mailrun'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/mailrun-inbox-triage-msh3uu7o'openskills read 'mailrun-inbox-triage-msh3uu7o'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/mailrun-inbox-triage-msh3uu7o/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Lecteur PDF
Productivite
Lit et extrait le texte de fichiers PDF (rapports, contrats, tableurs). Gère les fichiers locaux, les URL et les pièces jointes WhatsApp. Utilisez-le dès qu'un contenu PDF est nécessaire, même sans demande explicite.
Workflows de messagerie Discord
Productivite
Utilisez l'outil message pour envoyer, modifier et modérer des messages Discord avec des composants interactifs.
Aperçu interactif des verdicts
Productivite
Générer un aperçu HTML interactif des verdicts (garder/supprimer) pour la revue par le mainteneur, puis traiter le JSON de retour.