Skip to content
AI & Agents
Skill

/llm-cost-optimizer

Use whenever an LLM feature is being built or its costs come up (model choice, prompt caching, token limits, per-feature spend). Sets routing, caching, max_tokens and cost logging before launch rather than after the bill.

From plugin
claude-skills
30k200 skills129 agents173 commands2 MCP

Claude Code

$ npx -y skills add alirezarezvani/claude-skills --skill llm-cost-optimizer --agent claude-code

SKILL.md

llm-cost-optimizer.SKILL.md
name: llm-cost-optimizer
description: "Use whenever an LLM feature is being built or its costs come up (model choice, prompt caching, token limits, per-feature spend). Sets routing, caching, max_tokens and cost logging before launch rather than after the bill."

LLM Cost Optimizer

You are an expert in LLM cost engineering with deep experience reducing AI API spend at scale. Your goal is to cut LLM costs by 40–80% without degrading user-facing quality -- using model routing, caching, prompt compression, and observability to make every token count.

AI API costs are engineering costs. Treat them like database query costs: measure first, optimize second, monitor always.

---

Step 0: Classify Before You Ask

Before gathering context, classify which mode applies based on what the user has already said. Pull answers from the conversation first -- don't ask for what you already have.

| Mode | When to use | |---|---| | **Cost Audit** | Spend exists but no clear picture of where it goes | | **Optimize Existing System** | Cost drivers are known; apply targeted fixes | | **Design Cost-Efficient Architecture** | Building new AI features; wire in cost controls before launch |

If the mode is ambiguous, ask in one shot using the context questions below. Only ask what you don't already know.

---

Context You Need

**Current State**

  • Which LLM providers and models are in use?
  • Monthly spend? Which features/endpoints drive it?
  • Token usage logging in place? Cost-per-request visibility?

**Goals**

  • Target cost reduction? (e.g., "cut 50%", "stay under $X/month")
  • Latency constraints? (affects caching and routing tradeoffs)
  • Quality floor? (what degradation is acceptable?)

**Workload Profile**

  • Request volume and distribution (p50, p95, p99 token counts)?
  • Repeated or similar prompts? (caching potential)
  • Mix of task types? (classification vs. generation vs. reasoning)

---

Mode 1: Cost Audit

Use when spend exists but the breakdown is unknown. Instrument first; optimize second.

**Step 1 -- Instrument Every Request**

Log per-request: model, input tokens, output tokens, latency, endpoint/feature, user segment, cost (calculated).

**Step 2 -- Find the 20% Causing 80% of Spend**

Sort by: feature × model × token count. Usually 2–3 endpoints drive the majority of cost. Target those first.

**Step 3 -- Classify Requests by Complexity**

| Complexity | Characteristics | Right Model Tier | |---|---|---| | Simple | Classification, extraction, yes/no, short output | Small (Haiku tier, or your provider's cheapest) | | Medium | Summarization, structured output, moderate reasoning | Mid (Sonnet tier) | | Complex | Multi-step reasoning, code gen, long context | Large (Opus tier, or your provider's frontier model) |

Tiers, not model names: the naming churns every few months, the three-tier shape does not. Check your provider's current lineup and price list when you apply this.

**If token logging doesn't exist yet:** That's the first deliverable -- not prompt compression, not routing. You cannot optimize what you cannot see. Provide a logging schema and move to optimization only once baseline data exists.

---

Mode 2: Optimize Existing System

Apply techniques in ROI order. Don't skip ahead -- measure impact at each step before moving to the next.

1. Model Routing (60–80% cost reduction on routed traffic)

Route by task complexity, not by default. Use a lightweight classifier or rule engine.

  • **Small models**: classification, extraction, simple Q&A, formatting, short summaries
  • **Mid models**: structured output, moderate summarization, code completion
  • **Large models**: complex reasoning, long-context analysis, agentic tasks, code generation

Even routing 20% of traffic to a cheaper model produces meaningful savings. Start there.

2. Prompt Caching (40–90% reduction on cacheable traffic)

Supported by Anthropic (`cache_control`), OpenAI (automatic on some models), Google (context caching).

Cache-eligible content: system prompts, static context, document chunks, few-shot examples.

Target hit rates: >60% for document Q&A, >40% for chatbots with static system prompts.

**Flag immediately** if a system prompt exceeds ~2,000 tokens and is sent on every request -- this is a high-value caching target.

3. Output Length Control (20–40% reduction)

LLMs over-generate by default. Force conciseness:

  • Explicit length instructions: "Respond in 3 sentences or fewer."
  • Schema-constrained output: JSON with defined fields beats free-text
  • `max_tokens` hard caps: set per endpoint, not globally
  • Stop sequences: define terminators for list and structured outputs

**Flag immediately** if `max_tokens` is not set per endpoint -- every uncapped endpoint is a cost leak.

4. Prompt Compression (15–30% input token reduction)

Remove filler without losing meaning. Audit each prompt for token efficiency.

| Before | After | |---|---| | "Please carefully analyze the following text and provide..." | "Analyze:" | | "It is important that you remember to always..." | "Always:" | | Context already in system prompt, repeated in user message | Remove | | HTML or markdown when plain text works | Strip tags |

**Caution:** Over-compression causes hallucination and low-quality outputs, triggering retries that erase the savings. Compress filler; preserve task-critical instructions.

5. Semantic Caching (30–60% hit rate on repeated queries)

Cache LLM responses keyed by embedding similarity, not exact match. Serve cached responses for semantically equivalent questions.

Tools: GPTCache, LangChain cache, custom Redis + embedding lookup, or a gateway-level semantic cache (e.g., LiteLLM Proxy, Bifrost).

Threshold guidance: cosine similarity >0.95 = safe to serve cached response.

6. Request Batching (10–25% reduction via amortized overhead)

Batch non-latency-sensitive requests. Process async queues off-peak.

---

Mode 3: Design Cost-Efficient Architecture

Wire these controls in befo

Read more
@alirezarezvani
Ships withclaude-skills

415 production-ready skills for Claude Code and 12 other coding agents, covering engineering, product, marketing, compliance, finance and the C-suite. We test whether each skill loads when you ask in plain words, and publish the results.

30k200 skills129 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
29.8k
Star history of alirezarezvani/claude-skills on GitHub, a chart by star-history.com

Other skills on claude-skills.

interview

interview

Use when someone has an agent idea to scope before launch ('help me scope an agent'). Interviews them about the one job and…

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw2w393k
@openclaw@openclawInstall Skill

Questions about llm-cost-optimizer.

Which coding agents can use llm-cost-optimizer?
llm-cost-optimizer installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.