编程

feast-timeline-conductor

试用

Use when cooking a multi-dish meal that must all land on the table at one time (holiday dinners, dinner parties, big Sunday roasts) — backward-schedules every dish from your serve time across limited oven shelves and burners, temp-tolerance co-baking (±25°F), rest/hold windows, make-ahead splits, and a minute-by-minute kitchen timeline with hands-busy conflict warnings.

它能做什么

Every host knows the disaster: turkey still resting, potatoes boiling over, the gratin went in late, and dinner "at 19:00" becomes 20:15 with cold sides. The problem is not cooking skill — it is **scheduling**. A holiday meal is a resource-constrained project (one oven, four burners, two hands) tha…

技能文档

Feast Timeline Conductor

Overview

Every host knows the disaster: turkey still resting, potatoes boiling over, the gratin went in late, and dinner "at 19:00" becomes 20:15 with cold sides. The problem is not cooking skill — it is scheduling. A holiday meal is a resource-constrained project (one oven, four burners, two hands) that people run from memory.

This skill turns a dish list into a backward-scheduled timeline anchored to your serve time:

  1. Every dish gets stages prep → cook → rest, laid out backwards from the serve time, using each dish's hold window as slack.
  2. Oven as a shared resource — dishes co-bake only if temperatures are within 25°F and shelf capacity allows; conflicting dishes are shifted earlier into their hold slack automatically.
  3. Burner capacity — limited slots, same greedy resolution.
  4. Make-ahead detection — dishes marked make_ahead move to a "day-before" list instead of competing on the day.
  5. Hands-busy audit — if two prep tasks collide, you are told before you're standing there with two knives.
  6. Feasibility check — if the serve time is impossible, the earliest feasible time is computed instead of a silently broken plan.

When to Use

  • "Dinner is at 19:00, I have 7 dishes, one oven — when does everything go in?"
  • Planning a holiday meal (Thanksgiving, Christmas, Easter, Eid, Seder)
  • Dinner parties where dishes have different oven temperatures
  • "Can I still serve at 18:30 if I start now?" → feasibility check
  • Deciding what to make ahead the day before

Don't use for: single-dish cooking, industrial kitchens, or dishes you can't describe with prep/cook/rest minutes. It schedules; it does not cook.

Quick Start

# 1. Generate a sample dishes.json to copy from
python3 scripts/feast.py example --out dishes.json

# 2. Get the full timeline for a 19:00 serve
python3 scripts/feast.py plan --serve 19:00 --dishes dishes.json

# 3. ...when you're starting later than planned
python3 scripts/feast.py plan --serve 19:00 --dishes dishes.json --now 15:40

# 4. Different kitchen: 3 shelves, 6 burners
python3 scripts/feast.py plan --serve 18:30 --dishes dishes.json --shelves 3 --burners 6

The Dish File

[
  {
    "name": "Roast turkey",
    "prep_min": 30,
    "cook_min": 180,
    "rest_min": 45,
    "equipment": "oven",
    "temp_f": 350,
    "hold_min": 20,
    "shelves": 2
  },
  {
    "name": "Green bean casserole",
    "prep_min": 15,
    "cook_min": 35,
    "rest_min": 10,
    "equipment": "oven",
    "temp_f": 375,
    "hold_min": 15,
    "shelves": 1
  },
  {
    "name": "Mashed potatoes",
    "prep_min": 25,
    "cook_min": 30,
    "equipment": "burner",
    "rest_min": 0,
    "hold_min": 30
  }
]
  • temp_f optional; oven dishes without temps are treated as temperature-agnostic (co-bake with anything).
  • hold_min = how long the finished dish stays good. This is your slack — the scheduler consumes it to resolve conflicts.
  • make_ahead: true → dish is moved to the day-before list entirely.

How Scheduling Works

  1. Sort dishes by cook time descending (the big roast claims its slot first).
  2. Latest cook end = serve + hold − rest. Work backwards from there.
  3. An oven slot is valid during [start, start+cook] only if, at every minute, either the oven is free, or every co-baking dish's temperature is within 25°F and total shelves ≤ capacity.
  4. If the latest slot conflicts, slide the start earlier minute-by-minute (into hold slack) until it fits.
  5. Prep is laid immediately before the cook start, so knife-work naturally staggers across dishes.
  6. After scheduling, prep windows are pairwise-checked for overlap — overlapping hands-on work is flagged as a conflict warning, not silently accepted.
  7. If any prep would have to start before --now, the plan is infeasible; the tool searches forward (5-minute steps) for the earliest feasible serve time and reports it.

