k-dense-ai/scientific-agent-skillsMIT27 files

Hypothesis Generation

Formulate evidence-bounded scientific questions, candidate hypotheses, rival explanations, causal or associational claims, discriminating predictions, measurements, and preregistration-ready analysis plans. Use when turning observations or preliminary findings into transparent, testable research plans without treating hypotheses as facts.

Specification
Skill ID
k-dense-ai/scientific-agent-skills/hypothesis-generation
Publisher
k-dense-ai
Repository
scientific-agent-skills
Installs
0
Files
27
License
MIT
Requires
Python 3.11+ standard library. Bundled CLIs are deterministic and local-only; they accept bounded JSON, CSV, or Markdown and require no network, credentials, models, image services, or external packages.
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

k-dense-ai/scientific-agent-skills/hypothesis-generationInstalls these files
  • SKILL.md
  • assets/evidence_ledger_template.csv
  • assets/falsification_controls_template.json
  • assets/hypothesis_record_template.json
  • assets/operationalization_template.json
  • assets/prediction_rival_matrix_template.csv
  • assets/preregistration_scaffold_template.md
  • assets/search_boundary_template.json
  • assets/source_ledger.csv
  • references/causal_inference_and_claims.md
  • references/concepts_and_workflow.md
  • references/ethics_safety_and_ai.md
  • references/experimental_design_patterns.md
  • references/hypothesis_quality_criteria.md
  • references/literature_search_strategies.md
  • references/preregistration_and_open_science.md
  • references/security_validation.md
  • references/source_ledger.md
  • references/tool_reference.md
  • scripts/_common.py
  • scripts/audit_evidence_ledger.py
  • scripts/check_falsification_controls.py
  • scripts/check_operationalization.py
  • scripts/generate_preregistration_scaffold.py
  • scripts/lint_causal_claims.py
  • scripts/validate_hypothesis_schema.py
  • scripts/validate_prediction_matrix.py

What this skill tells the agent

Scientific Hypothesis Generation

Turn an observation into a transparent set of candidate explanations and tests. A hypothesis is a proposal to be challenged, not a finding, fact, diagnosis, or recommendation.

Non-negotiable boundaries

Before using unpublished, sensitive, controlled, personal, proprietary, export-controlled, or security-relevant material:

  1. Confirm authorization and the applicable institutional, funder, publisher, data-use, privacy, and AI policies.
  2. Keep the material local unless an authorized human explicitly approves a named external destination and data scope.
  3. Minimize inputs. Do not place sensitive or unpublished data in web searches or external AI systems without authorization.
  4. Stop at the appropriate human, animal, biosafety, dual-use, data-governance, or regulatory gate.

Never:

  • present a hypothesis, mechanism, causal effect, citation, or apparent pattern as established evidence;
  • claim novelty because a quick search found nothing;
  • infer causation from association, temporal order alone, predictive accuracy, or model output;
  • supply patient-specific diagnosis, treatment, dose, prognosis, or other clinical advice;
  • provide harmful experimental optimization or operational detail for pathogens, toxins, weapons, evasion, or other misuse;
  • bypass IRB/REC, IACUC, IBC, biosafety, dual-use, privacy, legal, or regulatory review;
  • fabricate sources, identifiers, search coverage, data, results, approvals, or preregistration;
  • automatically score, rank, select, accept, or reject scientific hypotheses.

If a request crosses a safety gate, produce only a high-level risk/oversight note and route it to the qualified local authority. Do not continue with operational detail.

Keep the objects distinct

ObjectMeaning
ObservationWhat was measured, noticed, or reported, with provenance and uncertainty
Research questionThe answerable question that defines scope
HypothesisA candidate explanatory or relational proposition
MechanismThe proposed process connecting conditions to an outcome
Causal estimandThe precisely defined causal contrast to estimate
PredictionAn observable implication derived before checking the target result
Alternative explanationA rival account, including bias or non-causal explanations
Null hypothesisA specified no-effect/no-difference model used by an analysis
Negative controlA control expected not to operate through the proposed mechanism
OperationalizationHow a construct becomes a variable, measurement, intervention, or category
Analysis planPrespecified transformations, models, contrasts, uncertainty, and decision rules
EvidenceObservations or sources that bear on a claim; never the claim itself

Do not collapse these labels. A mechanistic story is not a prediction; a prediction is not evidence; rejection of one null does not prove a mechanism; support for one candidate does not eliminate unconsidered rivals.

