Wedding Budget Skill
Wedding budgets die two deaths: the guest list (every name is a per-head catering multiple) and the forgotten line items (vendor meals, alterations, service charges, overtime — the ~10% that appears in month eleven with no budget line waiting for it). This skill builds the budget with both priced in from day one: allocation across categories with the shares stated as defaults not laws, the per-guest lever computed so trade-offs are conscious, and a contingency line defended as load-bearing rather than skimmed first.
What This Skill Produces
- The allocation table — every category with its share and amount, from the script, overridable per real quotes
- The guest math — per-guest cost and what cutting/adding 10 names actually moves
- The forgotten-items audit — the standard omissions, each assigned to a category's line now
- The tracking discipline — budget vs. quoted vs. actual, and the rule for when a category busts
Required Inputs
Ask for these if not provided:
- The all-in number — the real total including everything (rings, attire, the honeymoon in or out — decide and label), and who's contributing what (money with strings gets its strings written down)
- The guest count, honestly — the draft list's realistic size, not the aspirational cut; it's the budget's biggest single input
- The two priorities — the couple's non-negotiables (photography? the band? the venue?) — allocation bends toward them by explicit trade, not by silent overspend
- Real quotes, as they arrive — the defaults exist to be replaced; a budget of defaults is a sketch, a budget of quotes is a plan
Programmatic Helper
python3 scripts/wedding_budget.py --budget 30000 --guests 110
python3 scripts/wedding_budget.py --budget 30000 --guests 110 --venue-food-pct 45 --json
Deterministic. Default shares are planning conventions (venue+catering ~42%, photo/video ~12%, 9% contingency…) — every one is a flag to override as real quotes land. The per-guest and cut-10-guests numbers print with the table.
Framework: The Survival Rules
- The guest list is the budget: venue+catering is ~40–50% of everything and scales per head — the script's cut-10-guests number makes the trade explicit ("ten names ≈ the photographer upgrade"). Every guest-list argument is secretly a budget argument; giving it the number makes it an honest one.
- The forgotten items get lines now: vendor meals, alterations, overtime clauses, service charges + gratuities (often 20%+ on catering and quoted separately — the classic surprise), postage, trials, day-of transport — each assigned to a category at budget time. A surprise with a budget line is just a bill.
- Contingency is load-bearing, not skimmable: ~9–10% held for the unquoted and the changed-mind; the rule is written down: contingency pays for surprises, not upgrades — upgrades come from explicit trades between categories.
- Priorities buy by trading, not creeping: "photography matters most" is implemented as photo +5 points / flowers −3 / favors −2 — a visible reallocation, so the budget still sums. The alternative (every category quietly "just a bit more") is how 30k becomes 38k without one decision being made.
- Track quoted-vs-budget the day each quote arrives: category busts announce themselves early if anyone is looking — the tracking table (budget / quoted / actual per category) turns "we're probably fine" into a number, and the bust rule is pre-agreed: re-trade between categories, cut scope, or consciously raise the total — silence is not on the list.
Output Format
Wedding Budget: [total] · [guests] guests — [date]
The Allocation
[Script output table · priorities noted with their funding trades]
The Guest Lever
[Per-guest cost · the cut/add-10 number · the current list vs. the budget's assumption]
Forgotten Items — Now Budgeted
| Item |
Assigned to category |
Est. |
Tracking
| Category |
Budget |
Quoted |
Actual |
Status |
| Bust rule: [re-trade / cut scope / raise total — decided now, in writing] |
|
|
|
|
Shares are conventions, not rules — real quotes override defaults. Educational model, not financial advice.
Quality Checks
Anti-Patterns
1---2name: wedding-budget-23description: Build a wedding budget that survives to the wedding — allocation by real shares, the per-guest lever made explicit, the routinely-forgotten line items priced in from day one, and a contingency that isn't decorative. Use when asked make a wedding budget, how do people split X across a wedding, we have N dollars and M guests, or why is our wedding over budget. Produces the allocation table from the script, the guest-count math, the forgotten-items audit, and the track-against-actuals discipline.4---56# Wedding Budget Skill78Wedding budgets die two deaths: the guest list (every name is a per-head catering multiple) and the forgotten line items (vendor meals, alterations, service charges, overtime — the ~10% that appears in month eleven with no budget line waiting for it). This skill builds the budget with both priced in from day one: allocation across categories with the shares stated as defaults not laws, the per-guest lever computed so trade-offs are conscious, and a contingency line defended as load-bearing rather than skimmed first.910## What This Skill Produces1112- **The allocation table** — every category with its share and amount, from the script, overridable per real quotes13- **The guest math** — per-guest cost and what cutting/adding 10 names actually moves14- **The forgotten-items audit** — the standard omissions, each assigned to a category's line now15- **The tracking discipline** — budget vs. quoted vs. actual, and the rule for when a category busts1617## Required Inputs1819Ask for these if not provided:20- **The all-in number** — the real total including everything (rings, attire, the honeymoon in or out — decide and label), and who's contributing what (money with strings gets its strings written down)21- **The guest count, honestly** — the draft list's realistic size, not the aspirational cut; it's the budget's biggest single input22- **The two priorities** — the couple's non-negotiables (photography? the band? the venue?) — allocation bends toward them *by explicit trade*, not by silent overspend23- **Real quotes, as they arrive** — the defaults exist to be replaced; a budget of defaults is a sketch, a budget of quotes is a plan2425## Programmatic Helper2627```bash28python3 scripts/wedding_budget.py --budget 30000 --guests 11029python3 scripts/wedding_budget.py --budget 30000 --guests 110 --venue-food-pct 45 --json30```3132Deterministic. Default shares are planning conventions (venue+catering ~42%, photo/video ~12%, 9% contingency…) — every one is a flag to override as real quotes land. The per-guest and cut-10-guests numbers print with the table.3334## Framework: The Survival Rules35361. **The guest list is the budget:** venue+catering is ~40–50% of everything and scales per head — the script's cut-10-guests number makes the trade explicit ("ten names ≈ the photographer upgrade"). Every guest-list argument is secretly a budget argument; giving it the number makes it an honest one.372. **The forgotten items get lines now:** vendor meals, alterations, overtime clauses, service charges + gratuities (often 20%+ on catering and quoted *separately* — the classic surprise), postage, trials, day-of transport — each assigned to a category at budget time. A surprise with a budget line is just a bill.383. **Contingency is load-bearing, not skimmable:** ~9–10% held for the unquoted and the changed-mind; the rule is written down: contingency pays for *surprises*, not upgrades — upgrades come from explicit trades between categories.394. **Priorities buy by trading, not creeping:** "photography matters most" is implemented as photo +5 points / flowers −3 / favors −2 — a visible reallocation, so the budget still sums. The alternative (every category quietly "just a bit more") is how 30k becomes 38k without one decision being made.405. **Track quoted-vs-budget the day each quote arrives:** category busts announce themselves early if anyone is looking — the tracking table (budget / quoted / actual per category) turns "we're probably fine" into a number, and the bust rule is pre-agreed: re-trade between categories, cut scope, or consciously raise the total — silence is not on the list.4142## Output Format4344# Wedding Budget: [total] · [guests] guests — [date]4546## The Allocation47[Script output table · priorities noted with their funding trades]4849## The Guest Lever50[Per-guest cost · the cut/add-10 number · the current list vs. the budget's assumption]5152## Forgotten Items — Now Budgeted53| Item | Assigned to category | Est. |54|---|---|---|5556## Tracking57| Category | Budget | Quoted | Actual | Status |58|---|---|---|---|---|59**Bust rule:** [re-trade / cut scope / raise total — decided now, in writing]6061*Shares are conventions, not rules — real quotes override defaults. Educational model, not financial advice.*6263## Quality Checks6465- [ ] The total is all-in with honeymoon/rings in-or-out stated66- [ ] The per-guest lever and cut-10 number appear67- [ ] Every forgotten item has a category and an estimate68- [ ] Priorities show their funding trades — no category grew without another shrinking69- [ ] The bust rule is written before any category busts7071## Anti-Patterns7273- [ ] Do not budget the aspirational guest list — the realistic list, or the venue line is fiction74- [ ] Do not skim the contingency for upgrades — it's for the surprises the audit couldn't name75- [ ] Do not let service charges and gratuities live outside the table — 20% of the biggest category is not a footnote76- [ ] Do not average competing quotes into the budget — pick the likely vendor's number and track it77- [ ] Do not moralize the spending level — the skill's job is that the chosen number survives, whatever it is