billing-setup
Discover your billing model and configure products, assets, and pricing in Credyt via MCP. Can be run multiple times to add products or adjust pricing. Automatically verifies the full billing cycle after configuration. Use when the user wants to set up billing, create products, configure pricing, add new billable activities, or change how they charge.
What this skill does
# Credyt Setup
Guide the user through understanding their billing model, then configure everything in Credyt via MCP tools, then automatically verify the full billing cycle end-to-end. This skill can be run multiple times — to add new products, change pricing, or set up additional assets.
## First: Check what already exists
Before jumping into discovery, check the current state by calling `credyt:list_assets` and `credyt:list_products`.
If they already have products configured, acknowledge what's there:
> "I can see you already have [X] set up. Are you looking to add something new, change existing pricing, or start fresh?"
If they want to start fresh, **do not archive or delete existing products**. Leave them as-is. The user can manage existing products conversationally at any time (e.g. "archive the Pro product", "delete this product") — never do this automatically.
If this is their first time, proceed with full discovery.
## Discovery: Understand their business
Ask questions **one at a time**. Listen to each answer before asking the next. Adapt follow-ups based on what they tell you. This is a conversation, not a form.
### What does your app do?
> "Tell me about your app — what does it do, and what are the main things your users do in it?"
Ground every follow-up question in their specific app and activities.
### What costs you money?
> "Which of those activities cost you money to provide? For example, if you're calling an AI model, each call has a cost. What are the expensive parts?"
This identifies the billable events — the activities they'll track and eventually charge for.
### How do you want to charge?
Help them pick between three approaches. Explain each using examples from *their* app, not abstract concepts:
- **Pay-as-you-go (prepaid wallet)**: Users add funds. Each activity deducts from their balance. When it runs out, they top up or service pauses. This is how OpenAI and Replicate work.
- **Monthly subscription**: Flat monthly fee regardless of usage. Classic SaaS model, like Netflix. Good if they're still figuring out pricing or want predictable revenue.
- **Hybrid (subscription + credits)**: Monthly fee that includes a credit allowance. Extra usage costs more. This is how Cursor and Clay work.
### It's OK not to know yet
If they're unsure about pricing, guide them to track first and price later:
> "No problem — you don't need to decide on pricing now. We can start tracking all the meaningful activities in your app and what they cost you. Credyt will show you your unit economics, and you can set pricing based on real data."
For this path: set up products with zero or placeholder prices, and emphasize attaching costs to events.
### Dollars or credits?
> "Do you want your users to see prices in dollars (like '$2.50 per video') or in your own currency like credits or tokens (like '10 credits per video')?"
**Credits make sense when**: costs vary behind the scenes, users aren't technical, you want users to earn credits, or you might adjust pricing later.
**Dollars make sense when**: costs are fixed per activity, users are developers, you want full transparency.
If unsure, suggest credits — more flexibility to adjust later.
### Does pricing vary?
> "Does the cost change depending on anything? Like a higher-quality output costing more, or a different AI model being pricier?"
If yes, get the specifics. These become pricing dimensions in Credyt.
### Discovery checkpoint
Before configuring, confirm you understand:
- What the app does and what activities matter
- Which activities cost them money
- Billing approach (pay-as-you-go, subscription, hybrid, or tracking first)
- Dollars or custom currency
- Whether pricing varies by any dimensions
If anything is unclear, ask. Don't proceed until discovery is complete.
## Configure via MCP
Walk the user through each step. Before executing any MCP call that creates or modifies data, show the user a table of the intended parameters and get explicit confirmation:
> "I'm going to create [X] with these settings — does everything look right?"
>
> | Field | Value |
> |-------|-------|
> | ... | ... |
>
> "Let me know if you'd like to change anything before I proceed."
This applies to every mutation: creating assets, products, vendors, versions, and adjustments. Never assume values the user hasn't confirmed — especially precision, pricing, and event types.
### Create a custom currency (if using credits/tokens/coins)
Only if they chose a custom currency. This must be created before any products that use it.
Use `credyt:create_asset`. Verify precision explicitly — credits are typically whole numbers (precision 0) but this must be confirmed. For example:
> | Field | Value |
> |-------|-------|
> | Name | Credits |
> | Code | `credits` |
> | Precision | 0 (whole credits, no fractions) |
> | Exchange rate | 1 credit = $0.05 → $1 buys 20 credits |
Explain the conversion in concrete terms so the user can verify it makes sense:
**After creating**, use `credyt:quote_asset` to verify the conversion. Quote how many units $1, $10, and $50 would buy:
> "Let me verify that... ✓ $1 buys 20 credits, $10 buys 200, $50 buys 1,000. Does that look right?"
If the conversion is wrong, use `credyt:add_asset_rate` to correct it and re-quote.
### Create products with pricing
Use `credyt:create_product` for each billable activity. For example:
> | Field | Value |
> |-------|-------|
> | Name | Image Generation |
> | Code | `image_gen` |
> | Event type | `image_generated` |
> | Usage type | unit |
> | Price | 10 credits per event |
Key fields to confirm with the user:
- **Product name and code**: What this billing item is called and its identifier
- **Event type**: The activity name that triggers billing (e.g., "image_generated") — must match exactly what the app will send
- **Usage type**: Per occurrence ("unit") or based on a quantity like tokens ("volume")
- **Pricing**: How much each event costs
For "tracking first", set price to zero and make that explicit in the table.
**A product can have both a fixed recurring price and a usage-based real-time price.** For example, a $20/month subscription that also charges 1 credit per AI job is a single product with two prices — a recurring USD price and a per-event credit price. By default, use a single product with multiple prices; only create separate products if the user specifically wants them.
**To update pricing on an existing product, always create a new version** using `credyt:create_product_version` — never create a new product. This preserves billing history and keeps customers on their existing subscription. Show the same confirmation table before creating a version.
**After creating or updating every product**, use `credyt:simulate_usage` to validate. Always specify the product version explicitly in the simulation (e.g., `version: 1`) rather than relying on the default — this ensures you're testing what you just configured:
> "Let me test this — one image generation should cost 10 credits... ✓ Confirmed: 10 credits deducted, that's $0.50. Does that match what you expected?"
If the simulation doesn't match, create a new product version with `credyt:create_product_version` using the corrected pricing and re-simulate until it's right. Confirm the new version parameters in a table before creating it.
**Note on version changes**: After creating a new product version, any existing test customers will still be subscribed to the old version. Either create a new test customer subscribed to the new version, or update the existing customer's subscription before running verification.
### Included credits (entitlements)
If the billing model includes credits bundled into a subscription (e.g., "$20/month includes 1,000 credits"), those are configured as **entitlements** at the product level — not as a negative price or a separate product.
Include an `entitlements` array in the `create_product` (or `create_product_version`) call. EntitlemRelated in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.