Vérification des prix des modèles

VérifiéSûr

Vérifie et met à jour les prix des modèles d'IA dans pricing.py à partir des pages officielles, et régénère PRICING.md. À exécuter lors des PRs touchant aux fournisseurs ou à l'utilisation.

Spar Skills Guide Bot
DeveloppementIntermédiaire
22/07/2026
Claude Code
#pricing#ai-models#cost-tracking#repo-maintenance#documentation-generation

Recommandé pour

Synthèse automatique

Vérifie les tarifs par token des modèles IA auprès des pages officielles des fournisseurs, met à jour backend/core/providers/pricing.py et régénère le rapport PRICING.md, uniquement dans le dépôt Chatty.

Points forts

  • Applique deux garde-fous explicites : refus d'agir hors du dépôt Chatty et saut du re-fetch si les prix ont déjà été vérifiés dans la conversation en cours.
  • Interdit toute invention de tarif : un modèle absent de la page officielle est laissé hors de MODEL_PRICING et signalé comme « unknown » plutôt que deviné.
  • Génère PRICING.md à partir du code mis à jour (avec URL source et date de vérification par modèle) au lieu de laisser diverger des chiffres saisis à la main.
  • Couvre aussi les modèles dynamiques récemment apparus, via l'union des clés existantes et des listes de modèles des fournisseurs.

Limites

  • Fortement lié au dépôt Chatty : chemins de fichiers, fournisseurs et garde-fou d'identité sont codés en dur, donc peu réutilisable ailleurs.
  • Dépend de WebFetch sur quatre pages de tarification dont la structure peut changer ou devenir inaccessible, ce qui peut rendre des modèles « unverifiable ».
  • Ne couvre que le tier STANDARD et les fournisseurs listés (Anthropic, OpenAI, Google, Together) ; les autres tiers ou fournisseurs restent non traités.
Quand l'utiliser

À lancer lors de toute PR qui ajoute ou modifie des modèles, touche core/providers/ ou core/agents/usage/, ou sur demande explicite de vérification des prix.

Quand l'éviter

À ne pas utiliser en dehors du dépôt Chatty, ni lorsqu'il faut des tarifs pour des fournisseurs ou des paliers de facturation non couverts par le skill.

Analyse de sécurité

Sûr
Score qualité82/100

The skill is narrowly scoped to the Chatty repository and only edits pricing metadata files. It explicitly forbids secret handling, avoids destructive commands, and uses network access solely to read public pricing pages. The automatic git commit is a mild operational concern but not a security risk.

Points d'attention
  • •Automatically commits changes to git without an explicit user confirmation step, though it is guarded to a specific repo and files.
  • •Uses WebFetch against external pricing pages and may call local provider model-list endpoints if credentials are configured, but does not send secrets out.
Comment cette analyse est faite

Exemples

PR check
I just added Gemini 2.5 Flash to the provider model list — run price-check and show me the diff table before I open the PR.
On-demand refresh
Check prices: is our model pricing current? Refresh pricing.py and PRICING.md if anything changed.
Unknown model handling
Is pricing current? If any model's rate isn't on the official page, leave it out and tell me which ones are unknown.

name: price-check description: Verify and refresh AI model pricing in Chatty's pricing.py from official provider pricing pages, and regenerate PRICING.md. Run during any PR that touches providers or usage. Skips re-fetching if pricing was already verified earlier in the current chat. Only operates inside the Chatty repo.

price-check

Keeps backend/core/providers/pricing.py (MODEL_PRICING + PRICING_SOURCES) current with published per-token rates and regenerates the reviewable report backend/core/providers/PRICING.md. No provider's models API exposes price, so this skill is the maintenance mechanism that keeps the usage/cost dashboard accurate as new models are added dynamically.

When to run

  • During any PR that adds/changes models or touches core/providers/ or core/agents/usage/ (required by the project CLAUDE.md → Model Pricing).
  • On request: "check prices", "refresh model pricing", "is pricing current?".

Guard 1 — ship only in the Chatty repo

Before writing or committing anything, confirm this is the Chatty repo:

  • git remote -v contains wwilson1017/chatty, OR
  • CLAUDE.md starts with # Chatty AND backend/core/providers/pricing.py exists.

If neither holds, STOP: report that price-check only runs in the Chatty repo, and make no changes.

Guard 2 — skip if already verified this chat

If model pricing was already fetched/verified earlier in THIS conversation, or backend/core/providers/PRICING.md already shows Last verified: <today> with no pending diff, do NOT re-fetch. Reuse the in-session results and report "already current". Re-fetching wastes calls and risks rate limits.

Procedure

  1. Model set. Union of the keys in MODEL_PRICING and each provider's current model list — the fallback *_MODELS constants, plus (if credentials are configured) what GET /api/providers/{provider}/models returns. This prices newly-surfaced dynamic models, not just legacy ones.
  2. Fetch current STANDARD-tier rates (USD per 1M input / output tokens) via WebFetch from the official pages:
    • Anthropic — https://platform.claude.com/docs/en/about-claude/models/overview
    • OpenAI — https://developers.openai.com/api/docs/pricing
    • Google — https://ai.google.dev/gemini-api/docs/pricing
    • Together — https://www.together.ai/pricing Record tier caveats (e.g. Gemini 2.5 Pro is the ≤200K-prompt tier) in a code comment.
  3. Diff against the current MODEL_PRICING; classify each model: added / changed / unchanged / unverifiable.
  4. Never fabricate. If a model's rate isn't on the official page, leave it OUT of MODEL_PRICING and report it as "unknown" — the usage dashboard already flags unpriced paid models (is_priced / per-agent has_unknown_pricing). Do NOT guess from memory or community posts.
  5. Write backend/core/providers/pricing.py:
    • MODEL_PRICING[model] = (input, output)
    • PRICING_SOURCES[model] = (source_url, "<YYYY-MM-DD>") — use the current session date. Keep proven legacy entries (the dashboard prices historical rows by model id via longest-prefix match).
  6. Regenerate backend/core/providers/PRICING.md from the updated pricing.py (do not hand-author divergent numbers): a header line Last verified: <YYYY-MM-DD> (price-check) followed by a per-provider table model | input $/M | output $/M | source | verified.
  7. Report a concise diff table to the user. When run during a PR, also place the diff in the PR description.

Commit

  • Commit pricing.py and PRICING.md together, e.g. Refresh model pricing (price-check <YYYY-MM-DD>).
  • No Co-Authored-By or "Generated with Claude Code" footers (repo policy).
  • Never commit secrets; never run gcloud secrets/--set-secrets commands.

Notes

  • The session date is authoritative for the verified date — read it from the environment context, don't compute it in code.
  • This skill is committed into the Chatty repo so it travels with the project; it is the canonical place to evolve the pricing-refresh workflow.

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 annexes

Ce 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.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/model-price-check-mrwak9bz/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/model-price-check-mrwak9bz' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/model-price-check-mrwak9bz/download' --output '.skill-downloads/model-price-check-mrwak9bz/SKILL.md.part' && mv '.skill-downloads/model-price-check-mrwak9bz/SKILL.md.part' '.skill-downloads/model-price-check-mrwak9bz/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/model-price-check-mrwak9bz/SKILL.md' && test -s '.skill-downloads/model-price-check-mrwak9bz/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/price-check' && cp -R '.skill-downloads/model-price-check-mrwak9bz' '.claude/skills/price-check'

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’OpenSkills
openskills install './.skill-downloads/model-price-check-mrwak9bz'

openskills read 'model-price-check-mrwak9bz'

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 sync

Mode 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/model-price-check-mrwak9bz/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.

Skills similaires