Keeps AI model pricing information current and documented within the Chatty repository.

Install

mkdir -p .claude/skills/price-check && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12033" && unzip -o skill.zip -d .claude/skills/price-check && rm skill.zip

Installs to .claude/skills/price-check

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

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.
291 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Fetch current AI model pricing from official provider pages
  • Diff fetched rates against current MODEL_PRICING
  • Update pricing.py with new model rates and sources
  • Regenerate PRICING.md from updated pricing.py
  • Report a concise diff table to the user

How it works

This skill fetches current AI model pricing from official provider pages, compares it to existing data, updates the internal pricing configuration, and regenerates the PRICING.md report. It operates only within the Chatty repo.

Inputs & outputs

You give it
Request to check or refresh model pricing
You get back
Updated pricing.py, regenerated PRICING.md, and a pricing diff report

When to use price-check

  • Updating model costs after a provider change
  • Verifying pricing dashboard accuracy
  • PR maintenance for model updates

About this skill

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.

When not to use it

  • When not inside the Chatty repo
  • When pricing was already verified earlier in the current chat
  • When not needing to update model pricing

Limitations

  • Only operates inside the Chatty repo
  • Skips re-fetching if pricing was already verified in the current chat
  • Does not fabricate rates if not found on official pages

How it compares

This workflow ensures AI model pricing is kept current and accurate by directly fetching from official sources and updating internal configurations, unlike manual price tracking.

Compared to similar skills

price-check side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
price-check (this skill)01moNo flagsIntermediate
dbt-transformation-patterns62moNo flagsIntermediate
skills05moReviewBeginner
MinerU Document Extractor03moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry