Help us improve
Share bugs, ideas, or general feedback.
From kids-camp-planner
Calculates, compares, and optimizes summer camp costs for Ontario families across children, weeks, and providers. Generates markdown tables or CSV via Python budget script with discounts and subsidies.
npx claudepluginhub reggiechan74/cc-plugins --plugin kids-camp-plannerHow this skill is triggered — by the user, by Claude, or both
Slash command
/kids-camp-planner:budget-optimizationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Locate research directory:** Read `.claude/kids-camp-planner.local.md` to get the `research_dir` path (default: `camp-research`). All user data paths below are relative to this directory. The family profile is at `<research_dir>/family-profile.md`.
Financial planning skill for Canadians: conducts interviews, builds plans with dashboards, and provides coaching. Triggers on budgeting, saving, investing, retirement, tax, debt, and benefits.
Assists with event concept development, logistics planning, vendor coordination, budget management, and timeline creation for event planners.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Locate research directory: Read .claude/kids-camp-planner.local.md to get the research_dir path (default: camp-research). All user data paths below are relative to this directory. The family profile is at <research_dir>/family-profile.md.
Calculate, compare, and optimize camp costs across children, time periods, and providers. Generate budget summaries as markdown tables (default) or Excel spreadsheets. Apply Ontario-specific cost-saving strategies including tax deductions, subsidies, and discount timing.
Read the family profile from <research_dir>/family-profile.md for budget constraints. Collect per-provider costs from <research_dir>/providers/*.md files if they exist. For each camp option, ensure the following cost components are captured:
| Component | Weekly Rate | Daily Rate |
|---|---|---|
| Base camp fee | $300/week | $60/day |
| Before-care (if needed) | $50/week | $10/day |
| After-care (if needed) | $50/week | $10/day |
| Lunch program (if not packing) | $35/week | $7/day |
| Materials/equipment fee | $25 one-time | $25 one-time |
| Registration fee | $50 one-time | $50 one-time |
| Sibling discount | -10% second child | -10% second child |
| Early-bird discount | -$25/week if registered by deadline | -$25/week equivalent |
| Multi-week discount | -5% for 4+ weeks | -5% for 20+ days |
Run the budget calculator script to compute totals:
Weekly rate mode:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/budget-optimization/scripts/budget_calculator.py \
--kids 2 \
--weeks 8 \
--base-cost 300 \
--before-care 50 \
--after-care 50 \
--lunch 35 \
--sibling-discount 10 \
--format markdown
Daily rate mode:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/budget-optimization/scripts/budget_calculator.py \
--kids 2 \
--days 40 \
--daily-rate 60 \
--before-care-daily 10 \
--after-care-daily 10 \
--lunch-daily 7 \
--sibling-discount 10 \
--format markdown
The script supports both weekly and daily rate calculations. Use --days and --daily-rate for day-level pricing (takes precedence over --weeks/--base-cost if both provided). Pass --format csv to generate CSV output or --format markdown for a markdown table.
For complex multi-provider budgets, prepare a JSON input file and pass it with --input budget-input.json. The JSON format supports both "weeks" and "days" arrays (days takes precedence). See the script's --help for the JSON schema.
Create the budget file at the appropriate location:
<research_dir>/summer-YYYY/budget.md<research_dir>/march-break-YYYY/budget.md<research_dir>/pa-days-YYYY-YYYY/budget.mdMarkdown budget format (default):
# Camp Budget - Summer 2025
## Summary
| | Child 1 | Child 2 | Total |
|---|---------|---------|-------|
| Camp fees | $2,350 | $2,200 | $4,550 |
| Before/after care | $800 | $800 | $1,600 |
| Lunch | $280 | $280 | $560 |
| Registration | $50 | $50 | $100 |
| **Subtotal** | **$3,480** | **$3,330** | **$6,810** |
| Sibling discount | - | -$240 | -$240 |
| Early bird discount | -$200 | -$200 | -$400 |
| **Total** | **$3,280** | **$2,890** | **$6,170** |
## Cost by Camp Provider
| Provider | Child 1 | Child 2 | Total |
|----------|---------|---------|-------|
| YMCA Cedar Glen | $1,800 | $1,800 | $3,600 |
| City of Toronto | $200 | $400 | $600 |
| Science Camp TO | $350 | $0 | $350 |
| **Total Camp Fees** | **$2,350** | **$2,200** | **$4,550** |
## Tax Recovery Estimate
- Child care deduction (Line 21400): ~$X estimated tax savings
- Ontario Child Care Tax Credit: ~$X estimated
## Weekly Breakdown
[Week-by-week table with provider, child, and cost per week]
## Budget vs. Target
- Budget limit: $7,000
- Projected spend: $6,170
- Over/under: $830 under budget
- Recommendations: [suggestions to reduce costs]
Excel format: See ${CLAUDE_PLUGIN_ROOT}/examples/sample-budget.xlsx for the reference Excel budget template. The spreadsheet has four tabs:
When generating Excel output, use openpyxl with formulas rather than hardcoded values. The Daily Schedule tab is the primary input surface — users only fill in the date, week number, and camp name per child per day.
When the budget exceeds constraints, suggest cost reductions in priority order:
Camp fees qualify as child care expenses on Line 21400:
scripts/budget_calculator.py - Calculate camp costs across multiple children, providers, and weeks/days with discount application and tax estimates. Supports both --base-cost/--weeks (weekly) and --daily-rate/--days (daily) modes.