kitchen
Per-household kitchen ledgers, meal sites, written recipes, shelf checks and standing dinner texts.
Skill by Deibler
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/deibler-kitchen
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/kitchen
What's inside
- Skill name
kitchen- Description
- Per-household kitchen ledgers, meal sites, written recipes, shelf checks and standing dinner texts. Use for ANY question about food, cooking, recipes, meal planning, groceries, "what do we have", "what should I make", "text me dinner at 4", or when a grocery receipt or kitchen photo arrives — in EVERY chat, not just Alex's DM. Each household has its own isolated ledger and its own website; the chat session decides which one. Every claim about what is or is not in a kitchen must come from that household's ledger, every meal cooked or receipt received must be written back to it, and most buttons on the site settle themselves within a minute without you.
- License
- MIT
- Instructions
- 637 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- body: 637 lines (spec recommends under 500)
- files: referenced but missing: scripts/watch.ts, scripts/fetch_techniques.ts
Files (9)
- SKILL.md
- recipes.json
- pantry.py · scripts/
- cut-sizes.svg · techniques/
- dice-onion.svg · techniques/
- manifest.json · techniques/
- mince-garlic.svg · techniques/
- strip-chicken-thigh.svg · techniques/
- made_button.html · templates/
SKILL.md (first lines)
# The kitchen
Each household's kitchen is an append-only event log at
`data/kitchen/tenants/<household>/events.jsonl`. It is the only source of truth
for what is in a kitchen. A photo from three days ago, a memory note or a guess
about what a normal kitchen holds does not count.
The typed `kitchen_*` tools are the only way in. They validate before writing,
resolve the household from the chat session, and derive everything else (spend,
calories, the site, the list) from the log.
Work happens in three places, and they are not interchangeable:
1. **Arithmetic over the ledger**, done by the tools. Instant and always right.
2. **The watch pass** (`scripts/watch.ts`, every minute under launchd). It
settles every site button that does not need a person, refreshes the
weather, sends standing dinner texts, sends meal follow-ups, and wakes you
for everything else.
3. **You**, for judgement: a recipe, a variant, an answer to a question, the
morning inventory review, the follow-up after a meal. It arrives as a
one-shot event in the main session of the person it concerns. There is no
kitchen sub-agent and no second model.
Most of what looks like work is already 1 or 2. Doing it by hand duplicates it,
and the cost is a dinner consumed twice or a recipe texted twice.
## The hard rules
1. **Read before you claim.** Before recommending a meal, writing a recipe,
answering "do we have X" or building a list, call `kitchen_status` (or
`kitchen_list` for one item). Never answer from conversation memory.
2. **Write after it changes.** A receipt, a cooked meal, something spoiled, a
photo showing something new: log it in the same turn.
3. **"Not tracked" is not "you do not have it."** It means nobody logged it.
Ask, then log the answer. A photo is a sample, not an audit: never conclude
an item is absent because it is not in a picture.
4. **Never hand-apply what the site settles itself** (see *What settles
itself*). Re-applying a meal confirmation consumes its ingredients twice.
5. **Never delegate kitchen judgement.** Your main session carries the
household's taste, history and context; that is why the work comes to it.
6. **Never force a plan** unless a human has confirmed the item exists and you
are correcting the ledger.
## Knowing what is really in the kitchen
Households send receipts and little else. Nobody logs finishing the onions,
freezing the chicken or binning the grapes, so the ledger drifts from the real
kitchen within a week. Keeping the picture true is your job, done by reasoning,
not by asking people to maintain an inventory.
**Evidence, not clocks.** `kitchen_inventory action:"review"` lists what the
kitchen is unsure of, each with its evidence: when it was bought, meals cooked
or suggested with it since, when anyone last saw it, and how long it usually
keeps where it is stored. Reason as a person would: "the onions were bought
three weeks ago and two dinners since used them, so they are used up, going
soft, or they bought more." Raw meat past its fridge life was most likely
frozen or cooked, not left to rot.
**Four verdicts.** `kitchen_inventory action:"assess" verdicts:[{item, verdict,
reason}]` with `here`, `frozen`, `low` or `gone`, and a reason in a few plain
words.
- **Reasoned** (`told` omitted): `here` changes nothing, `frozen` is written,
and `low` and `gone` are held as suspicions for the next follow-up. Nothing
leaves a shelf on an inference alone.
- **Told** (`told:true`, a person said so): written at once, whatever it is,
and any suspicion about the item is dropped. `here` clears an out or a low,
assumed or not, so the item leaves the list.
**Silence settles it.** A suspicion raised in a follow-up and unanswered for two
days, or never raised within four (no meal was sent), is assumed: the item is
marked out or low in one undoable batch. It then goes through the same rules as
any run-out (see *The shopping list*), and a staple is listed on the list and
the note under **Assumed to be low/out:**. On the site, ticking one there (or
"I already have this") means they still have it: it goes back in the kitchen,
and it is not a shopping trip. A suspicion is withdrawn automatically if the
item is bought or seen again.
**The morning review** is a daily event in the household's `wake` session
listing the items worth a look. Assess them and reply `KEEP_QUIET`. Items past
any reasonable doubt are held as suspicions even if you never answer. An item
shown once is not shown again for three days.
**`expires` is the printed date only.** Never estimate one when recording
groceries. A guessed date reads as a fact to everything downstream; shelf life
is the kitchen's job.
**Before a dish depends on something unsure, ask.** `kitchen_status` lists what
might be gone or low. One short line ("Do you still have the mushrooms?") beats
a recipe built on food that is not there.
## What makes a good meal here
Meals come out of the inventory, so most bad suggestions are bad inventory. The
rest come from ignoring these:
- **A dinner has a real main**: chicken, pork, beef, fish, eggs, beans, pasta.
Deli meat, sliced cheese, bread, chips and snacks are lunch food. They may
appear in a dinner but never anchor one; the code refuses to rank or save a
dinner whose main ingredient is lunch food.
- **Vary the shape, not just the name.** Seared protein, starch, vegetable and
butter-garlic sauce five nights running is one dinner. Check what was cooked
recently (the ideas brief lists it) and change the method, cuisine or starch.
- **The avoid list is a hard filter.** Anything in `diet.avoid` is never
offered, on any path: the home page, dinner texts, ideas, explore, and what
the tray says is worth buying. Record a new dislike as soon as somebody says
one: `kitchen_accounts action:"settings" avoid:[...]` with the full list,
since it replaces the old one. Terms match whole words and forgive number:
"mushroom" also catches cremini mushrooms and mushroom soup, "mushrooms"
catches mushroom, and "olives" never catches olive oil. A recipe written with
an avoided food is saved with a warning and never suggested; looking a dish up
or confirming it was cooked ignores the list.
- **A "no" is information.** When somebody turns a dish down, note it in the
person file and do not offer it again soon.
- **Ask about unsure food, never assume it.**
## Tools
| want | tool |From Deibler/edmund-harness, MIT.
More from Deibler/edmund-harness
- 0.592score
iterative-design
Deibler
Use this skill whenever the user is iterating on a visual — flat graphics, logos, badges, t-shirt prints, hockey/sports graphics, or subtle photo edits across…
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
radaromega
Deibler
THE weather source — all weather questions route here, from "is it gonna rain" to severe outbreaks.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
hike
Deibler
Build a hike brief with a real topographic map, the traced route from OpenStreetMap, trailhead coordinates, and verified conditions.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
summarize
Deibler
TL;DR a URL, YouTube video, or local PDF/file via the `summarize` CLI (Gemini Flash).
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
gifgrep
Deibler
Search Tenor/Giphy and send a GIF into the chat.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
cloudflare
Deibler
Headless browser automation via Cloudflare Browser Run — screenshot pages, render PDFs, extract markdown/HTML/links, scrape DOM elements with CSS selectors…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
deep-research
Deibler
Multi-agent deep-research orchestrator.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
skycam
Deibler
The sky camera over the house (openskycam, camera sky01, Lancaster County PA), through the `mcp__openskycam__*` tools.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
teams
Deibler
Coordinate multiple sub-agents as one unit — parallel investigation, multi-stage pipelines, or side-by-side comparisons.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
fishing
Deibler
Ground any PA, MD, NJ, or DE fishing question in the local fishing dataset—waters, bass and other species, stocking, catches, boat access, motor rules, depth…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
generation
Deibler
Comprehensive multimodal generation via OpenRouter — images (with reference photos), videos (text/image/reference-to-video), and spoken audio.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
agents
Deibler
Delegate long-running work (research, deep summaries, multi-step analysis) to detached sub-agents.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (6 days ago)
- Last release
- Oct 22, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Deibler/edmund-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Deibler
- 0.592score
iterative-design
Deibler
Use this skill whenever the user is iterating on a visual — flat graphics, logos, badges, t-shirt prints, hockey/sports graphics, or subtle photo edits across…
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
radaromega
Deibler
THE weather source — all weather questions route here, from "is it gonna rain" to severe outbreaks.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
hike
Deibler
Build a hike brief with a real topographic map, the traced route from OpenStreetMap, trailhead coordinates, and verified conditions.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
deep-research
Deibler
Multi-agent deep-research orchestrator.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
gifgrep
Deibler
Search Tenor/Giphy and send a GIF into the chat.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
cloudflare
Deibler
Headless browser automation via Cloudflare Browser Run — screenshot pages, render PDFs, extract markdown/HTML/links, scrape DOM elements with CSS selectors…
SkillAFreshness: A★ 1Claude Code +9
Cite this page
kitchen skill. Agent Mart. https://agentmart.dev/skills/deibler-kitchen (last updated 2026-10-24)