Agent skill
time-series-forecasting
Use when writing, reviewing, or planning time series forecasting code. Triggers on: ARIMA, ETS, Theta, SARIMA, statsforecast, mlforecast, neuralforecast, XGBoost/LightGBM/CatBoost for time series, PatchTST, N-BEATS, TFT, Chronos, TimesFM, Moirai, MASE, MAPE, CRPS, temporal CV, walk-forward validation, prediction intervals, conformal prediction, data leakage in time series, demand forecasting, hierarchical forecasting, lag features, rolling features.
Install this agent skill to your Project
npx add-skill https://github.com/JoaquinCampo/Skills/tree/main/time-series-forecasting
SKILL.md
Time Series Forecasting Best Practices
This is a router skill. It contains universal principles inline and delegates detailed guidance to reference files loaded on demand. Always read the relevant reference files before giving advice.
Universal Principles (always apply)
- Always benchmark against naive methods. Seasonal naive is the minimum bar. Use MASE (< 1 = beating naive).
- Combine forecasts. Simple average of 3-5 diverse methods is one of the most reliable strategies across 40+ years of evidence (M1 through M6).
- Simplicity first. Complexity increases forecast error by 27% on average (Armstrong & Green, 25 studies). Only add complexity with clear evidence it helps on YOUR data.
- Never shuffle time series. All splits, CV, and preprocessing must respect temporal order.
- Fit preprocessing on training data only. Scaling, decomposition, imputation — all must be computed without future information.
- Feature engineering > model choice when covariates are available (~60% of accuracy in ML approaches).
- Trees cannot extrapolate trends. Detrend or difference before using gradient boosting.
- Report prediction intervals. Point forecasts alone are insufficient for decision-making.
- Foundation models are not universally superior. They struggle with high-frequency (<1min), financial, and specialized domains.
- Be skeptical of published benchmarks. Data contamination inflates foundation model zero-shot results by 47-184%.
Decision Router
Based on the user's scenario, read the relevant reference files from references/ in this skill directory.
Which references to load:
| User scenario | Load these references |
|---|---|
| "Which model should I use?" / model selection | model-selection.md |
| Working with ARIMA, ETS, Theta, STL, stationarity | classical-methods.md |
| Using XGBoost/LightGBM/CatBoost, feature engineering | ml-gradient-boosting.md |
| Neural networks, transformers, foundation models | deep-learning-foundation.md |
| Metrics, validation, backtesting, data leakage | evaluation-methodology.md |
| Production pipelines, tools, hierarchical forecasting | industry-tools-scale.md |
| Debugging poor results, reviewing code for mistakes | common-pitfalls.md |
Quick model selection (without loading references):
Few series + short (<100 obs) + univariate?
-> Classical: ETS, ARIMA, Theta. Combine 3-5.
Many series (1000+) + rich covariates (prices, calendar)?
-> Global LightGBM with engineered features.
Zero-shot / no training data / quick baseline?
-> Foundation model: Chronos-2 or Moirai 2.0.
Multiple seasonalities (hourly data with daily+weekly)?
-> MSTL decomposition + downstream model.
Hierarchical data (store > dept > product)?
-> Bottom-up with MinT reconciliation. Load industry-tools-scale.md.
Financial time series?
-> Accept that most methods won't beat naive. Use purged CV.
Quick metric selection (without loading references):
Default metric? -> MASE (always safe)
Multiple series, different scales? -> MASE or GMRAE
Stakeholders need percentages? -> WAPE (never MAPE)
Intermittent / sparse demand? -> MASE (never MAPE/sMAPE)
Probabilistic forecasts? -> CRPS + coverage
How to use this skill
- Read this SKILL.md first to understand the user's scenario.
- Load 1-3 relevant reference files based on the router table above.
- Apply universal principles regardless of which references you load.
- When in doubt, load
common-pitfalls.md— most forecasting failures are evaluation/leakage errors, not model choice errors.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
sparse-retrieval-eval
Evaluate sparse retrieval models on standard IR benchmarks (BEIR, MIRACL, mMARCO). Covers all IR metrics (nDCG@k, Recall@k, MAP, MRR), dataset loading, sparse corpus encoding to CSR matrices, IDF-weighted retrieval, caching, and result interpretation. Triggers on: evaluate retrieval, BEIR benchmark, nDCG, recall@k, sparse retrieval evaluation, MIRACL evaluation, information retrieval metrics, IR evaluation, search quality metrics.
wandb-plot
Download and generate plots from Weights & Biases runs. Use when you need to: - List projects you have access to - List runs in a W&B project - Inspect available metrics for a run - Download existing plot images from a run - Generate line plots from metric history (loss, accuracy, etc.)
go
Go engineering best practices and idioms. This skill should be used when writing, reviewing, or refactoring Go code. Triggers on any .go file work, Go module operations, go test, go build, go run, go vet, go generate, or when the user mentions Go, golang, goroutines, channels, context, Go interfaces, Go error handling, Go testing, or Go concurrency. ALWAYS use this skill when Go code is involved, even for simple functions.
fastapi
FastAPI best practices and conventions. Use when working with FastAPI APIs and Pydantic models for them. Keeps FastAPI code clean and up to date with the latest features and patterns, updated with new versions. Write new code or refactor and update old code.
kvpress
kvpress (NVIDIA) KV-cache compression for HuggingFace LLMs. Use when: kvpress imports, compression_ratio, press(model) context managers, StreamingLLMPress, SnapKVPress, ExpectedAttentionPress, TOVAPress, KnormPress, KV-cache eviction, token pruning during generation, or attention sink methods.
plantuml
Create, edit, and render PlantUML diagrams. Triggers on: architecture diagrams, flowcharts, sequence diagrams, data models, state machines, visual documentation.
Didn't find tool you were looking for?