Convergence check
Scientific agent skills for Claude Code and Codex that turn research goals into auditable hypothesis generation, review, ranking, evolution, and synthesis.
npx -y skills add panjose/Co-Scientist --skill convergence-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Evaluate whether a hypothesis newly entered the current top-k set and update the convergence counter deterministically.
SKILL.md
2.4 KB, as published. Nobody here has run it
convergence-check
Goal:
- Evaluate whether a hypothesis newly entered the current top-k set and update the convergence counter deterministically.
Inputs:
hypothesis_idprevious_top_k_idscurrent_top_k_ids- current convergence count
- caller-owned
state/EVOLUTION_STATE.json
Outputs:
ConvergenceCheckResult- updated convergence count
- when consumed by the evolution loop, updated
state/EVOLUTION_STATE.json
Context Loading:
- Open
skills/shared-references/schema-index.md. - Read
packages/agent_contracts/pipeline_control.pyand confirm the exactEvolutionStateContractshape before writingstate/EVOLUTION_STATE.json. - Treat the top-k sets as caller-supplied frontier inputs. This skill only evaluates the rule and updates the counter.
Execution Contract:
- This skill is deterministic and must not call an LLM.
- Use
from tools import evaluate_convergenceas the stable invocation surface. - The exported helper is implemented in
packages/agent_mechanics/convergence_check.py. - The helper signature is
evaluate_convergence(hypothesis_id, previous_top_k_ids, current_top_k_ids, current_convergence_count) -> ConvergenceCheckResult.
Execution Steps:
- Open
skills/shared-references/schema-index.md, then readpackages/agent_contracts/pipeline_control.pybefore writingstate/EVOLUTION_STATE.json. - Read the candidate
hypothesis_id, the previous and current top-k sets, and the current convergence count. - Call
tools.evaluate_convergence(hypothesis_id, previous_top_k_ids, current_top_k_ids, current_convergence_count). - Return the
ConvergenceCheckResultto the caller. - When used by the evolution loop, persist the returned
entered_top_kandconvergenceCountvalues intostate/EVOLUTION_STATE.json. - Validate any updated
state/EVOLUTION_STATE.jsonartifact before declaring completion.
Artifact Rules:
- The convergence rule is fixed: entering the top-k frontier resets the counter to zero; otherwise the counter increments by one.
- Do not fold additional stopping logic into this skill. Stop decisions belong to evolution state management and completion verification.
Completion Rule:
- This skill is complete only when the deterministic result has been produced and any caller-owned
state/EVOLUTION_STATE.jsonupdate matches that result exactly.