agentsclimarketplace

Pricing models

Skill commet-labs/pricing-models/skills/pricing-models

Use when choosing a pricing model for a SaaS product — metered (pay per use), credits (block when exhausted), balance (prepaid spend), seats (per-user), or boolean (feature flags). Covers decision frameworks, implementation patterns, and when to use each model.From its SKILL.md

Install
npx -y skills add commet-labs/pricing-models --skill pricing-models

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.9 KB, as published. Nobody here has run it

Pricing Models

Decision Matrix

QuestionMeteredCreditsBalanceSeats
Is usage predictable?NoSomewhatSomewhatYes
Need hard limits?NoYesOptionalN/A
Per-user value?NoNoNoYes
Multi-feature spend?NoNoYesNo
Sub-cent pricing?YesNoYesNo
Customer wants cost control?LowHighMediumHigh

Quick Comparison

ModelCharges WhenBlocks on LimitBest For
MeteredPeriod end (true-up)NeverAPI calls, bandwidth, storage
CreditsUpfront (blocks)Yes, hard stopImage generation, exports, compute jobs
BalanceReal-time deductionConfigurableAI token usage, multi-feature platforms
SeatsPeriod start (advance) + true-upN/ATeam tools, per-user licenses
BooleanIncluded in plan baseN/AFeature flags, plan differentiation

Code Examples

Metered -- Track API usage

import { Commet } from "@commet/node";

const commet = new Commet({ apiKey: process.env.COMMET_API_KEY! });

await commet.usage.track({
  customerId: "user_123",
  featureCode: "api_calls",
  value: 1,
  eventId: "usage_abc123",
}, { idempotencyKey: "req_abc123" });

Credits -- Check before consuming

const availability = await commet.usage.check({
  featureCode: "image_generations",
  customerId: "user_123",
});

if (!availability.allowed) {
  // Customer exhausted credits -- prompt to buy a credit pack
  const portal = await commet.portal.getUrl({ customerId: "user_123" });
  return redirect(portal.portalUrl);
}

await commet.usage.track({
  customerId: "user_123",
  featureCode: "image_generations",
  value: 1,
});

Balance -- AI token billing

import { tracked } from "@commet/ai-sdk";
import { anthropic } from "@ai-sdk/anthropic";
import { generateText } from "ai";

const result = await generateText({
  model: tracked(anthropic("claude-sonnet-4-20250514"), {
    commet,
    feature: "ai_generation",
    customerId: "user_123",
  }),
  prompt: "Explain quantum computing",
});
// Tokens tracked, cost calculated, balance deducted automatically.

Seats -- Manage team members

await commet.seats.add({
  customerId: "org_456",
  featureCode: "editor",
  count: 3,
});

const balance = await commet.seats.getBalance({
  customerId: "org_456",
  featureCode: "editor",
});
// balance.current = 3

Boolean -- Check feature access

const access = await commet.featureAccess.get({
  code: "custom_branding",
  customerId: "user_123",
});

if (!access.allowed) {
  // Feature not included in their plan
}

Detailed References

NeedReference
Choosing between modelschoosing-a-model.md -- Decision framework, real-world examples
Metered pricingmetered.md -- Pay-per-use, overage, included amounts
Credit-based pricingcredits.md -- Block purchases, hard limits, credit packs
Balance / prepaidbalance.md -- Prepaid spend, AI billing, top-ups
Seat-based pricingseats.md -- Per-user, advance + true-up, seat features
Combining modelshybrid-models.md -- Base + usage, seats + metered, addons

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.