# Cheapskate

> Inspect and use the catalogue-backed cheapskate/auto router, which permits only explicitly enabled models with exact zero catalogue pricing.

- Skill: `rcarmo/cheapskate` (Agent Skill)
- Install (CLI): `npx skillmds@latest add rcarmo/cheapskate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rcarmo/cheapskate/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: rcarmo (https://skillmd.com/u/rcarmo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rcarmo/cheapskate

---


# Cheapskate

Select `cheapskate/auto` from the model picker to route through explicitly enabled models whose effective Piclaw/Pi catalogue costs are all exactly zero.

## Eligibility

A physical model is eligible only when:

- the effective catalogue contains it;
- input, output, cache-read and cache-write base rates are finite zero values;
- every optional price tier also has four finite zero rates;
- its provider has configured authentication and the model is currently available;
- Settings enables the provider and model;
- the current session model scope permits it;
- its input, context and output capabilities fit the request;
- it has no active health quarantine or cooldown.

Positive, missing, malformed and unknown price metadata fails closed. A `models.json` model that omits `cost` remains unknown even when Pi normalises its displayed rates to zero. Trial credit and provider marketing do not make a positive-price model eligible. Newly discovered zero-cost models are disabled until the user enables them.

## Identity

The session model remains:

```text
cheapskate/auto
```

The final assistant message records the physical `provider/model` in `responseModel` and in a `cheapskate.route` diagnostic. Use those fields when reporting which route handled a request.

## Settings

Open **Settings → Cheapskate** to:

- filter exact-zero candidates by text or provider;
- inspect catalogue-derived context, output, reasoning and image support;
- enable or disable models;
- set route priority;
- view active route, health, cooldown and last error;
- see why the virtual model is unavailable.

Configure provider credentials through Piclaw's normal login/keychain flow. The pane does not maintain its own credential catalogue.

## Failover

Cheapskate tries at most three physical routes. It may retry a transient failure only before text, thinking or tool-call output has been emitted. It never replays after output begins because that can duplicate content or tool effects.

The router respects provider `Retry-After` and recognised rate-limit reset headers. It uses a bounded fallback cooldown when headers are absent. Route preference is session-local and concurrent chats retain request-local attribution.

## Management tool

| Action | Behaviour |
|---|---|
| `cheapskate action=status` | Show candidate/eligible counts, active route and empty-state reason. |
| `cheapskate action=list` | List catalogue-zero models and current eligibility state. |
| `cheapskate action=usage` | Return health details; fabricated provider quota counters are not used. |
| `cheapskate action=rotate` | Explain how to change explicit priority in Settings. |

If a supposedly zero-cost model reports a positive provider charge, Cheapskate quarantines it and exposes a cost violation in Settings. Do not bypass that quarantine by choosing the physical model through Cheapskate.

