Agent skill

Text Features

by PKU-YuanGroup in PKU-YuanGroup/OpenAI4S

Turn free-text rows into calibrated numeric features with TypeSafe Jev, then model them on a leakage-safe development split.

Apache-2.0Auto-check passedData & Analytics

Install Text Features

skills CLI
$ npx skills add PKU-YuanGroup/OpenAI4S --skill text-features -a claude-code

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

GitHub CLI
$ gh skill install PKU-YuanGroup/OpenAI4S text-features --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/text-features .claude/skills/text-features && 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
text-features
GitHub stars
622
Token cost
~1.3k tokens
SKILL.md length
527 words
Files
4
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Turn free-text rows into calibrated numeric features with TypeSafe Jev, then model them on a leakage-safe development split.

  • Tasks that involve Machine learning
  • SKILL.md covers When to use it, When not to use it, Data that leaves the machine and Import and run, plus 1 more section
  • Runs Python scripts from its folder

What it does

Text Features is an agent skill from PKU-YuanGroup/OpenAI4S. Turn free-text rows into calibrated numeric features with TypeSafe Jev, then model them on a leakage-safe development split. The main model proposes Noul/Score questions; host.judge answers every row; sklearn in the science extra fits and evaluates. Features keep their source question and measurement error and are not a human gold standard.

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

It sits in Data & Analytics, covering Machine learning. It works with scikit-learn. 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 Apache-2.0.

When your agent uses it

  • Tasks that involve Machine learning

Example prompts

  • “/text-features”

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

    Ships script files (Python), which the agent can run.

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

  • Network

    No URLs in SKILL.md.

    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

Text Features loads about 1.3k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 527 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~1.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 Apache-2.0 licence (© PKU-YuanGroup). 527 words, ~1,336 tokens.

Download SKILL.mdSave it as .claude/skills/text-features/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
text-features
description
Turn free-text rows into calibrated numeric features with TypeSafe Jev, then model them on a leakage-safe development split. The main model proposes Noul/Score questions; host.judge answers every row; sklearn in the science extra fits and evaluates. Features keep their source question and measurement error and are not a human gold standard.
origin
openai4s
license
Apache-2.0
category
model-evaluation

Text features (experimental)

Use this skill when you have many free-text rows and a supervised target, and you want calibrated numeric features instead of bag-of-words. The main model proposes operationalizable questions; Jev answers each row; the sidecar fits a model on a development split and scores the frozen test split once.

This is experimental. Turn on text_features under Customize → Experimental (the master experimental-judgment switch must also be on). Headless: set OPENAI4S_EXPERIMENTAL_JUDGMENT=1 and OPENAI4S_JUDGMENT_TEXT_FEATURES=1. When the capability is off, the helpers return status: "disabled" and do not raise.

When to use it

  • Lots of free text (notes, abstracts, reports) plus a label or score.
  • You need features a colleague can read: each column is a question, a probability or graded expectation, and a spread.
  • You can hold out a test set and leave it untouched while questions change.

When not to use it

  • Small samples, or no supervised target — there is nothing to freeze against.
  • Sensitive data. Selected row text is sent to api.typesafe.ai. The service is hosted in the United States. Do not enable this on clinical notes, secrets, or anything that must not leave the machine.
  • You need a human gold standard. Jev features are not a human gold standard. They are calibrated model judgments of the text you sent, with measurement error. Do not treat a Noul probability as a verified fact.

Data that leaves the machine

Every featurize call sends the user-selected row text in state.text to TypeSafe Jev, together with the question instructions. Identifiers go in state.id so you can audit which rows were judged. Quote location and numeric modeling stay in this sidecar.

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

Import and run

The directory contains a hyphen, so import it with importlib:

python
from importlib import import_module

tf = import_module("text-features.kernel")

questions = tf.propose_questions(
    "Predict whether an abstract reports a significant clinical result.",
    examples,
    n=12,
)
table = tf.featurize(
    rows,
    questions,
    text_field="text",
    id_field="id",
)
study = tf.run_feature_study(
    rows,
    target="label",
    split_by="patient_id",  # or time_col="date"
    rounds=3,
    text_field="text",
    id_field="id",
)

propose_questions asks host.llm for Noul (yes/no facts) and Score (written-level grades) questions, then validates and deduplicates them.

featurize calls host.judge("features.custom", ...) once per row. Each Noul becomes one column, P(yes). Each Score becomes two columns: the expected level normalized to [0, 1], and the standard deviation of that distribution on the same scale. Unavailable rows are filled with NaN and counted; they are not replaced with a default. Every column keeps the question text and template version.