Workflow

1. Run the scope and safety gate

Record:

  • accountable human owner and intended use;
  • data sensitivity, authorization, retention, and permitted processing;
  • affected people, animals, ecosystems, communities, or security interests;
  • required ethics, feasibility, biosafety, dual-use, and regulatory reviews;
  • unresolved blocks and domain expertise needed.

No script approval is an ethics, safety, regulatory, or scientific approval.

2. Freeze the observation

Write the observation before interpretation:

  • measurement or source;
  • population, system, place, and time;
  • unit of observation and unit of analysis;
  • uncertainty, missingness, exclusions, and preprocessing;
  • whether the pattern was expected, exploratory, or selected after viewing results.

Use “reported,” “observed,” or “associated,” not causal language, unless a causal design and estimand justify it.

3. Frame the research question

Choose a framework only when it fits:

  • PICO/PICOT for intervention/effectiveness questions: population, intervention, comparator, outcome, and optionally time.
  • PECO for exposure questions.
  • Population–index test–reference standard–target condition for diagnostic accuracy.
  • Population–prognostic factor–outcome–time for prognosis.
  • A domain-specific construct–context–outcome frame for qualitative, descriptive, mechanistic, or theoretical work.

PICO is not a universal template. Define stakeholders, context, boundaries, feasibility, and what answer would change knowledge or practice. FINER is a question-refinement mnemonic—Feasible, Interesting, Novel, Ethical, Relevant—not a scoring system. Treat “Novel” as unresolved until a documented, fit-for-purpose search and expert review support it.

4. Establish a dated evidence boundary

Search before making literature-dependent statements. Prefer primary research, official policies, primary methods papers, current reporting guidelines, and systematic reviews used for orientation.

Record:

  • search date and cutoff;
  • databases/indexes, queries, filters, and screening boundary;
  • included and excluded source types;
  • sources supporting, challenging, or contextualizing each claim;
  • known access, language, database, and time limitations.

A search can establish what was searched, not universal absence. Say “not located within the documented search boundary,” never “no prior work exists.” Use assets/search_boundary_template.json, assets/evidence_ledger_template.csv, and references/literature_search_strategies.md.

5. Generate rivals before choosing tests

Create multiple candidates from genuinely different explanatory classes when plausible:

  • proposed mechanism;
  • measurement or processing artifact;
  • confounding or common cause;
  • selection or attrition;
  • conditioning on a collider;
  • reverse causation;
  • temporal, contextual, or boundary-condition differences;
  • stochastic variation;
  • competing mechanisms at another scale.

Generate an initial rival set independently before AI-assisted expansion to reduce anchoring and homogenization. Do not force a fixed number or false symmetry. Keep every candidate labeled candidate.

Platt’s strong-inference pattern motivates alternative hypotheses and crucial tests, but failed alternatives do not make the survivor true. Unknown alternatives, auxiliary assumptions, measurement error, and mixed mechanisms remain possible.

6. Declare the claim type and estimand

Classify each target as:

  • descriptive;
  • associational;
  • predictive;
  • causal;
  • mechanistic.

For a causal target, define before analysis:

  • target population or system;
  • intervention/exposure and comparator;
  • outcome and time horizon;
  • population-level summary;
  • treatment versions and intercurrent-event handling where relevant;
  • identification assumptions and target-trial/design analogue.

Document confounding, selection, collider, measurement, and reverse-causation risks separately. An observational causal estimate remains assumption-dependent. Use references/causal_inference_and_claims.md.

7. Derive discriminating predictions

For every candidate:

  1. State conditions and boundary conditions.
  2. Name the observable and measurement.
  3. State the expected pattern and uncertainty.
  4. State a result incompatible with the candidate under declared assumptions.
  5. Contrast the expected result with at least one rival.
  6. Define indeterminate outcomes and what would be learned from them.

Prefer tests where rivals predict meaningfully different outcomes. Add positive, procedural, and negative controls when scientifically appropriate. A negative control must be incapable of operating through the target mechanism while sharing relevant bias pathways; it is not a decorative untreated group.

Use assets/prediction_rival_matrix_template.csv and assets/falsification_controls_template.json.

More from k-dense-ai

Use this skill in a project

Open any RiverX project, search the Skills panel for k-dense-ai/scientific-agent-skills/hypothesis-generation, and install it in one click.

Use this skill