Creates beautiful, protein-focused weekly dinner menus for families with research capabilities. Generates printer-ready PDFs (8.5x11) with random design styles, identifies leftover opportunities, suggests local restaurants, emphasizes seasonal ingredients, and includes Homemade Pizza Fridays. Use when users want to plan family dinners, create refrigerator menus, or need meal planning assistance.
This skill creates beautiful, research-backed weekly dinner menus designed for families, with a focus on high-protein meals, seasonal ingredients, and practical leftover planning.
When a user requests a menu, first determine what ingredients or preferences they have:
Ask the user:
If the user doesn't provide specific ingredients: Assume all ingredients will be purchased from the grocery store and proceed with planning.
Use web search to gather information:
Seasonal Ingredients:
Recipe Ideas:
Restaurant Options:
Leftover Assessment:
Create a 7-day dinner menu following these guidelines:
Monday-Thursday:
Friday:
Saturday:
Sunday:
Leftover Days:
Use the scripts/generate_menu.py script to create the PDF:
from scripts.generate_menu import create_menu_pdf
import datetime
menu_data = {
'title': 'Family Dinner Menu',
'subtitle': f'Week of {datetime.datetime.now().strftime("%B %d, %Y")}',
'meals': [
{
'day': 'Monday',
'name': 'Grilled Salmon with Roasted Brussels Sprouts',
'protein': 'Salmon fillet (6oz)',
'prep_time': '30 min',
'notes': 'Seasonal fall vegetables'
},
{
'day': 'Tuesday',
'name': 'Monday Leftovers',
'notes': 'Use remaining salmon and veggies'
},
# ... continue for all 7 days
]
}
# The function will randomly select a design style
design_used = create_menu_pdf(menu_data, output_path)
Menu Data Structure:
title: Menu title (usually "Family Dinner Menu" or similar)subtitle: Date range for the weekmeals: List of meal objects with:
day: Day of the week (required)name: Meal name (required)protein: Primary protein source (optional but recommended)prep_time: Estimated cooking time (optional)notes: Special notes like "leftover", "seasonal", "restaurant info" (optional)After generating the menu:
The script randomly selects from these designs:
All designs are optimized for 8.5x11 inch paper and include the meal details in an easy-to-read format.
The main PDF generation script that creates beautiful menus with random design styles. Uses ReportLab library and the bundled fonts.
Collection of 36+ fonts used for different design styles, including Poppins, Montserrat, PlayfairDisplay, FredokaOne, Satisfy, Lora, and DejaVu font families.
Default zip code: 20136 (Centreville, Virginia)