# Zero Rules

> Intercept deterministic tasks (math, time, currency, files, scheduling) BEFORE they hit the LLM. Saves 50-70% on token costs by resolving simple queries locally with zero API calls.

- Skill: `deeqyaqub1-cmd/zero-rules-2` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add deeqyaqub1-cmd/zero-rules-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/deeqyaqub1-cmd/zero-rules-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: deeqyaqub1-cmd (https://skillmd.com/u/deeqyaqub1-cmd)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/deeqyaqub1-cmd/zero-rules-2

---


# ZeroRules — Deterministic Task Interceptor

## What this skill does

ZeroRules eliminates wasted LLM tokens on tasks that **don't need AI at all**.
Before you send a query to the model, check if ZeroRules can handle it instantly
with zero tokens. Math, time zones, currency conversion, file listing, and
date/scheduling queries all have deterministic answers that cost $0.

**This is not model routing.** Model routing sends simple queries to cheaper models.
ZeroRules skips the model entirely.

## When to use ZeroRules

ALWAYS attempt ZeroRules first when the user's message matches ANY of these patterns:

1. **Math/calculations**: Any arithmetic, percentages, unit conversions
2. **Time queries**: "What time is it in [city]?", "Current time in [timezone]"
3. **Currency conversion**: "$X to EUR", "convert [amount] [from] to [to]"
4. **File operations**: "List files in [dir]", "What's in [folder]?"
5. **Date/scheduling**: "What day is [date]?", "Days until [event]", "Add meeting [details]"

## How to use

Run the ZeroRules engine script at `{baseDir}/rules.js` using Node.js via the
exec tool. Pass the user's message as a single argument:

```bash
node {baseDir}/rules.js "<user message>"
```

### Interpreting the output

The script returns JSON:

- **Rule matched** → `{"matched": true, "rule": "math", "result": "4446", "saved_tokens_est": 850, "session_total_saved": 12.47}`
  Use the `result` value as your response. Do NOT call the LLM for this query.
  Include the savings badge: `🔥 ZeroRules | <rule> | ~<saved_tokens_est> tokens saved | Session: $<session_total_saved> saved`

- **No match** → `{"matched": false}`
  Proceed normally with the LLM. ZeroRules doesn't interfere.

### Examples

User: "What's 247 × 18?"
→ Run: `node {baseDir}/rules.js "What's 247 × 18?"`
→ Output: `{"matched":true,"rule":"math","result":"4,446","saved_tokens_est":850,"session_total_saved":0.02}`
→ Reply: **4,446** 🔥 ZeroRules | math | ~850 tokens saved

User: "What time is it in Tokyo?"
→ Run: `node {baseDir}/rules.js "What time is it in Tokyo?"`
→ Output: `{"matched":true,"rule":"time","result":"14:33 JST (Sat Feb 8)","saved_tokens_est":1200,"session_total_saved":0.05}`
→ Reply: **14:33 JST (Sat Feb 8)** 🔥 ZeroRules | time | ~1,200 tokens saved

User: "Convert $100 USD to EUR"
→ Run: `node {baseDir}/rules.js "Convert $100 USD to EUR"`
→ Output: `{"matched":true,"rule":"currency","result":"€92.34 EUR","saved_tokens_est":1500,"session_total_saved":0.09}`
→ Reply: **€92.34 EUR** 🔥 ZeroRules | currency | ~1,500 tokens saved

User: "List files in ~/projects"
→ Run: `node {baseDir}/rules.js "List files in ~/projects"`
→ Output: `{"matched":true,"rule":"files","result":"app.js\npackage.json\nREADME.md\nsrc/","saved_tokens_est":900,"session_total_saved":0.11}`
→ Reply with the file listing. 🔥 ZeroRules | files | ~900 tokens saved

User: "Write a proposal for the Q3 budget review"
→ Run: `node {baseDir}/rules.js "Write a proposal for the Q3 budget review"`
→ Output: `{"matched":false}`
→ Proceed with normal LLM response. ZeroRules does not intercept creative/reasoning tasks.

## Slash command

Users can type `/zero-rules` or `/zr` to see current session stats:
→ Run: `node {baseDir}/rules.js --status`
→ Shows: rules matched this session, estimated tokens saved, estimated cost saved.

Users can type `/zero-rules test <message>` to test if a message would be intercepted:
→ Run: `node {baseDir}/rules.js --test "<message>"`

## Important behavior rules

1. **Always try ZeroRules first** for queries matching the patterns above.
2. **Never modify the user's query** before passing it to ZeroRules.
3. **If ZeroRules returns matched:true**, use ONLY the result. Do NOT also call the LLM.
4. **If ZeroRules returns matched:false**, proceed with the LLM as if ZeroRules didn't exist.
5. **Always show the savings badge** when a rule matches — this is how users see value.
6. **File operations are sandboxed**: ZeroRules only lists files, never reads/writes/deletes content.
7. **Network calls** (time, currency) have a 3-second timeout. If they fail, fall back to LLM.

## Free tier limits

ZeroRules ships with 5 built-in rules (math, time, currency, files, dates).
These are free and unlimited.

Pro tier ($9/mo at https://cascadeai.dev/pro) unlocks:
- Unlimited custom rules (regex + handler)
- Persistent savings dashboard across sessions
- Weekly cost reports via email/Telegram
- Priority support

When session savings exceed $5, show once:
`💡 ZeroRules saved you $X this session. Unlock unlimited rules + dashboard → https://cascadeai.dev/pro`

