generate-week

Generates a Sunday-to-Saturday gluten-free weekly meal plan with recipes, validation gates, and a review PR.

Updated Aug 1, 2026
One-click install
npx skills add https://github.com/tonytino/aubreyshungry --skill generate-week-tonytino
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: generate-week
Source: https://github.com/tonytino/aubreyshungry/tree/main/.claude/skills/generate-week
Command: npx skills add https://github.com/tonytino/aubreyshungry --skill generate-week-tonytino

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Planning a full week of meals that must satisfy strict dietary constraints (gluten-free, no cashews or pistachios, anti-inflammatory) is error-prone and time-consuming, and a single mistake is treated like a security vulnerability. This Skill automates the entire owner-run workflow: agreeing the target week, drafting schema-valid week and recipe JSON files, running deterministic safety gates, performing an adversarial dietary-safety review, and opening a human-reviewed PR. ## Core Features & Use Cases - Interactive week selection: Computes candidate Sunday-start weeks in America/Denver time via a tested helper script, then asks the owner which week to generate or regenerate. - Use-it-up planning: Incorporates on-hand ingredients about to spoil, scheduling the most perishable items early in the week while never overriding the dietary golden rules. - Deterministic safety gates: Runs content schema validation, a dietary linter, and the full preflight suite before any PR is opened. - Adversarial review round: Dispatches a fresh subagent to audit the diff for dietary safety, correctness, copyright, and variety before shipping. - Use Case: The owner invokes /generate-week on Thursday after a reminder issue fires; the Skill drafts content/weeks/2026-08-16.json plus new recipe files, passes all gates, and opens a safe:human PR titled "feat(plan): week of 2026-08-16". ## Quick Start Invoke /generate-week with no arguments and answer the two prompts about the target week and any fresh ingredients on hand that need using up.

Frequently Asked Questions about generate-week

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a weekly meal plan with this Skill?

Invoke /generate-week with no arguments in a local Claude Code session. The Skill computes candidate Sunday-start weeks, asks which week to target and what fresh food is on hand, then drafts the week and recipe JSON files, runs all gates, and opens a PR.

How are week dates and boundaries calculated?

Weeks run Sunday to Saturday and are identified by the starting Sunday's date in YYYY-MM-DD form. All date math uses the tested scripts/plan-reminder/current-week.mjs helper in America/Denver time; shell date arithmetic with date -d is forbidden because it behaves differently on macOS.

Can on-hand ingredients override the dietary restrictions?

No. On-hand items are a soft preference only; anything violating the gluten-free or cashew/pistachio rules is excluded and named in the PR body. Items matching avoidIngredients require explicit owner confirmation before use.

What validation gates must pass before the meal plan PR opens?

Three gates run in order: pnpm validate:content for schema and referential integrity, pnpm lint:dietary for the deterministic golden-rule linter, and pnpm preflight for Biome, TypeScript, and Vitest. A mandatory adversarial review round follows before the PR is opened.

Does this Skill run in CI or merge its own PRs?

No. It runs only in owner-invoked local sessions with zero metered LLM spend per ADR-007. The session opens the PR with safe:human and related labels, drives CI green, then stops; only the owner reviews and merges.

Why should tree-nut ingredients be avoided in generated recipes?

The mandated cross-contact safety note for tree nuts currently trips the dietary linter due to open issue #16. Until an owner-gated allowlist fix lands, recipes should use seeds like pumpkin, sunflower, chia, or flax instead, and safety text must never be weakened to pass the linter.