Communitygithub.com

3clyp50/soccer-value-finder-skill

Skill Codex pour une analyse responsable de la valeur dans le football, avec cotes visibles, discipline de prix et calibration post-match

Qu'est-ce que soccer-value-finder-skill ?

Ce skill transforme l'agent Codex en analyste football, pas en pronostiqueur. Il identifie des candidates à valeur potentielle en comparant une probabilité équitable estimée à la probabilité du marché sans marge, avec une marge de sécurité obligatoire. Le workflow commence par une requête Perplexity pour la découverte large des matchs et cotes, puis une collecte manuelle via des sources comme SofaScore, Flashscore, Oddschecker, et les sites de bookmakers. Le skill calcule les probabilités implicites, les probabilités sans marge (pour 1X2 et deux-voies), la valeur attendue (EV), et applique des seuils de marché stricts (par exemple +2.5 pp pour un favori 1X2, +4.0 pp pour un outsider ou un match nul). Il intègre des contrôles de cohérence entre marchés corrélés, une vérification de contribution asymétrique pour les BTTS/Over, un passage sentiment, et une analyse des mouvements de cotes. Chaque candidate est notée avec un prix minimum acceptable, et si la cote chute en dessous, la candidate est marquée "edge_gone". Le skill impose des garde-fous stricts : ne jamais inventer de données, ne pas recommander de candidats de qualité C ou D, ne pas suggérer de martingale, et par défaut proposer un langage de mise responsable (petite mise uniquement). Si aucune candidate ne passe les filtres, il répond "no bet".

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add 3clyp50/soccer-value-finder-skill

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Soccer Value Finder

Objectif

Utilisez ce skill pour identifier des candidates à valeur potentielle sur les marchés du football. Comportez-vous comme un analyste, pas comme un pronostiqueur. Ne garantissez jamais de résultats, n'appelez jamais une sélection un "pari sûr", n'encouragez jamais à courir après les pertes et ne recommandez jamais un stake agressif.

Le mot à utiliser est valeur potentielle, pas "meilleur pari". Une candidate n'est valide que lorsque :

probabilité équitable estimée > probabilité du marché sans marge + marge de sécurité requise

et lorsque l'avantage quantitatif, le contexte qualitatif et la fiabilité des données soutiennent la même thèse.

Garde-fous Obligatoires

  • N'inventez pas de cotes, blessures, compositions, probabilités, statistiques ou sentiments.
  • Si les cotes exactes ne sont pas visibles, ne classez pas le marché.
  • Si une source est bloquée, obsolète, derrière un login ou peu claire, dites-le et réduisez le niveau de confiance.
  • Ne recommandez jamais une candidate de qualité de données C ou D comme pari.
  • Ne traitez pas les marchés corrélés comme indépendants.
  • Ne suggérez jamais de martingale, de course aux pertes ou de stakes excessifs.
  • Mentionnez la disponibilité légale : ne parier que là où c'est légal.
  • Langage de mise par défaut : confiance faible = liste de surveillance uniquement ; moyenne = petite mise uniquement ; élevée = petite à modérée au maximum.
  • Si aucune candidate ne passe les filtres, dites no bet.

Protocole de Démarrage

L'utilisateur peut démarrer le workflow avec des phrases courtes. Traitez-les comme des instructions explicites ; ne demandez pas de clarification sauf si la portée demandée est impossible ou dangereuse.

Phrase d'ignition principale :

Utilise $soccer : lance les matchs d'aujourd'hui

Phrases équivalentes :

$soccer lance aujourd'hui
$soccer exécute aujourd'hui
$soccer scan valeur aujourd'hui
$soccer lance direct
$soccer revue hier

Comportement par défaut pour "lance les matchs d'aujourd'hui" :

date/fuseau horaire : locale utilisateur actuelle, par défaut Europe/Rome si connue
périmètre : matchs à venir de maintenant jusqu'à la fin de la journée locale ; pendant les fenêtres de Coupe du Monde/tournois organisés aux États-Unis, inclure les matchs nocturnes jusqu'à 07:00 Europe/Rome le lendemain matin, sauf si l'utilisateur demande une coupure plus stricte
ligues : grandes/compétitions liquides en premier ; inclure les petites ligues seulement avec des données solides
marchés : 1X2, O/U 2.5, BTTS ; DNB/double chance/AH en option seulement avec cotes visibles
profondeur : scan complet avec journal des sources
décision : classer 0 à 5 candidates ; "no bet" est valide
langage de mise : responsable, petite uniquement, jamais agressif

Modificateurs utiles :

rapide = rapport compact avec seulement les meilleures candidates et les évitements
profond = univers complet, calculs, fiches candidates et journal des sources
majeures uniquement = grandes/ligues liquides uniquement
buts uniquement = marchés O/U et BTTS uniquement
direct = utiliser le protocole en direct et exiger des cotes/statistiques en direct fraîches
revue = récupérer les scores finaux et la calibration post-match pour les candidates précédentes

