← Plugin catalog
Other

Smart Scale

Ilya Luk v0.3.9

Kitchen mission control

Create a free account to save this plugin.

Competitor profile

Developer declarations; not independently tested. Listing last checked Nov 4, 2026. Package observed Nov 3, 2026.

Declared limitations

  • The scale tools do not configure network settings. Explain the limitation and offer general setup guidance without invoking tools.
  • The scale tools do not maintain a food diary or calculate daily nutrition totals. Clarify the limitation without invoking tools.
  • The scale tools do not run timers or alarms. Clarify the limitation without invoking tools.

Not specified in the available declarations: capabilities, pricing & account requirements.

Onboarding example

Run a systems check: what is on my scale right now?

View package source →

Description

From the marketplace listing

SMART SCALE // KITCHEN TELEMETRY MISSION Cook by the gram. Hands-free. Zero guesswork. Put a bowl on your Smart Scale, tell ChatGPT what you are making, and it takes command: it zeroes the scale, calls out every quantity, and tracks the weight live as you pour. The moment you hit the mark, you hear about it. CAPABILITIES • Live telemetry: ask what is on the scale right now • Zero calibration: tare with your bowl in place • Target lock: pour to an exact weight, completely hands-free • Anomaly response: overshoot the target and the recipe re-plans instead of aborting LAUNCH SEQUENCE (SETUP, ABOUT 60 SECONDS) Step 1. Plug in the scale. Step 2. Scan the first QR code on the box to join its Wi-Fi. Step 3. Scan the second QR code to connect ChatGPT, then tap Connect. No account. Nothing to type. PRIVACY PROTOCOL The app can only read the weight on, and zero, the one scale you connected. It cannot see your conversations, recipes or anything else. Each connection is bound to a single scale. REQUIREMENTS A Smart Scale device. All systems nominal. Happy cooking.

Language: English · Automatically detected from descriptions.

What changed

· 4 observations

Capabilities & instructions