run_feature_study reuses audit-dataset, plan-ml-experiment (grouped or chronological split), and evaluate-model (metrics and bootstrap 95% CI). Question edits, feature screening, and thresholds use the development rows only. The test split is judged once, after the question set is frozen. The report includes lift versus a constant baseline and a bootstrap interval, plus the question-set version and per-feature provenance. Binary targets are encoded in the reported target_classes order; predictions are probabilities of the second class. Rows with missing targets are excluded from fitting and metrics. Baseline and feature-model lift use the same rows with available predictions.

Modeling uses numpy / pandas / scikit-learn when the science extra is installed. They are imported lazily. They are not core dependencies. Without them the sidecar still featurizes and falls back to a linear least-squares fit.

Required output

Name the split, the frozen question-set version, each feature's source question and template version, unavailable-row counts, cost (requests and tokens), the baseline, the lift, and the bootstrap interval. Never describe the features as labels, facts, or a human gold standard.

© PKU-YuanGroup, Apache-2.0. 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 3 other files in skills/text-features of PKU-YuanGroup/OpenAI4S.

  • SKILL.md
  • README.md
  • README_zh.md
  • kernel.py

Open the folder on GitHubat commit 4a72e87

Compare with similar skills

Text Features 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.

Text Features compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Text Features this skillPKU-YuanGroup/OpenAI4S622—~1.3kAutomated safety check: PassApache-2.0
Scikit LearnzLanqing/codex-claude-academic-skills4.7k16 repos~3.9kAutomated safety check: PassBSD-3-Clause
Senior Data ScientistRaidriar7170/hermes-skilleval1255 repos~1.4kAutomated safety check: PassMIT
Time Series Analytics Useropen-edge-platform/edge-ai-libraries171—~3.1kAutomated safety check: PassApache-2.0
Estimate Online Covariancemicroprediction/precise337—~535Automated safety check: PassMIT
Precisemicroprediction/precise337—~782Automated safety check: PassMIT

Similar skills

  • Scikit Learn

    zLanqing/codex-claude-academic-skills

    Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.

    4.7k GitHub starsUsed in 16 repos~3.9k tokens
    Data & AnalyticsAuto-check passed
  • Senior Data Scientist

    Raidriar7170/hermes-skilleval

    World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics.

    125 GitHub starsUsed in 5 repos~1.4k tokens
    Data & AnalyticsAuto-check passed
  • Time Series Analytics User

    open-edge-platform/edge-ai-libraries

    Build a new time-series analytics use case on top of the deployed Time Series Analytics microservice — bring it up with Docker Compose (from a repo clone, or by fetching the compose files from…

    171 GitHub stars~3.1k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Estimate Online Covariance

    microprediction/precise

    Estimate a covariance / correlation / precision matrix incrementally with precise.

    337 GitHub stars~535 tokensUpdated 4 days ago
    Data & AnalyticsAuto-check passed
  • Precise

    microprediction/precise

    Online (incremental) covariance, correlation, and precision estimation in Python — the streaming complement to sklearn.covariance.

    337 GitHub stars~782 tokensUpdated 4 days ago
    Data & AnalyticsAuto-check passed
  • Aeon Time Series Machine Learning

    davila7/claude-code-templates

    Guides time series machine learning with the aeon toolkit: classification, regression, clustering, forecasting, anomaly detection, segmentation and similarity search.

    33k GitHub starsUsed in 13 repos~2.6k tokens
    Data & AnalyticsAuto-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 yesterday
    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 yesterday
    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 yesterday
    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 yesterday
    Auto-check passed
  • Reaction Yield Estimation

    PKU-YuanGroup/OpenAI4S

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

    622 GitHub stars~2.3k tokensUpdated yesterday
    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 yesterday
    Auto-check passed

Works with

Questions about Text Features

What does Text Features do?

Turn free-text rows into calibrated numeric features with TypeSafe Jev, then model them on a leakage-safe development split. Text Features is an agent skill from PKU-YuanGroup/OpenAI4S. Turn free-text rows into calibrated numeric features with TypeSafe Jev, then model them on a leakage-safe development split.

When should I use Text Features?

Text Features fits situations like: tasks that involve Machine learning.

How do I install Text Features in Claude Code?

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

How do I install Text Features in Codex?

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

Can I use Text Features 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 text-features -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/text-features, .gemini/skills/text-features, .github/skills/text-features and .opencode/skills/text-features in your project.

What does Text Features need to run?

Going by SKILL.md and its folder, Text Features needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Text Features access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Text Features 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 Text Features use?

Text Features is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Text Features use?

About 1.3k tokens (SKILL.md is roughly 5.3k 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 Text Features?

Skills that share tags, products or a category with Text Features: Scikit Learn (zLanqing/codex-claude-academic-skills, 4.7k stars), Senior Data Scientist (Raidriar7170/hermes-skilleval, 125 stars), Time Series Analytics User (open-edge-platform/edge-ai-libraries, 171 stars) and Estimate Online Covariance (microprediction/precise, 337 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Text Features?

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.