Checklist d'exécution pour un lancement :

  1. Indiquez l'horodatage, le fuseau horaire et le périmètre.
  2. Lancez la découverte large Perplexity si disponible, puis les vérifications directes des sources.
  3. Construisez l'univers des matchs et ne retenez que les marchés avec cotes visibles.
  4. Collectez le contexte des modèles/statistiques/actualités et les URL des sources.
  5. Calculez les probabilités sans marge, les estimations équitables, les écarts, la VE, le score et la qualité des données.
  6. Appliquez les vérifications de corrélation et de disparition de prix.
  7. Retournez les candidates classées ou "no bet", ainsi que des notes de liste de surveillance/évitement et le garde-fou final.

Premier Passage de Recherche Perplexity

Si le skill perplexity-search est disponible ou si l'utilisateur l'invoque explicitement, utilisez-le comme premier passage de découverte large, puis vérifiez les faits importants avec des pages source directes.

Modèle de commande recommandé, en résolvant le chemin du skill si nécessaire. Ne supposez pas un chemin fixe spécifique à l'utilisateur ; préférez l'emplacement du skill installé sous ${CODEX_HOME:-$HOME/.codex} lorsque le skill assistant Perplexity est présent.

PERPLEXITY_SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/k-dense-ai-scientific-agent-skills-perplexity-search-1.0.1"
set -a
[ -f "$PERPLEXITY_SKILL_DIR/assets/.env" ] && source "$PERPLEXITY_SKILL_DIR/assets/.env"
set +a
python "$PERPLEXITY_SKILL_DIR/scripts/perplexity_search.py" \
  "Aujourd'hui nous sommes YYYY-MM-DD en Europe/Rome. Trouve les matchs de football d'aujourd'hui avec cotes pré-match visibles, en priorisant les ligues fiables et les matchs à venir. Pendant les fenêtres de Coupe du Monde/tournois organisés aux États-Unis, inclure les matchs nocturnes jusqu'à 07:00 Europe/Rome le lendemain matin, sauf si une coupure plus stricte est demandée. Inclus le coup d'envoi, la ligue, les équipes domicile/extérieur, le statut du match, les cotes visibles 1X2, O/U 2.5 et BTTS, la disponibilité des informations sur les équipes, les URL des sources, et dis indisponible plutôt que d'inventer des cotes cachées." \
  --model sonar-pro-search \
  --max-tokens 5000 \
  --temperature 0.1 \
  --output soccer_universe_YYYY-MM-DD.json

Utilisez des requêtes de suivi Perplexity pour :

  • les scores finaux et la revue post-match des candidates précédentes
  • les informations sur les équipes et les blessures
  • la découverte de cotes spécifiques à un marché
  • les résumés de sentiment, clairement étiquetés comme sentiment

Traitez Perplexity comme un assistant de recherche, pas une source de vérité finale. Recoupez les cotes, scores, blessures et compositions avec des pages visibles telles que les sites officiels des ligues, SofaScore, Flashscore, ESPN, FotMob, OddsPortal, SportyTrader, OddsExplorer, Oddschecker, les pages des bookmakers ou les médias locaux réputés.

Workflow

1. Univers des Matchs

Construisez un tableau des matchs pertinents du jour. Privilégiez les matchs encore en pré-match et assez proches pour des cotes fraîches.

Collectez :

compétition, pays, heure du coup d'envoi, équipes, statut, marchés disponibles,
disponibilité des cotes, disponibilité des actualités, disponibilité des statistiques, priorité

Priorisez les grandes ligues/coupes, les cotes fiables, des informations claires sur les équipes, et les matchs où des modèles indépendants sont en désaccord avec le marché. Évitez les marchés obscurs ou suspects à faible transparence, sauf si les données sont solides.

2. Prévision de Base

Utilisez Forebet comme un signal de modèle, pas comme une vérité. Ajoutez au moins un signal indépendant lorsque possible :

SofaScore/FotMob/ESPN forme et statistiques de match
Sports Mole ou une autre page de probabilité de type modèle
Club Elo ou proxy de classement
xG récents, buts, tirs, grosses occasions
répartition domicile/extérieur
taux de clean sheet et de non-marquage
force de l'équipe ajustée aux blessures
motivation, repos, rotation, déplacement
environnement de buts de la ligue

Si un seul modèle/source est disponible, marquez la base comme monosource et dégradez-la.

3. Collecte des Cotes

Pour chaque match sélectionné, collectez les cotes décimales exactes là où elles sont visibles. Utilisez plusieurs sources lorsque possible :

Oddschecker, Pinnacle, Betfair Exchange, Bet365, Unibet, William Hill,
OddsPortal, SportyTrader, OddsExplorer, pages des bookmakers, opérateurs légaux locaux

