Research Closure

VerifiedCaution

Enforce a claim-to-evidence-to-decision workflow for research projects, with explicit gates, decisions, and artifacts.

Sby Skills Guide Bot
Data & AIIntermediate
9/4/2026
Claude CodeCodex
#research-workflow#experiment-design#hypothesis-testing#decision-log#claim-graph

Recommended for

Automated summary

Enforces a frozen-claim → hypothesis → bounded test → evidence → decision loop for research projects, gating both new experiments and result reporting.

Strengths

  • Blocks vague requests such as "explore whether this works" and requires question, hypothesis, measurement, kill criterion and time budget before coding.
  • Forces exactly one verdict per experiment — supported, falsified, inconclusive or terminated — and requires a named defect when inconclusive.
  • Tracks a claim graph with ready-frontier probes and files off-scope ideas explicitly instead of letting them leak into the sprint.
  • Failure handling escalates in order (correctness → measurement → falsification → narrowing → termination) rather than jumping straight to a pivot.

Limitations

  • Depends on a pre-existing .research/ state and the two CLI tools; little works out of the box without them.
  • The strict gates can be overkill for small or genuinely open-ended explorations.
  • Assumes a single frozen claim per sprint, which may not fit multi-track research.
When to use it

Use when planning an experiment, changing scope mid-sprint, or closing out results on a research project that needs auditable decisions.

When not to use it

Avoid for open-ended brainstorming or quick prototypes where no testable claim can be frozen in advance.

Security analysis

Caution
Quality score84/100

The skill is a research-process discipline document with no destructive commands, no network calls, no credential handling, and no obfuscation. Its only execution surface is invoking project-local Python CLI tools and reading/writing a `.research/` state directory, which is legitimate for its purpose but does mean the agent runs code it cannot verify from the skill text alone — hence caution rather than outright safe.

Findings
  • •Instructs the agent to execute local Python scripts (`tools/research_closure.py`, `tools/claim_graph.py`) that are referenced but not bundled with the skill, so behavior depends on whatever code sits at that path in the target repo.
  • •Reads and mutates project-local state files (`.research/state.json`, `.research/claim_graph.json`) including write operations via `add-idea`/`init`/`add-*` subcommands.
  • •No declared allowed-tools, yet the workflow implicitly requires shell/python execution.
How this analysis is made

Examples

Plan the next bounded test
Read the research state and claim graph, run the guard and frontier checks, then tell me the next bounded experiment: frozen claim, hypothesis, measurement, kill criterion and time budget.
Scope-gate a side idea
I want to try a few alternative loss functions — can you add this to the research backlog? Use the scope gate and tell me whether it actually tests the current frozen claim.
Close the loop on results
Here are the eval numbers from the estimator run. Run the result gate and give me one decision — supported, falsified, inconclusive or terminated — with the evidence and the next smallest action.

name: research-closure description: Enforce a claim-to-evidence-to-decision workflow for research projects. Use when planning experiments, implementing research code, analyzing results, changing scope, or preparing weekly updates.

Research Closure Skill

Objective

Turn open-ended research into small, inspectable, closed units.

The governing loop is:

Frozen claim
→ falsifiable hypothesis
→ bounded test
→ evidence
→ explicit decision
→ written artifact

Start-of-task protocol

Read .research/state.json and .research/claim_graph.json (the claim graph is the engine), then run:

python tools/research_closure.py guard
python tools/claim_graph.py frontier
python tools/research_closure.py next

Report:

Frozen claim:
Session deliverable:
Out of scope:
Ready frontier:      (the probes whose guards are satisfied)
Resolution map:      determined (<verdict>) | open

If there is no frozen claim, do not create a large implementation. Help define a 7–14 day claim first, then author the claim graph (claim_graph.py init --claim "...", then add-variable / add-edge / add-absent / add-probe / add-resolution, then validate) before start-sprint.

New-experiment gate

Before coding, require all fields:

Question:
Hypothesis:
Intervention:
Measurement:
Expected artifact:
Kill criterion:
Time budget:
Claim-graph probe:   (the P-node this experiment runs; must be on the ready frontier)

Reject vague tasks such as:

  • “explore whether this works”;
  • “try several alternatives”;
  • “improve the method”;
  • “find a better objective”.

Rewrite them as a single testable claim.

Result gate

Every experiment ends in exactly one decision:

  • supported
  • falsified
  • inconclusive
  • terminated

“Inconclusive” must name a specific defect, such as estimator variance, implementation uncertainty, insufficient intervention range, or metric saturation.

Never accept “needs more experiments” as a complete decision.

Scope gate

A new idea is in scope only if success or failure directly changes confidence in the frozen claim.

Otherwise:

python tools/research_closure.py add-idea \
  --idea "..." \
  --reason "Does not test the current frozen claim."

Failure handling

Use this order:

  1. implementation correctness;
  2. measurement validity;
  3. hypothesis falsification;
  4. claim narrowing;
  5. termination;
  6. project pivot.

Do not jump from step 1 to step 6.

Graduation-mode optimization

Prefer:

  • existing code over a rewrite;
  • a minimal environment over a new benchmark;
  • a correct limited theorem over a universal informal claim;
  • a complete note over an additional method;
  • a decision over continued ambiguity.

End-of-task protocol

Report:

Artifact produced:
Evidence:
Decision:
Next smallest action:

Then update the CLI state or write the relevant decision log.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/research-closure-mtmi9alm/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/research-closure-mtmi9alm' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/research-closure-mtmi9alm/download' --output '.skill-downloads/research-closure-mtmi9alm/SKILL.md.part' && mv '.skill-downloads/research-closure-mtmi9alm/SKILL.md.part' '.skill-downloads/research-closure-mtmi9alm/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/research-closure-mtmi9alm/SKILL.md' && test -s '.skill-downloads/research-closure-mtmi9alm/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/research-closure' && cp -R '.skill-downloads/research-closure-mtmi9alm' '.claude/skills/research-closure'

Codex
test -f '.skill-downloads/research-closure-mtmi9alm/SKILL.md' && test -s '.skill-downloads/research-closure-mtmi9alm/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/research-closure' && cp -R '.skill-downloads/research-closure-mtmi9alm' '.agents/skills/research-closure'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/research-closure-mtmi9alm'

openskills read 'research-closure-mtmi9alm'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/research-closure-mtmi9alm/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills