Agent skill

Reaction Yield Estimation

by PKU-YuanGroup in PKU-YuanGroup/OpenAI4S

Estimate yield for a fully specified reactant/reagent/product record with ReactionT5v2-yield.

MITAuto-check passed

Install Reaction Yield Estimation

skills CLI
$ npx skills add PKU-YuanGroup/OpenAI4S --skill reaction-yield-estimation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PKU-YuanGroup/OpenAI4S reaction-yield-estimation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PKU-YuanGroup/OpenAI4S.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/reaction-yield-estimation .claude/skills/reaction-yield-estimation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
reaction-yield-estimation
GitHub stars
622
Token cost
~2.3k tokens
SKILL.md length
829 words
Files
3
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Estimate yield for a fully specified reactant/reagent/product record with ReactionT5v2-yield.

  • In-domain screening
  • SKILL.md covers Install and run, Scenario 6 benchmark contract, Domain gate and Output contract, plus 1 more section
  • Calls git and conda; reaches github.com
  • Not route success

What it does

Reaction Yield Estimation is an agent skill from PKU-YuanGroup/OpenAI4S. Estimate yield for a fully specified reactant/reagent/product record with ReactionT5v2-yield. Use for in-domain screening, not route success; flag domain shift and uncalibrated uncertainty.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `README.md` and `README_zh.md`).

The repository describes itself as: Open-source AI agent for scientific research. Analyze data in Python/R with Claude, GPT, Gemini, and more. The licence is MIT.

When your agent uses it

  • In-domain screening
  • Not route success
  • Flag domain shift and uncalibrated uncertainty

Example prompts

  • “/reaction-yield-estimation”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 4a72e87. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • conda

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    Also links to:

    • huggingface.co

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Reaction Yield Estimation loads about 2.3k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 829 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from PKU-YuanGroup/OpenAI4S at commit 4a72e87, republished under its MIT licence (© PKU-YuanGroup). 829 words, ~2,281 tokens.

Download SKILL.mdSave it as .claude/skills/reaction-yield-estimation/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
reaction-yield-estimation
description
Estimate yield for a fully specified reactant/reagent/product record with ReactionT5v2-yield. Use for in-domain screening, not route success; flag domain shift and uncalibrated uncertainty.
license
MIT
origin
openai4s

Reaction-yield estimation

Answer one scientific question: for a fully specified reaction string, what yield does a trained regression model predict? Only after the exact deployment passes its canaries and held-out validation may the number rank comparable in-domain reactions or prioritize experiments. Do not call it a calibrated probability of step success, and never multiply step predictions into a route success probability.

Use sagawa/ReactionT5v2-yield, a 2025 MIT checkpoint trained on Open Reaction Database records and distributed with a direct local inference example. The model takes reactants, reagents, and product; a target alone is not valid input.

Deployment status: the currently pinned released checkpoint is quarantined for quantitative use. With the upstream wrapper, canonicalization, sorted mixture components, fixed 400-token padding, and the upstream Transformers version, the published model-card canary was expected to return about 19.1666% but returned 65.924858%. Until that discrepancy is resolved against a deployment-matched held-out set, the backend may be exercised for protocol testing only and its values must not rank reactions or support scientific conclusions.

Install and run

This Skill is self-contained; it does not require access to the reaction-forward-prediction Skill. Create the isolated environment with all direct and batch dependencies:

bash
conda create -n reactiont5 python=3.11 -y
conda run -n reactiont5 python -m pip install \
  "torch" "transformers==4.40.2" "tokenizers==0.19.1" \
  "huggingface_hub[cli]==0.35.0" \
  sentencepiece rdkit datasets accelerate pandas

From an operator terminal whose current directory is the writable session workspace, acquire the reviewed source commit and immutable yield-model snapshot. Do not replace either revision with main; a different revision requires a new review and provenance record.

bash
set -eu

REACTIONT5_ROOT="$PWD/models/reactiont5"
SOURCE_COMMIT="76eb08068e10fe255cae5d563a91e1c1e9abac54"
YIELD_REVISION="f0658bfd360bceaaf560f11b850781c50221fe0b"

mkdir -p "$REACTIONT5_ROOT"
if [ ! -d "$REACTIONT5_ROOT/source/.git" ]; then
  git clone https://github.com/sagawatatsuya/ReactionT5v2.git \
    "$REACTIONT5_ROOT/source"