Common Pitfalls

  1. Optimistic hold times. A soufflé has ~0 min hold; a braised dish has 60+. If you lie in hold_min, the scheduler happily builds a plan that ruins food. Be honest per dish.
  2. Forgetting rest matters. Big roasts need 20–45 min rest, which is free scheduling space — another dish can finish the oven in that window.
  3. Two things at ±300°F cannot co-bake. The 25°F tolerance is real physics of doneness, not bureaucracy. Dishes far apart in temperature must be sequenced, and the tool sequences them.
  4. Prep collisions. If the plan says you're dicing onions while whipping cream at 18:05, the warning is the plan working — move one prep earlier by hand or simplify a dish.
  5. Not using make_ahead. Cranberry sauce, stock, pies, and casseroles assembled ahead don't belong in day-of competition at all.

Verification Checklist

  • Every dish appears in the timeline exactly once (plus rest/serve lines)
  • No oven interval over capacity or over temp tolerance
  • Prep windows don't overlap (or warnings are acknowledged)
  • Everything lands within [serve, serve + hold] of its own window
  • If --now was given, the plan starts in the future

One-Shot Recipes

Classic Thanksgiving for 8, serve 18:00:

python3 scripts/feast.py example --out dishes.json
python3 scripts/feast.py plan --serve 18:00 --dishes dishes.json --now 09:00

Two-oven household: run twice with different dish files, or set --shelves 4 and let co-baking rules approximate it.

"When could I possibly serve?" — drop --serve, add --now:

python3 scripts/feast.py plan --dishes dishes.json --now 16:00

The tool reports the earliest feasible serve time for that start.

相关技能

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván855 次安装69 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván559 次安装18 星标

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai22 次安装8 星标

从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。

作者 fly0pants4.3k 次安装296 星标

voronindenis5 的更多技能

浏览全部技能

Prepare salary negotiations with a structured toolkit: market-rate anchoring math, walk-away floor calculation, total-compensation evaluation (equity, bonuses, benefits), negotiation scripts for offers, raises, and counter-offers, and BATNA analysis. Use when the user has a job offer, is preparing a raise conversation, wants to know if their pay is competitive, or needs scripts and a strategy for negotiating compensation.

作者 voronindenis51 次安装

Use when your calendar is eating your week and you want to know exactly where the time goes, when planning recurring meetings for a team, before proposing a new recurring meeting, when someone says 'we should sync weekly' and you want data, or when auditing which meetings to kill — imports ICS calendar files, measures meeting hours per week/person/meeting-series (including double-bookings and fragmentation), computes focus-time destruction from meeting placement, scores the true cost of each series (hours × attendees × frequency), flags specific meetings to kill/shorten/make-async using explicit rules, and simulates the recovered hours before anyone has to argue about it.

作者 voronindenis52 次安装

Audit password vault exports (Bitwarden, 1Password, KeePass, Chrome, Firefox) for reuse, weakness, staleness, breach exposure, and 2FA gaps without ever storing or transmitting a plaintext password. Use when the user asks to audit passwords, check password strength/reuse, review vault health, or verify whether credentials appeared in breaches.

作者 voronindenis51 次安装

Turn flat resume bullets ('Responsible for X') into quantified STAR-method achievement narratives, score resumes against job descriptions for ATS keyword coverage and weak-phrase hazards, and expand each bullet into interview-ready stories with likely follow-up questions. Use when the user is writing or updating a resume/CV, preparing bullets for a job application, tailoring a resume to a specific job posting, or preparing interview stories from their experience.

作者 voronindenis51 次安装

Agent self-awareness of cognitive states — context fatigue, attention drift, memory debt, confidence erosion, and skill staleness. Detect, report, and mitigate degrading conditions before they cause failures.

作者 voronindenis5