Structured hypothesis formulation: turn observations into testable hypotheses with predictions, propose mechanisms, design experiments. Follows the scientific method. Use scientific-brainstorming for open ideation; hypogenic for automated LLM hypothesis testing on datasets.
npx skills add https://github.com/jaechang-hits/SciAgent-Skills --skill hypothesis-generation
Hypothesis generation is a systematic process for developing testable mechanistic explanations from observations. This knowhow covers the full cycle: from understanding a phenomenon through literature synthesis, generating competing hypotheses, evaluating hypothesis quality, designing experimental tests, and formulating testable predictions.
Good hypotheses are mechanistic (explain HOW/WHY), not descriptive (restate WHAT).
| Criterion | Definition | Example of Strong | Example of Weak |
|-----------|-----------|-------------------|-----------------|
| Testability | Can be empirically investigated | "Protein X binds to receptor Y" (can test with co-IP) | "Life force drives cellular growth" (untestable) |
| Falsifiability | Specific observations would disprove it | "If X is absent, effect disappears" | "X contributes to the effect somehow" |
| Parsimony | Simplest explanation fitting the evidence | Single mechanism | Multi-step chain without evidence |
| Explanatory Power | Accounts for observed patterns | Explains dose-response and tissue specificity | Explains only one observation |
| Scope | Range of phenomena covered | Applies across related systems | Limited to single dataset |
| Consistency | Aligns with established knowledge | Consistent with known pathway biology | Contradicts thermodynamics |
| Novelty | Offers new insight | Proposes unexplored mechanism | Restates established knowledge |
Hypotheses can operate at different scales. Strong hypothesis sets include explanations at multiple levels:
What is your starting point?
├── Specific observation / data → Follow the full 8-step Workflow below
├── Broad research question → Start with Step 2 (literature search) to narrow scope
├── Existing hypothesis to refine → Start at Step 5 (evaluate quality) and iterate
└── Need creative ideation first → Use scientific-brainstorming skill, then return here
| Starting Situation | Approach | Key Steps |
|-------------------|----------|-----------|
| Unexpected experimental result | Phenomenon-driven | Steps 1→2→3→4 (focus on competing explanations) |
| Literature gap identified | Gap-driven | Steps 2→3→4→5 (focus on novelty criterion) |
| Cross-domain analogy noticed | Analogy-driven | Steps 1→4→5→6 (focus on translating mechanism) |
| Contradictory findings in literature | Conflict-driven | Steps 2→3→4→7 (focus on discriminating predictions) |
| Large dataset patterns | Data-driven | Use hypogenic first, then Steps 5→6→7 here |
Machine learning in Python with scikit-learn. Use when working with supervised learning (classification, regression), unsupervised learning (clustering, dimensionality reduction), model evaluation, hyperparameter tuning, preprocessing, or building ML pipelines. Provides comprehensive reference documentation for algorithms, preprocessing techniques, pipelines, and best practices.
Machine learning in Python with scikit-learn. Use when working with supervised learning (classification, regression), unsupervised learning (clustering, dimensionality reduction), model evaluation, hyperparameter tuning, preprocessing, or building ML pipelines. Provides comprehensive reference documentation for algorithms, preprocessing techniques, pipelines, and best practices.
Implement comprehensive evaluation strategies for LLM applications using automated metrics, human feedback, and benchmarking. Use when testing LLM performance, measuring AI application quality, or establishing evaluation frameworks.
Implement comprehensive evaluation strategies for LLM applications using automated metrics, human feedback, and benchmarking. Use when testing LLM performance, measuring AI application quality, or establishing evaluation frameworks.
Testing and benchmarking LLM agents including behavioral testing, capability assessment, reliability metrics, and production monitoring—where even top agents achieve less than 50% on real-world benchmarks
Automated scRNA-seq cell type annotation via pre-trained logistic regression. 45+ models: immune, gut, lung, brain, fetal, cancer microenvironments. Input normalized AnnData; outputs per-cell labels, majority-vote cluster labels, confidence scores. Use for fast, reference-backed annotation without manual marker inspection.
Classical ML in Python: classification, regression, clustering, dim reduction, evaluation, tuning, preprocessing pipelines. Linear models, tree ensembles, SVMs, K-Means, PCA, t-SNE. Use PyTorch/TF for deep learning; XGBoost/LightGBM for scale.
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR), with rigorous inference, diagnostics, and hypothesis tests. Use scikit-learn for ML; statistical-analysis for test choice.
Take jaechang-hits/hypothesis-generation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.