fi
git -C "$REACTIONT5_ROOT/source" cat-file -e "${SOURCE_COMMIT}^{commit}"
git -C "$REACTIONT5_ROOT/source" checkout --detach "$SOURCE_COMMIT"
test "$(git -C "$REACTIONT5_ROOT/source" rev-parse HEAD)" = "$SOURCE_COMMIT"
SOURCE_STATUS="$(git -C "$REACTIONT5_ROOT/source" status \
  --porcelain --untracked-files=all)"
test -z "$SOURCE_STATUS"

conda run -n reactiont5 hf download sagawa/ReactionT5v2-yield \
  --revision "$YIELD_REVISION" \
  --local-dir "$REACTIONT5_ROOT/yield-$YIELD_REVISION"

The final assertion must remain empty; if a reused checkout has modified or untracked files, stop instead of importing it as reviewed source.

Record both revisions and hashes of the downloaded regular files, and keep the snapshot outside version control. Select the environment in its own OpenAI4S Python Cell:

python
host.env.use("reactiont5")

After the switch succeeds, import the reviewed wrapper from the pinned local source checkout and load only the reviewed local snapshot in a new Cell:

python
import os
import sys
from pathlib import Path

import torch
from transformers import AutoTokenizer

source = Path.cwd() / "models" / "reactiont5" / "source"
reviewed_revision = "f0658bfd360bceaaf560f11b850781c50221fe0b"
snapshot = Path.cwd() / "models" / "reactiont5" / f"yield-{reviewed_revision}"
if not source.is_dir() or not snapshot.is_dir():
    raise FileNotFoundError("reviewed ReactionT5 source or yield snapshot is missing")
os.environ["HF_HUB_OFFLINE"] = "1"
sys.path.insert(0, str(source))
from models import ReactionT5Yield2

model = ReactionT5Yield2.from_pretrained(snapshot, local_files_only=True)
tokenizer = AutoTokenizer.from_pretrained(snapshot, local_files_only=True)
model.eval()
text = "REACTANT:<reactants>REAGENT:<reagents>PRODUCT:<product>"
inputs = tokenizer([text], return_tensors="pt")
with torch.inference_mode():
    raw_predicted_percent = float(model(inputs).detach().cpu().reshape(-1)[0])
display_percent = min(100.0, max(0.0, raw_predicted_percent))

Do not load this regression checkpoint as a plain seq2seq model. Record the model ID, reviewed revision, local file hashes, source commit, package versions, device, and input string. Never fall back from a missing snapshot to a moving Hub model ID.

The upstream task_yield/prediction_with_PreTrainedModel.py script is not audit-compliant unchanged: it overwrites its prediction column with values clipped to 0–100. If adapting it for batches, preserve two columns before writing the CSV:

python
test_ds["prediction_raw"] = prediction
test_ds["prediction_percent"] = test_ds["prediction_raw"].clip(0, 100)

Run only that reviewed adaptation from the checkout's task_yield directory; never relabel the clipped column as the raw model result. Pass its --model_name_or_path argument the local models/reactiont5/yield-f0658bfd360bceaaf560f11b850781c50221fe0b directory and set HF_HUB_OFFLINE=1; do not pass the Hub model ID.

For OpenAI4S, use reaction_model_deployment.py to install the pinned shared ReactionT5v2 environment, download sagawa/ReactionT5v2-yield at revision f0658bfd360bceaaf560f11b850781c50221fe0b, snapshot the complete local model, and call ReactionModelBackend("reactiont5_yield", ...). The committed worker contains the model-card regression head, requires a local checkpoint, disables implicit downloads, preserves raw un-clipped output, and reports package and manifest provenance.

The worker also reproduces the pinned upstream preprocessing: each molecular mixture is RDKit-canonicalized component-wise, components are sorted, an absent reagent is encoded as one blank character, and inputs are padded/truncated to 400 tokens by default. input_max_length is recorded and bounded to 32--1024. Matching preprocessing did not remove the canary discrepancy above.

Copy the wrapper exactly from the official model card or repository rather than loading the checkpoint as a plain seq2seq model. Pin the Hugging Face revision and record package versions, device, input string, and checkpoint hash.

Show full SKILL.md (280 more words)Show less

Scenario 6 benchmark contract

Use ../retrosynthesis_planning/yield_benchmark.py for the frozen random test and four molecular-framework OOD groups. Submit the raw predicted percentage; never clip it before evaluation. Intervals must be either fully specified or explicitly absent, and every prediction carries a domain-status label. The evaluator reports per-group MAE/RMSE/R2/ranking and interval diagnostics, macro-OOD MAE, and worst-group MAE rather than hiding shift behind one pooled score.