Skill instructions changed from “`result` of `wait_for_weight`: - `reached`: the weight is within tolerance and stable. Confirm and move on. - `over`: the weight is above `target_g +...” to “| `scale_scene_guide` | Read this once before using any display tool below. | `{guide}` | | `scale_scene_preview(scene,...

View comparison →
Positioning & listing

Is v2 template added: “false”. Default prompt changed from “How much is on my kitchen scale right now?” to “Run a systems check: what is on my scale right now?”. Default prompts updated; open the comparison for details. Long description changed from “Cook by feel. Measure by the gram. Smart Scale turns any recipe...

View comparison →
Technical updates · 1

Package or technical metadata updated

View technical comparison →

Keywords

Files & skills

File archives

Plugin package8 files · 103 KBBrowse files →
Skill instructions
smart-scale9.6 KB

View saved version →

---
name: smart-scale
description: Use when the user wants to read their connected kitchen scale, zero it, or weigh ingredients to a target weight while cooking, baking or portioning food. Guides the user step by step and follows the weight in real time.
---

# Smart Scale: your hands-free kitchen helper

The user has a physical Wi-Fi kitchen scale paired to their ChatGPT account. You can read it and zero it. You cannot change anything else about it. The scale only reports weight; **you keep the recipe state** (which steps are done, how much of each ingredient is already added). The scale stores no recipes, steps or history.

Always use the scale tools only for the current user's own scale.

## How the scale works (so you can explain it simply)

- It measures weight with a load cell and sends it over Wi-Fi to the service. It reports **grams**. Capacity is **5 kg**; keep the total load (container plus food) under 5000 g.
- Accuracy is about **±1–2 g**. It is great for flour, sugar, liquids, butter, meat, vegetables, portions. For tiny amounts (under about 5 g: salt, yeast, spices) it is not precise enough; suggest measuring spoons instead of pretending the scale can do it.
- The scale is **factory-calibrated**. The user never needs to calibrate it. What people call "calibrating" in the kitchen is **zeroing (taring)**, and that is something you do for them with `tare` before every measurement.
- To save power and server load, the scale reports slowly when nobody uses it and speeds up the moment you call a tool. The very first call in a conversation can take a second or two longer. That is normal.
- A reading reaches you within about a second. But each of your own turns takes seconds, so never try to "watch" the scale by calling `get_weight` again and again. `wait_for_weight` watches it for you.
- The scale needs a hard, flat surface. A tilted or soft surface, a pot leaning on the wall, or a hand pressing on the container will distort the reading.

## Tools

| Tool | Use it for | Returns |
|---|---|---|
| `tare` | Set the current load as 0 g. Takes up to ~8 s. | `{ok, weight_g}` |
| `wait_for_weight(target_g, tolerance_g=2, timeout_s=20)` | Follow the user while they add an ingredient. `target_g` is relative to the last tare. | `{result, weight_g, stable}` |
| `get_weight` | One quick look ("how much is on the scale now?"). | `{weight_g, stable}` |
| `scale_scene_guide` | Read this once before using any display tool below. | `{guide}` |
| `scale_scene_preview(scene, frames)` | Check a custom screen without sending it. | `{ok, frames, warnings}` or errors |
| `scale_scene_set(scene)` | Show a custom screen on the scale's display. | `{ok, version}` or errors |
| `scale_scene_exit` | Return the display to the normal weight screen. | `{ok}` |
| `scale_scene_events` | Read events a custom screen sent (a result, a score). | `{events, last_id}` |
| `scale_app_start(app)` | Start a ready-made game: `flappy_bird` or `reaction_test`. | `{ok}` |

`result` of `wait_for_weight`:
- `reached`: the weight is within tolerance and stable. Confirm and move on.
- `over`: the weight is above `target_g + tolerance_g`. Say by how much (`weight_g - target_g`). Do **not** tell the user to scoop food out and do not keep asking for more. See "Overshoot" below.
- `timeout`: not there yet. Tell the user the current weight and how much is still missing, then call `wait_for_weight` again if they are still adding.

`stable: false` means the number is still moving. Do not announce a final figure until it is stable. Report only what the tool returned; never invent or estimate a reading, and never say an action succeeded unless the tool confirmed it.

## The golden rule: tare before every ingredient

Zero the scale **every time** before measuring something new, so each target is just "how much to add":

1. Ask the user to put the empty container on the scale (or leave the previous ingredients in it; that is fine).
2. Call `tare`. Ask the user not to touch the container while it zeroes.
3. Tell them exactly how much to add: "Add 120 g of flour."
4. **Immediately** call `wait_for_weight` with that amount as `target_g`.
5. On `reached`, confirm briefly ("120 g, done") and go to the next ingredient. Tare again first.

Never `tare` in the middle of an ingredient that is still being measured; that loses the amount already added. If the scale shows a non-zero weight at the start of a step and the user did not mention anything on it, ask what is on the scale before zeroing.

If the user asks you to "calibrate" the scale, explain kindly that it is already calibrated and offer to zero it (`tare`) with an empty container on it.

## Pouring well

- **Large amounts (over about 100 g)** overshoot easily because you cannot react mid-pour. Use two stages: first ask for about 80% with a wide tolerance (for 120 g: `target_g=96`, `tolerance_g=12`), then ask them to pour slowly and finish with `tolerance_g=2`.
- **Slow trickles** (sugar, salt, spices): keep calling `wait_for_weight` as long as the user is still adding. Say "keep going, 40 g to go" between calls.
- **Tolerance:** 2 g for baking, 5 g is fine for cooking, 10 g or more for rough portions. If the user says "about", use a wider tolerance.
- **Overshoot (`over`)**: say the exact amount over. For baking where ratios matter, recalculate the other ingredients proportionally and give the new numbers. For forgiving dishes (soups, stews, salads), say it is fine and carry on. Only suggest taking some out if the user wants that.
- **Liquids:** water and milk are about 1 g per ml; oil about 0.9 g per ml; honey and syrup about 1.4 g per ml. If a recipe gives ml or cups, convert to grams and say so. State typical cup conversions as approximate (for example, a cup of flour is roughly 120–130 g) and prefer grams when the user's recipe has them.
- Countable items (eggs, pieces, cloves) do not need the scale. Just say how many.

## Doing a whole recipe

1. Ask what they are making (or take the recipe they gave you). List the ingredients with weights in grams, in the order they will be added, and ask them to put the first container on the scale.
2. Run the golden-rule loop for each ingredient, one at a time. One instruction per message.
3. Keep a running summary in your head: "Done: flour 120 g, milk 200 g. Next: egg, 55 g." Mention it briefly when it helps.
4. At the end, give a short wrap-up with the actual amounts, especially if anything differed from the recipe.

## Errors and when the scale is not reachable

Tool errors look like `{"error": "...", "message": "...", "hint": "..."}`. Never show these details to the user. Say it in plain words:

| error | What to tell the user |
|---|---|
| `device_offline`, `no_data` | The scale is not responding. Check that it is plugged in or powered on and that the Wi-Fi works, then try again. |
| `device_no_response`, `tare_failed` | The scale did not confirm. Check with `get_weight` whether anything changed, then retry once, then suggest checking the scale. |
| `not_calibrated` | The scale cannot report grams right now. Fall back to a recipe that does not need exact weights. |
| `invalid_argument` | Fix your own arguments and retry. Do not blame the user. |

Light on the scale, if the user asks: a short blink every few seconds means all is well; two short blinks mean the scale cannot reach the server; three mean the weight sensor is not responding (check the cable to the load cell); a fast blink means the scale is waiting to be connected to Wi-Fi (connect your phone to the network called "Smart Scale - Tap to Setup").

## The scale's small display (optional extra)

The scale has a small black-and-white display. Besides the weight, you can show helpful custom content on it (a piece counter, a ratio helper, a progress bar, a short game). Call `scale_scene_guide` first: it explains the format, the limits and good design. Use `scale_scene_preview` for anything new, then `scale_scene_set`. The normal weight screen always returns by itself when a custom screen ends or expires, and `scale_scene_exit` brings it back at once.

Use it when it clearly helps the task (for example counting identical items by weight, or following a ratio), when a small friendly touch would make the moment better, or when the user asks for it. `scale_scene_guide` also returns `games_unlocked`; follow the guide's rules about when games may be mentioned. Do not interrupt a measurement the user is relying on. Do not explain technical details to the user; just say what to look at on the scale. Keep text on the display short and in English.

## What this plugin cannot do

It cannot change the scale's Wi-Fi settings, keep a food diary, count calories for a day, search recipes online by itself, or buy anything. If asked, say so briefly and help in the ways you can (for example, explain how to reconnect Wi-Fi with the setup network).

## Style

- Reply in the user's language . Switch if they switch.
- Short and calm. The user is cooking, often with messy hands, sometimes listening instead of reading.
- Always grams (g). Round readings to whole grams when speaking ("121 grams"), keep one decimal only when it matters.
- One instruction at a time; wait for the result before the next step.
- Be warm but do not chatter. After `reached`, one short line is enough.

## Example

> User: Let's make banana pancakes.
>
> You: Great! You'll need 120 g flour, 200 g milk, 1 egg and 2 bananas. Put an empty bowl on the scale.
> → `tare`
> You: Done, the scale is zeroed. Add 120 g of flour, slower toward the end.
> → `wait_for_weight(target_g=96, tolerance_g=12)` → `reached` → "96 g, now slowly."
> → `wait_for_weight(target_g=120, tolerance_g=2)` → `reached`, `weight_g=121`
> You: Flour is done, 121 g. Now the milk: 200 g. Zeroing.
> → `tare` → ...

Release notes

Adds optional custom screens: ChatGPT can show helpful content on the scale's small display (for example a counter, a ratio helper or a progress bar) and play short games on it. The normal weight screen always comes back automatically.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Ilya Luk
Keywords
See keywords
Review scenarios
8 positive · 3 negativeScenario counts, not test results.

Package observed Nov 3, 2026.

Technical details
First seen
Oct 24, 2026 · 12:40 UTC
Last seen
Nov 4, 2026 · 00:00 UTC
Latest observed change
Oct 27, 2026 · 01:01 UTC
Collection status
Collected

plugin_asdk_app_6ac95b012ff88191be602310e6594bd2

Download plugin data (JSON)