forecast
Skill304 starsChanged 2 months agoMITView on GitHub
Generate time-series forecasts and projections for metrics over future time periods. Use this skill whenever the user asks about future values, predictions, or projections — phrases like "what will X look like next month?", "forecast DAU for Q2", "project revenue", "estimate future growth", "what should we expect?", "predict next quarter", "where are we headed?", "extrapolate this trend", or explicitly invokes "/forecast". This skill is essential after trend analysis when you need to quantify what comes next, when sizing opportunities that depend on future state, when planning capacity or resources based on anticipated volumes, or whenever turning historical patterns into forward-looking estimates. Always trigger this when users mention forecasting, predicting, projecting, estimating future values, or ask "what will happen if this continues?" — even if they don't explicitly say "forecast". The skill handles seasonality detection, model selection, confidence intervals, and validation against naive baselines to ensure projections add value.
7 other projects use a version of this.
Adopted by
Most recently taken up by
- mkaavish/forecastClaudeSkilltheir own version, first seen Nov 8, 2026
- anthropics/knowledge-work-pluginstheir own version, first seen Oct 13, 2026
- akachandan1/proofstacktheir own version, first seen Oct 11, 2026
- skyf0xx/gambittheir own version, first seen Sep 30, 2026
- mbwsims/claude-universetheir own version, first seen Apr 14, 2026
- KevinReactiv8/claude-skillstheir own version, first seen Mar 30, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- anthropics/knowledge-work-plugins★ 36ksame name
- mbwsims/claude-universe★ 71same name
- microsoft/dataverse-business-skills★ 51same name
- skyf0xx/gambit★ 29same name
- mkaavish/forecastClaudeSkill★ 1same name
- akachandan1/proofstack★ 0same name
- KevinReactiv8/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository65 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- always-compareSkill
- analysis-designSkill
- analyst-coreSkill
- archaeologySkill
- archive-analysisSkill
- auth-preflightSkill
- businessSkill
- causalSkill
- chart-to-driveSkill
- close-the-loopSkill
- codex-reviewSkill
- compare-datasetsSkill
- connect-dataSkill
- connect-snowflakeSkill
- context-compareSkill
- context-traceSkill
- data-inspectSkill
- data-mapSkill
- data-profilingSkill
- data-quality-checkSkill
- datasetsSkill
- distribution-profilerSkill
- evalSkill
- evaluate-graderSkill
- experiment-briefSkill
- experimentSkill
- exploreSkill
- exportSkill
- google-doc-exportSkill
- google-slides-exportSkill
- guardrailsSkill
- historySkill
- improve-contextSkill
- knowledge-bootstrapSkill
- log-correctionSkill
- maintain-contextSkill
- metric-specSkill
- metricsSkill
- monitor-evalsSkill
- notion-exportSkill
- paceSkill
- patternsSkill
- question-framingSkill
- question-routerSkill
- reliabilitySkill
- resume-pipelineSkill
- run-pipelineSkill
- runsSkill
- score-analysisSkill
- session-handoffSkill
- setup-dev-contextSkill
- setup-notionSkill
- setupSkill
- setup-slackSkill
- setup-snowflakeSkill
- srm-checkSkill
- stakeholder-communicationSkill
- stress-testSkill
- switch-datasetSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 11 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
After trend analysis reveals a pattern worth projecting
- Distinctive: line 18
When sizing an opportunity that depends on future values
- Distinctive: line 29
Before diving into the forecast, ask clarifying questions if the user hasn't specified:
- Distinctive: line 41
Create a pandas Series with DatetimeIndex.
- Very specific: line 46
Run detect_seasonality() from helpers/stats/forecast_helpers.py:
- Distinctive: line 47
If seasonality detected, report: "Found {strength} {period}-day seasonality."
- Distinctive: line 51
Run multiple methods and compare:
- Very specific: line 54
Naive (seasonal): If seasonality detected: naive_forecast(series, periods, method='seasonal_naive')
- Very specific: line 56
Holt-Winters: If seasonality detected and enough data: exponential_smoothing(series, seasonal_period=dominant_period)
- Distinctive: line 65
Add confidence band (±1 std of residuals) as shaded area
- Very specific: line 67
Use action_title() with a forward-looking title
- Distinctive: line 91
Never present a forecast without stating assumptions: Every forecast has an expiration date and boundary conditions.
- Distinctive: line 95
Translate to business impact automatically: Don't just report "4.09% conversion on Day 14" — connect it to the planning question: "4.09% …
- Distinctive: line 99
Strong trend + no seasonality: Use Holt's (double) exponential smoothing
- Distinctive: line 100
Very short history (<30 points): Only use naive methods, warn about accuracy
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: Forecast
Purpose
Generate time-series forecasts for key metrics using the forecast_helpers library. Supports naive baselines, seasonality detection, and exponential smoothing — enough to answer "what should we expect next?" without complex modeling.
When to Use
- User asks "what will revenue look like next month?" or "forecast DAU"
- After trend analysis reveals a pattern worth projecting
- When sizing an opportunity that depends on future values
- Invoked as
/forecast
Invocation
/forecast {metric} — forecast the named metric
/forecast {metric} periods=30 — specify forecast horizon
/forecast {metric} method=holt_winters — specify method
Instructions
Step 0: Understand the Business Context
Before diving into the forecast, ask clarifying questions if the user hasn't specified:
- What decision depends on this forecast? (e.g., capacity planning, budgeting, staffing, resource allocation)
- Who will use it? (exec summary vs technical deep-dive)
- What's the forecast horizon? (7 days, 30 days, 90 days, a quarter?)
- Are there known upcoming changes? (product launches, campaigns, seasonal events that would invalidate "business as usual" assumptions)
This context shapes how you present results. Capacity planning needs volume impacts and staffing recommendations. Budget planning needs totals and scenario ranges. Executive audiences need decision-focused summaries.
Step 1: Prepare the Data
- Identify the metric and its source table from the metric dictionary
(
.knowledge/datasets/{active}/metrics/) or from user specification. - Query the data aggregated to the appropriate granularity (daily/weekly/monthly).
- Create a pandas Series with DatetimeIndex.
- Clean: forward-fill NaN, drop leading nulls.
- Validate data sufficiency: Require at least 14 data points for short-term forecasts, 30+ for seasonal forecasts, 60+ for quarterly projections. If insufficient, report: "Not enough history for forecasting — need at least {required} points, have {actual}." Explain what additional data would enable (e.g., "With 30+ days we could detect weekly seasonality").
Step 2: Detect Seasonality
Run detect_seasonality() from helpers/stats/forecast_helpers.py:
- If seasonality detected, report: "Found {strength} {period}-day seasonality."
- Store the dominant period for use in Step 3.
Step 3: Generate Forecasts
Run multiple methods and compare:
- Naive (last value):
naive_forecast(series, periods, method='last') - Naive (seasonal): If seasonality detected:
naive_forecast(series, periods, method='seasonal_naive') - Exponential smoothing (auto):
exponential_smoothing(series) - Holt-Winters: If seasonality detected and enough data:
exponential_smoothing(series, seasonal_period=dominant_period)
Compare MSE across methods. Select the best-fit method.
Step 4: Generate Chart
Using chart_helpers:
- Call
swd_style() - Plot historical data as a solid line
- Plot forecast as a dashed line with lighter alpha
- Add confidence band (±1 std of residuals) as shaded area
- Mark the historical/forecast boundary with a vertical dashed line
- Use
action_title()with a forward-looking title - Save to
working/forecast_{metric}_{DATE}.pngusingsave_chart()
Step 5: Present Results
Structure the output based on business context from Step 0:
Always include:
- Data validation summary: "{N} days of historical data analyzed, sufficient for {horizon}-day forecast"
- Best method and why (lowest MSE on validation holdout)
- Seasonality findings (if detected)
- Forecast values for key milestones (next 7/14/30/60/90 days as relevant)
- Confidence intervals (±1σ and ±2σ)
- Standard caveats: "Forecasts assume past patterns continue. External factors not modeled."
Business context translation:
- Capacity planning: Translate forecast to volume impacts (e.g., "+4% conversion → +4% order volume → scale fulfillment by 4%"). Provide staffing/resource recommendations with risk buffers.
- Budget planning: Provide period totals (monthly, quarterly) with upside/downside scenarios. Include sensitivity to key assumptions.
- Monitoring/alerting: Suggest thresholds for when actuals diverge from forecast (e.g., "If Week 1 revenue < $X, revisit assumptions").
- Exec summary: Lead with the decision implication, then support with numbers. Example: "No team scaling needed — conversion increase (+4% over 2 weeks) is within current capacity."
The forecast numbers are necessary but not sufficient. Your job is to answer "so what?" for the user's planning context.
Rules
- Always run at least 2 methods for comparison. The user needs to know the forecast isn't arbitrary — showing that one method outperforms others builds confidence.
- Never present a forecast without stating assumptions. Every forecast has an expiration date and boundary conditions. Make them explicit.
- Always include a naive baseline. Users need to see if the model adds value beyond "just use the last value." If naive performs nearly as well, say so — simpler is better.
- Flag if residuals show systematic patterns. Autocorrelated residuals mean the model is missing something (trend, seasonality, structural break). Don't paper over this — it affects forecast reliability.
- If the data has a structural break, warn that forecasts may be unreliable. A sudden spike or drop in the last N days means the historical pattern may not continue. Surface this uncertainty.
- Translate to business impact automatically. Don't just report "4.09% conversion on Day 14" — connect it to the planning question: "4.09% conversion (+4% vs today) means approximately +4% order volume, which is within your current fulfillment capacity." The forecast is a means to a decision, not the end goal.
Edge Cases
- Constant series: Report "No variation — forecast is the constant value"
- Strong trend + no seasonality: Use Holt's (double) exponential smoothing
- Very short history (<30 points): Only use naive methods, warn about accuracy
- Data gaps: Interpolate or warn, depending on gap size
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