Domain gate

Before quoting the number, record:

  • whether reagents, catalyst, solvent, and temperature are known or missing;
  • whether the reaction class and substrate family resemble the validation data;
  • whether the value comes from the base checkpoint or a deployment-specific fine-tune;
  • held-out MAE/RMSE and calibration diagnostics for that deployment domain;
  • an uncertainty estimate, if and only if one was actually computed by a validated ensemble or conformal procedure.

If these checks are absent, label the output screening_only. The published benchmark includes strong C-N coupling results, but that does not establish uniform accuracy across arbitrary chemistry or laboratory protocols.

Output contract

Return reaction fields, predicted yield percent, raw unclipped value, model and revision, domain status (matched, uncertain, out_of_domain), missing-input flags, optional validated uncertainty interval, and evaluation provenance. Clip only for presentation; preserve any raw prediction outside 0–100 for audit.

Failure modes

SymptomAction
product or reagent context missingRefuse quantitative interpretation; request a complete reaction record.
raw prediction outside 0–100Preserve it, flag extrapolation, and show a clipped display value only if needed.
released model-card canary mismatchQuarantine the checkpoint; do not rank reactions until independently resolved.
no deployment-matched held-out setLabel screening_only; do not state expected experimental error.
multiple route stepsScore steps separately and report the weakest/most uncertain steps; never multiply percentages.

Primary sources: https://github.com/sagawatatsuya/ReactionT5v2 and https://huggingface.co/sagawa/ReactionT5v2-yield.

© PKU-YuanGroup, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in skills/reaction-yield-estimation of PKU-YuanGroup/OpenAI4S.

  • SKILL.md
  • README.md
  • README_zh.md

Open the folder on GitHubat commit 4a72e87

Compare with similar skills

Reaction Yield Estimation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Reaction Yield Estimation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Reaction Yield Estimation this skillPKU-YuanGroup/OpenAI4S622—~2.3kAutomated safety check: PassMIT
Yield Intelligencesickn33/agentic-awesome-skills47k1 repos~1.1kAutomated safety check: PassMIT
Task Effort EstimatorDonchitos/Claude-Code-Game-Studios26k—~1.2kAutomated safety check: PassMIT
Progressive Estimationsickn33/agentic-awesome-skills47k2 repos~863Automated safety check: PassMIT
DeFi Yield AnalysisHKUDS/Vibe-Trading35k—~2.6kAutomated safety check: PassMIT
Scheduler Yieldthedaviddias/Front-End-Checklist74k—~488Automated safety check: PassMIT

Similar skills

  • Yield Intelligence

    sickn33/agentic-awesome-skills

    Passive income portfolio analysis — activate when user asks about dividend yields, Treasury rates, REIT income, monthly passive income goals, or portfolio yield optimization.

    47k GitHub starsUsed in 1 repo~1.1k tokens
    Business, Finance & HRAuto-check passed
  • Task Effort Estimator

    Donchitos/Claude-Code-Game-Studios

    Estimates the effort for a game development task from code complexity, scope, risk and past sprint data, returning a range with a confidence level.

    26k GitHub stars~1.2k tokensUpdated 3 days ago
    Product & Project ManagementAuto-check passed
  • Progressive Estimation

    sickn33/agentic-awesome-skills

    Estimate AI-assisted and hybrid human+agent development work with research-backed PERT statistics and calibration feedback loops

    47k GitHub starsUsed in 2 repos~863 tokens
    Data & AnalyticsAuto-check passed
  • DeFi Yield Analysis

    HKUDS/Vibe-Trading

    Compares DeFi yields across lending, liquidity provision, staking and yield farming, adjusts them for risks such as impermanent loss, and judges whether a protocol's returns are sustainable.

    35k GitHub stars~2.6k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Scheduler Yield

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing JavaScript that performs synchronous loops over large datasets, recursive tree traversals, or bulk DOM updates that may exceed 50 ms on mid-range devices.

    74k GitHub stars~488 tokensUpdated 5 days ago
    Auto-check passed
  • Defi Yield Strategy Allocator

    sickn33/agentic-awesome-skills

    Multi-vault automated yield strategy allocation register: APY benchmarks, impermanent loss risk tiers, and rebalancing triggers.

    47k GitHub starsUsed in 1 repo~1.4k tokens
    Business, Finance & HRAuto-check passed

