pricing
Skill228 starsChanged 5 months agoMITView on GitHub
Guide for updating model pricing in Splitrail. Use when adding new AI model costs or updating existing pricing data.
58 other projects use a version of this.
Adopted by
Most recently taken up by
- alpit-patel/seo-aeo-geo-kittheir own version, first seen Nov 8, 2026
- insight68/Skillstheir own version, first seen Nov 8, 2026
- Jakeschincariol/whale-skilltheir own version, first seen Nov 8, 2026
- pixelswithbliss/claude-skillstheir own version, first seen Nov 1, 2026
- salacoste/daytona-seo-notchtheir own version, first seen Nov 1, 2026
- GAPZ787/claude-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use grow-sustainably, processize and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
slavingiaSkillgrow-sustainably
Evaluate business decisions through the lens of sustainable, profitable growth. Use when someone is making decisions about spending, hiring, fundraising, or scaling their business.
Also in 7 projects that use this
slavingiaSkillprocessize
Turn a product idea into a manual-first process you can start delivering today. Use when you have an idea and want to figure out how to deliver value by hand before writing any code.
Also in 7 projects that use this
CesarjoquinSkillpaywalls
When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," "in-app pricing," "free users won't upgrade," "trial to paid conversion," or "how do I get users to pay." Use this for any in-product moment where you're asking users to upgrade. Distinct from public pricing pages (see cro) — this focuses on in-product upgrade moments where the user has already experienced value. For pricing decisions, see pricing.
Also in 19 projects that use this
CesarjoquinSkillpopups
When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," "overlay," "collect emails with a popup," "exit popup," "scroll trigger," "sticky bar," or "notification bar." Use this for any overlay or interrupt-style conversion element. For forms outside of popups, see cro. For general page conversion optimization, see cro.
Also in 18 projects that use this
coreyhaines31Skillmarketing-council
When the user wants multiple expert perspectives on a marketing question — a simulated board of advisors staffed by legendary marketers (Seth Godin, David Ogilvy, Eugene Schwartz, April Dunford, Rory Sutherland, Alex Hormozi, Byron Sharp, and more). Also use when the user mentions 'marketing council,' 'board of advisors,' 'advisory board,' 'what would Seth Godin say,' 'what would Ogilvy think,' 'channel Hormozi,' 'get multiple perspectives,' 'debate this,' 'have the council review,' 'marketing mentors,' or asks how a famous marketer would approach their problem. The council gives each advisor's take through their documented frameworks, surfaces where they disagree, and synthesizes a recommendation. For executing the winning direction, hand off to positioning, offers, copywriting, ads, or the relevant skill.
Also in 14 projects that use this
- +6 more from Cesarjoquin
- +1 more from slavingia
Other versions58 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 58
- coreyhaines31/marketingskills★ 59ksame name
- slavingia/skills★ 11ksame name
- Nexus-JPF/note-companion★ 874same name
- AIDevGTM/gtm-cofounder★ 334same name
- QuantConnect/Documentation★ 268same name
- whawkinsiv/solo-founder-skills★ 260same name
- whawkinsiv/claude-code-skills★ 258same name
- Cesarjoquin/Marketing-Skills★ 190same name
- open-fox/agents★ 55same name
- firatcand/founder-skills★ 37same name
48 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- mcpSkill
- new-analyzerSkill
- performanceSkill
- tuiSkill
- typesSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 4 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 53 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Add a ModelInfo entry in populate_defaults() with:
- Distinctive: line 19
If the model has aliases (date suffixes, provider-prefixed names, regional names, etc.), add entries to the alias section mapping each …
- Very specific: line 20
Add or update tests in src/models.rs for canonical pricing, aliases, caching, and estimated/non-estimated status.
- Very specific: line 24
Use dated_pricing when a model has temporary promotional pricing, launch pricing, or another time-bounded rate that should apply based on …
- Distinctive: line 28
When adding a dated override:
- Very specific: line 30
Keep the model's default pricing/caching at the post-promo or durable rate.
- Very specific: line 31
Add the temporary rate with add_dated_pricing!() after add_model!().
- Distinctive: line 32
Add boundary tests for the final day of the temporary rate and the first day after it ends.
- Distinctive: line 33
Prefer dated calculator functions in analyzers that know the usage timestamp.
- Very specific: line 37
Use models::calculate_total_cost_for_service_tier_at() when an analyzer has a message or event timestamp.
- Very specific: line 39
Use the undated compatibility helpers, such as models::calculate_total_cost(), only for tests, config-like calculations, or call sites that …
“Common” is measured: kept by at least 6 in 10 of the 53 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pricing Model Updates
Token pricing is defined in src/models.rs. Built-in models are populated by populate_defaults() into the runtime model registry, and user/config models can be merged with init_external_models().
Adding a New Model
- Add a
ModelInfoentry inpopulate_defaults()with:pricing: UsePricingStructure::Flat { input_per_1m, output_per_1m }for flat-rate models, orPricingStructure::Tieredfor threshold-based pricing.caching: Use the appropriateCachingSupportvariant (None,OpenAI,Anthropic,OpenAIWithWrites, orTiered).service_tiers: Leave empty unless the provider has distinct priority/flex/batch rates.dated_pricing: Leave empty unless pricing changes by usage date.is_estimated: Set totrueonly when pricing is not confirmed by a provider/tool source.input_token_semantics: Auto-derived for built-in models (defaults toExcludesCache); only GPT/o-series models typically needIncludesCacheRead. External model configs should set this explicitly if it affects cache-read counting.
- If the model has aliases (date suffixes, provider-prefixed names, regional names, etc.), add entries to the alias section mapping each observed name to the canonical model name.
- Add or update tests in
src/models.rsfor canonical pricing, aliases, caching, and estimated/non-estimated status.
Dated Pricing Overrides
Use dated_pricing when a model has temporary promotional pricing, launch pricing, or another time-bounded rate that should apply based on the original usage timestamp.
The default pricing and caching fields should represent the durable/current sticker price. Each DatedPricing override has a valid_until: NaiveDate exclusive end date and applies when usage_date < valid_until. For example, an introductory rate that applies through 2026-08-31 should use valid_until = NaiveDate::from_ymd_opt(2026, 9, 1).expect("valid date").
When adding a dated override:
- Keep the model's default
pricing/cachingat the post-promo or durable rate. - Add the temporary rate with
add_dated_pricing!()afteradd_model!(). - Add boundary tests for the final day of the temporary rate and the first day after it ends.
- Prefer dated calculator functions in analyzers that know the usage timestamp.
Price Calculation
Use models::calculate_total_cost_for_service_tier_at() when an analyzer has a message or event timestamp. This preserves historical costs across dated pricing windows.
Use the undated compatibility helpers, such as models::calculate_total_cost(), only for tests, config-like calculations, or call sites that truly do not know the usage date. Undated helpers use the model's default pricing/caching, not temporary dated overrides.
Common Pricing Sources
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