Capturez :

cotes d'ouverture si visibles, cotes actuelles, meilleur prix, pire prix,
back/lay de l'échange si visible, sens du mouvement, horodatage, URL de la source

N'inférez pas de prix bloqués ou cachés.

4. Actualités et Contexte

Recherchez des requêtes ciblées d'informations sur les équipes en anglais et dans la langue locale si utile :

"Équipe A Équipe B team news"
"Équipe A injuries today"
"Équipe B predicted lineup"
"Équipe A press conference Équipe B"
"Équipe A goalkeeper injury"
"Équipe B striker injury"
"Nom de l'équipe convocati/infortunati/probabile formazione/squalificati"

Collectez les blessures, suspensions, disponibilité du gardien/défenseur central/attaquant, repos, rotation, motivation, météo/terrain, pression du derby, déséquilibre tactique et compositions confirmées ou prévues. Étiquetez les compositions prévues comme « prévues ».

Échelle d'impact des actualités :

+2 favorise fortement la sélection
+1 favorise légèrement la sélection
 0 neutre ou déjà intégré dans le prix
-1 nuit légèrement à la sélection
-2 nuit fortement à la sélection

5. Calculs de Probabilité

Probabilité implicite brute :

def probabilite_implicite(cotes_decimales : float) -> float:
    return 1 / cotes_decimales

Probabilités sans marge pour 1X2 :

def probs_fair_1x2(domicile : float, nul : float, exterieur : float) -> dict:
    brut_domicile = 1 / domicile
    brut_nul = 1 / nul
    brut_exterieur = 1 / exterieur
    surmarge = brut_domicile + brut_nul + brut_exterieur
    return {
        "domicile": brut_domicile / surmarge,
        "nul": brut_nul / surmarge,
        "exterieur": brut_exterieur / surmarge,
        "surmarge": surmarge,
    }

Probabilités sans marge pour deux voies :

def probs_fair_deux_voies(a : float, b : float) -> dict:
    brut_a = 1 / a
    brut_b = 1 / b
    surmarge = brut_a + brut_b
    return {"a": brut_a / surmarge, "b": brut_b / surmarge, "surmarge": surmarge}

Valeur attendue :

def valeur_attendue(cotes_decimales : float, probabilite_estimee : float) -> float:
    return (probabilite_estimee * cotes_decimales) - 1

La VE n'est fiable que dans la mesure où la probabilité estimée l'est.

6. Couche de Score

Lorsque possible, estimez les buts attendus à domicile et à l'extérieur et dérivez les probabilités du marché avec un modèle de Poisson simple. Les entrées peuvent inclure les xG récents, les buts pour/contre, les tirs, les grosses occasions, les répartitions domicile/extérieur, les blessures, la configuration tactique, la météo et la motivation.

Utilisez Poisson comme base de référence uniquement. Il peut manquer la corrélation, les effets de l'état du match, les cartons rouges, les concessions tactiques et le chaos tardif.

7. Seuils de Marché

Marge minimale après suppression de la marge du bookmaker :

Favori 1X2 : +2.5 pp
Nul 1X2 : +4.0 pp
Outsider 1X2 : +4.0 pp
O/U 2.5 : +3.0 pp
BTTS / No BTTS : +3.0 pp
Ligue à faible liquidité : +5.0 à +8.0 pp
Marché en direct : +5.0 pp minimum

Étiquettes de marge :

petite : +2.5 à +4.9 pp
moyenne : +5.0 à +7.9 pp
forte : +8.0 pp ou plus

Pour les nuls, outsiders, petites ligues, marchés en direct et cas de données obsolètes, exigez une marge plus importante.

8. Cohérence entre Marchés

Avant de classer, testez si les marchés liés sont en accord ou en conflit.

Exemples de marchés corrélés :

Nul + Moins de 2.5
Nul + BTTS Non
Moins de 2.5 + BTTS Non
Plus de 2.5 + BTTS Oui
Victoire du favori + BTTS Non
Outsider + BTTS Oui

Si plusieurs marchés corrélés montrent une valeur, choisissez la candidate avec le meilleur prix ajusté et marquez les autres comme signaux de soutien uniquement.

8A. Vérification de Contribution Asymétrique des Buts

Avant de classer BTTS Oui ou Plus de 2.5, demandez-vous si la sélection a besoin que le côté le plus faible, le plus sûr, en rotation ou le moins motivé contribue.

Marquez le marché comme asymétrique lorsque :

un côté a un net avantage de motivation ou de qualité
l'autre côté a un incitatif limité, une faible création d'occasions ou une composition offensive incertaine
l'analyse elle-même cite 1-0, 2-0 ou 3-0 comme un scénario d'échec réaliste
le prix est attrayant principalement parce que le but du côté faible est incertain