More from PKU-YuanGroup/OpenAI4S

All 17 skills in this repo
  • Single Cell Rna Analysis

    PKU-YuanGroup/OpenAI4S

    Reproducible Scanpy workflow for human or mouse 10x scRNA-seq and snRNA-seq count matrices: single-sample descriptive QC, clustering and annotation, or comparative donor-aware pseudobulk DE and Milo…

    622 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Bioprobench

    PKU-YuanGroup/OpenAI4S

    Score an LLM's biological-protocol reasoning on the BioProBench benchmark: protocol QA, step ordering, error detection, protocol generation, and LLM-judged error reasoning; or generate the responses.

    622 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Reaction Atom Mapping

    PKU-YuanGroup/OpenAI4S

    Map atoms and changed bonds for a complete reaction with RXNMapper.

    622 GitHub stars~1.2k tokensUpdated 2 days ago
    Auto-check passed
  • Reaction Forward Prediction

    PKU-YuanGroup/OpenAI4S

    Predict ranked products from reactants and reagents with ReactionT5v2-forward; use for outcome prediction or round-trip recovery.

    622 GitHub stars~2k tokensUpdated 2 days ago
    Auto-check passed
  • Rfdiffusion

    PKU-YuanGroup/OpenAI4S

    Generate de novo protein backbones with RFdiffusion for protein-target binders, hotspot-conditioned interfaces, motif scaffolding, partial diffusion, or symmetric assemblies.

    622 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed
  • Single Step Retrosynthesis

    PKU-YuanGroup/OpenAI4S

    Generate ranked one-step precursor sets for a product with RetroChimera; use for disconnection ideas or expansion-policy calls.

    622 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check passed

Questions about Reaction Yield Estimation

What does Reaction Yield Estimation do?

Estimate yield for a fully specified reactant/reagent/product record with ReactionT5v2-yield. Reaction Yield Estimation is an agent skill from PKU-YuanGroup/OpenAI4S. Estimate yield for a fully specified reactant/reagent/product record with ReactionT5v2-yield.

When should I use Reaction Yield Estimation?

Reaction Yield Estimation fits situations like: in-domain screening; not route success; flag domain shift and uncalibrated uncertainty.

How do I install Reaction Yield Estimation in Claude Code?

Run `npx skills add PKU-YuanGroup/OpenAI4S --skill reaction-yield-estimation -a claude-code`. Or copy the skill folder (skills/reaction-yield-estimation in PKU-YuanGroup/OpenAI4S) into .claude/skills/reaction-yield-estimation in your project. Claude Code loads it when a task matches its description.

How do I install Reaction Yield Estimation in Codex?

Run `npx skills add PKU-YuanGroup/OpenAI4S --skill reaction-yield-estimation -a codex`. Or copy the skill folder (skills/reaction-yield-estimation in PKU-YuanGroup/OpenAI4S) into .agents/skills/reaction-yield-estimation in your project. Codex loads it when a task matches its description.

Can I use Reaction Yield Estimation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PKU-YuanGroup/OpenAI4S --skill reaction-yield-estimation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reaction-yield-estimation, .gemini/skills/reaction-yield-estimation, .github/skills/reaction-yield-estimation and .opencode/skills/reaction-yield-estimation in your project.

What does Reaction Yield Estimation need to run?

Going by SKILL.md and its folder, Reaction Yield Estimation needs the command-line tools its instructions call (git and conda). Our summary lists: Python 3.

Does Reaction Yield Estimation access the network?

SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: huggingface.co. This is read from the text; nothing was executed.

Is Reaction Yield Estimation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Reaction Yield Estimation use?

Reaction Yield Estimation is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Reaction Yield Estimation use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Reaction Yield Estimation?

Skills that share tags, products or a category with Reaction Yield Estimation: Yield Intelligence (sickn33/agentic-awesome-skills, 47k stars), Task Effort Estimator (Donchitos/Claude-Code-Game-Studios, 26k stars), Progressive Estimation (sickn33/agentic-awesome-skills, 47k stars) and DeFi Yield Analysis (HKUDS/Vibe-Trading, 35k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Reaction Yield Estimation?

PKU-YuanGroup (a GitHub organization) maintains it in PKU-YuanGroup/OpenAI4S, which has 622 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 9, 2026.

Source: PKU-YuanGroup/OpenAI4S on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.