wedding-budget
GitHub构建抗风险婚礼预算,通过明确宾客成本杠杆、预留遗忘项目(如服务费)及刚性应急金,提供分配表与追踪纪律。适用于预算规划、分摊咨询或超支分析,支持Python脚本生成量化方案。
Trigger Scenarios
Install
npx skills add mohitagw15856/pm-claude-skills --skill wedding-budget -g -y
SKILL.md
Frontmatter
{
"name": "wedding-budget",
"description": "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."
}
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
- The total is all-in with honeymoon/rings in-or-out stated
- The per-guest lever and cut-10 number appear
- Every forgotten item has a category and an estimate
- Priorities show their funding trades — no category grew without another shrinking
- The bust rule is written before any category busts
Anti-Patterns
- Do not budget the aspirational guest list — the realistic list, or the venue line is fiction
- Do not skim the contingency for upgrades — it's for the surprises the audit couldn't name
- Do not let service charges and gratuities live outside the table — 20% of the biggest category is not a footnote
- Do not average competing quotes into the budget — pick the likely vendor's number and track it
- Do not moralize the spending level — the skill's job is that the chosen number survives, whatever it is
Version History
- 54fad50 Current 2026-07-19 13:47