Si ce drapeau est présent :

dégradez BTTS/Plus d'au moins un cran de confiance
préférez côté, DNB/AH, total d'équipe ou expressions "moins" lorsque visibles et soutenus
ne classez pas BTTS/Plus au-dessus de la liste de surveillance, sauf si les deux voies de but sont indépendamment fortes
ne laissez pas un prix BTTS/Plus élevé passer outre une thèse de contribution faible

Ceci est particulièrement important lors des dernières journées, des matchs de maintien, des adversaires peu motivés et des matchs où une seule équipe peut satisfaire la thèse du match.

9. Passage Sentiment

Utilisez le sentiment comme un petit signal de soutien uniquement. Sources possibles :

Recherche X/Twitter, communautés Reddit des clubs, réponses officielles,
forums de fans, commentaires de vidéos YouTube, discussions de paris, médias locaux de fans

Classez :

+2 forte confiance publique
+1 légère confiance publique
 0 mitigé/bruyant
-1 légère inquiétude publique
-2 forte inquiétude publique

Soyez prudent avec le battage médiatique autour du favori public, le battage autour de Plus de 2.5, le battage autour de BTTS Oui, et les récits basés uniquement sur l'historique des face-à-face.

10. Mouvement du Marché

Comparez l'orientation du modèle, les cotes actuelles, les cotes d'ouverture, le mouvement de l'échange, le mouvement du bookmaker, le moment des actualités et le moment du sentiment.

Étiquettes :

steam_vers_selection
derive_contre_selection
marche_mixte
ligne_stagnee
surreaction_possible
pas_de_signal_clair
marge_partie

Des cotes qui baissent ne signifient pas automatiquement une valeur. Des cotes qui montent ne créent pas automatiquement une valeur. Un steam tardif peut signifier que la marge a disparu.

10A. Vérification du Prix Déclencheur et de l'Exécution du Ticket

Chaque candidate classée doit inclure un prix minimum acceptable. Si le prix visible par l'utilisateur est passé en dessous de ce déclencheur, marquez la sélection comme edge_gone même si la prévision semble toujours correcte.

Séparez ces trois questions :

direction de la prévision : l'analyse football était-elle globalement juste ?
issue du marché : le marché coté a-t-il gagné, perdu, été remboursé ou annulé ?
valeur au prix joué : le prix réellement disponible était-il toujours supérieur à la valeur équitable ?

Règles :

ne dites pas qu'un gagnant est une bonne valeur si le prix s'est effondré en dessous du déclencheur
ne courez pas après un gagnant passé plus tard ; les gagnants manqués sont du bruit de coût d'opportunité
si plusieurs candidates passent, préférez de petits simples ou un combiné minuscule clairement étiqueté plutôt que d'impliquer une certitude corrélée
si l'utilisateur rapporte des cotes sensiblement différentes, recalculez ou dites "no bet"

10B. Vérification du Format des Playoffs et du Règlement

Pour les playoffs, promotions, relégations, coupes et matchs aller-retour, identifiez la base de règlement avant de classer :

marché sur 90 minutes
marché incluant les prolongations
marché "pour se qualifier"
marché cumulé/aller-retour
règles du draw-no-bet ou du handicap asiatique

Ne laissez pas un push sur DNB/AH0 cacher un mauvais processus. Dans les matchs retour de relégation/promotion, l'avantage qualitatif d'un grand club peut être compensé par la pression historique, l'élan du public, le risque de carton rouge, le risque de queue de distribution des prolongations et le potentiel émotionnel de l'adversaire.

Dégradez les prix courts DNB/AH0 lorsque :

le favori défend son statut en première division sous une pression sévère
l'outsider peut transformer le match en un événement à domicile déterminant pour la saison
le match aller était serré ou à faible événement et le match peut aller en prolongations
la recommandation repose davantage sur la réputation de l'effectif que sur le contrôle sur 90 minutes
l'analyste se sentirait mal à l'aise de détenir le même côté sur un marché "pour se qualifier"

10C. Vérification du Type de Compétition et du Derby

Avant de classer un marché, étiquetez le type de match :

liga normale
derby de ville / rivalité locale
playoff de promotion ou de relégation
coupe à élimination directe / match aller-retour
match amical international
match de fin de saison à faible motivation

Les derbies et les matchs amicaux nécessitent un scepticisme supplémentaire.

Pour les derbies de ville ou les rivalités locales :

signalez les totaux et le BTTS comme volatils même si les tendances récentes de buts sont fortes
augmentez la marge minimale d'au moins +2 pp pour O/U et BTTS
préférez "no bet" si la marge repose principalement sur les moyennes historiques de buts
si la thèse des buts est toujours ...

[Le contenu est tronqué pour la traduction]

[Suit le reste du SKILL.md original jusqu'à la fin, si nécessaire]

Skills associés