Agent skill

Pxmeter

by bytedance in bytedance/PXMeter

Used to invoke the PXMeter tool for rigorous quality assessment of biomolecular structure prediction models (e.g., proteins, nucleic acids, small molecules).

Apache-2.0Auto-check passedResearch & Science

Install Pxmeter

skills CLI
$ npx skills add bytedance/PXMeter --skill pxmeter -a claude-code

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

GitHub CLI
$ gh skill install bytedance/PXMeter pxmeter --agent claude-code

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

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

Facts

Skill name
pxmeter
GitHub stars
102
Token cost
~3.4k tokens
SKILL.md length
1,582 words
Files
171
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Used to invoke the PXMeter tool for rigorous quality assessment of biomolecular structure prediction models (e.g., proteins, nucleic acids, small molecules).

  • Works in 8 steps: Core Concepts & Metrics → Single Sample Evaluation CLI Command → pxm gen-input Input Generation → …
  • This skill when the user asks to run PXMeter
  • SKILL.md covers 1. Core Concepts & Metrics, 2. Single Sample Evaluation…, 3. pxm gen-input Input… and 4. pxm stereocheck Polymer…, plus 4 more sections
  • Runs Python scripts from its folder; calls python

What it does

Pxmeter is an agent skill from bytedance/PXMeter. Used to invoke the PXMeter tool for rigorous quality assessment of biomolecular structure prediction models (e.g., proteins, nucleic acids, small molecules). This skill covers single-sample CIF evaluations and large-scale dataset benchmarks, providing rich result parsing support. Trigger this skill when the user asks to "run PXMeter", "compare PDB/CIF evaluation results of different tools", "check benchmark scores", or asks "how accurate is the structure generated by the model".

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 173 other files (for example `.pre-commit-config.yaml`, `CODE_OF_CONDUCT.md` and `CONTRIBUTING.md`).

It sits in Research & Science, covering Schema markup. The repository describes itself as: Structural Quality Assessment for Biomolecular Structure Prediction Models. The licence is Apache-2.0.

When your agent uses it

  • This skill when the user asks to run PXMeter
  • Compare PDB/CIF evaluation results of different tools
  • Check benchmark scores
  • Asks how accurate is the structure generated by the model

Example prompts

  • “run PXMeter”
  • “compare PDB/CIF evaluation results of different tools”
  • “check benchmark scores”
  • “/pxmeter”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Core Concepts & Metrics
  2. Single Sample Evaluation CLI Command
  3. pxm gen-input Input Generation
  4. pxm stereocheck Polymer Stereochemistry Validation
  5. Batch Benchmark Workflow
  6. Configuration Overrides
  7. Interpreting Benchmark Results
  8. FAQ & Troubleshooting for AI

What it can do on your machine

Read from SKILL.md and the folder at commit 7211724. 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, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    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

Pxmeter loads about 3.4k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 1,582 words of instructions outside code blocks.

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

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 bytedance/PXMeter at commit 7211724, republished under its Apache-2.0 licence (© bytedance). 1,582 words, ~3,370 tokens.

Download SKILL.mdSave it as .claude/skills/pxmeter/SKILL.md (or your agent's skills folder). This skill also uses 170 other files; get the full folder from GitHub.
name
pxmeter
description
Used to invoke the PXMeter tool for rigorous quality assessment of biomolecular structure prediction models (e.g., proteins, nucleic acids, small molecules). This skill covers single-sample CIF evaluations and large-scale dataset benchmarks, providing rich result parsing support. Trigger this skill when the user asks to "run PXMeter", "compare PDB/CIF evaluation results of different tools", "check benchmark scores", or asks "how accurate is the structure generated by the model".

PXMeter Agent Skill

EXTREMELY IMPORTANT: DO NOT SCAN FOR FILES Under NO circumstances should you use find, Glob, ls -R, or Task/Explore subagents to search for missing .cif or .json evaluation files. The dataset storage contains millions of structures, and any recursive search will completely crash or hang the session. If you don't know the exact path, you MUST construct it via $PXM_MMCIF_DIR or immediately ask the user. DO NOT GUESS.

1. Core Concepts & Metrics

PXMeter has powerful all-atom matching capabilities. Even if the model outputs disordered PDB/CIF chains, PXMeter can find the correct correspondence at the sequence and geometric levels through symmetry resolution (Permutation).

Key Metrics Guide (Must-Read for AI):
  1. LDDT (Local Distance Difference Test):
    • Meaning: A superposition-free score for local structure differences.
    • Interpretation: Scored out of 100. >80 is generally considered good quality. For the environment around ligands (LDDT-PLI), this value reflects the accuracy of the model's binding pocket prediction.
  2. DockQ:
    • Meaning: Specifically measures the interaction interface quality between polymers like protein-protein complexes.
    • Interpretation: Rages from 0 to 1. Usually, DockQ > 0.23 is considered a successful interaction interface (Acceptable). Batch Benchmarks often output avg_dockq_avg_sr (success rate).
  3. Pocket-aligned RMSD (Ligand RMSD):
    • Meaning: Root-mean-square deviation of the ligand calculated after aligning the binding pocket of the model and the reference structure.
    • Interpretation: Unit is Å. Typically, RMSD < 2.0 Å is considered a successfully predicted binding pose (Success).
  4. PoseBusters Validity (Stereochemical Check):
    • Meaning: Verifies whether the generated small molecule conformation violates physicochemical rules (e.g., severe steric clashes, incorrect chirality).
    • Interpretation: Usually outputs success rates, such as pb_all_valid_sr (proportion passing all chemical checks) and pb_all_valid_and_good_rmsd_sr (proportion passing both validity checks and RMSD < 2.0 Å).

2. Single Sample Evaluation CLI Command

🚨 Remember: Never use Glob, find, or ls -R if you lack the paths. If you don't know the exact reference.cif path, either assemble it (e.g. $PXM_MMCIF_DIR/{id}.cif) and do a direct ls check, or STOP and ask the user.

If the user provides a pair of CIF files and asks for an evaluation, generate and execute the following command:

bash
pxm -r <reference.cif> -m <model.cif> -o <output.json>

Advanced Parameter Scenarios:

  • Evaluation with Ligands: If the user cares about the binding quality of specific small molecule ligands, you must use the -l parameter to specify the chain ID. Without it, RMSD and PoseBusters will not be output.
    • pxm -r ref.cif -m model.cif -l A,B -o output.json
  • Processing Specific Assemblies:
    • --ref_assembly_id 1 (Defaults to Asymmetric Unit if not provided).
  • Overriding Built-in Hyperparameters: Use -C, e.g., to ignore ligand mapping:
    • -C mapping.mapping_ligand=false

3. pxm gen-input Input Generation

If the user only has mmCIF reference structures, or wants to convert between different model input formats (e.g., converting AlphaFold3 JSON to Boltz YAML), PXMeter provides a convenient CLI tool:

bash
pxm gen-input \
  -i <INPUT_PATH> \
  -o <OUTPUT_PATH> \
  -it <cif|af3|protenix|boltz|openfold3> \
  -ot <af3|protenix|boltz|openfold3> \
  --num-seeds <N>
  • This command supports both single-file conversion and batch conversion of flat directories.
  • Interactive Mode: If the user runs pxm gen-input without any parameters, it enters an interactive terminal mode, guiding the user step-by-step to build the input file.

4. pxm stereocheck Polymer Stereochemistry Validation

In addition to calculating metrics against a reference, PXMeter provides a standalone tool to evaluate the stereochemical rationality of polymer structures (like proteins and nucleic acids) within a single generated CIF file, without needing a reference structure.

If the user wants to "check if the generated structure has stereochemical violations" or "evaluate bond lengths/angles of the protein", run:

bash
pxm stereocheck -c <model.cif> -o <stereochem_report.csv>
  • This command will scan the <model.cif> and output a CSV report (defaulting to stereochem_report.csv) listing any stereochemical violations (e.g., severe bond length or bond angle deviations) found in the polymer chains. If the structure is completely valid, it will report "No stereochemistry violations found."

5. Batch Benchmark Workflow

If the user needs to evaluate and aggregate an entire dataset, follow these steps.

Step 5.1 Evaluation Phase (run_eval.py)

First, specify the dataset root directory and execute run_eval. PXMeter has built-in support for parsing various model structures like protenix, af3, chai, boltz.

bash
export PXM_EVAL_DATA_ROOT_PATH="<path/to/dataset>"

python -m benchmark.run_eval \
    -i <infer_results_dir> \
    -o <output_eval_dir> \
    -m <model_name> \
    -n -1
Step 5.2 Aggregation and Presentation Phase (show_results.py)

Aggregate the previous <output_eval_dir> results into a final CSV table. First, create a config.json to declare the model name and result paths:

json
{
  "MyModel": {
    "model": "protenix",
    "seeds": [1, 2, 3],
    "dataset_path": {
      "RecentPDB": "<output_eval_dir>"
    }
  }
}

Then run:

bash
python -m benchmark.show_results \
    -c config.json \
    -o ./pxm_results \
    -t Summary,DockQ,LDDT,RMSD

6. Configuration Overrides

PXMeter allows overriding default behaviors via the -C command-line argument, e.g., -C mapping.res_id_alignments=false. Here are important options users might need:

6.1 Mapping Configuration

Controls how the reference and model structures are matched:

  • mapping.mapping_polymer (default true): Whether to map protein/nucleic acid polymers. Set to false if focusing purely on non-polymers.
  • mapping.mapping_ligand (default true): Whether to map ligands (small molecules/ions). Disable to speed up pure protein evaluation if the model has unreliable ligands.
  • mapping.res_id_alignments (default true): If true, matches strictly by residue ID (suitable for refined or consistently numbered models). If false, matches via sequence alignment (suitable for De novo predictions, indels, or inconsistent numbering).
  • mapping.auto_fix_model_entities (default true): Attempts to auto-correct erroneous entity annotations in the model. Highly recommended when handling CIFs from heterogeneous sources.
6.2 Metrics Configuration

Toggle specific metrics to save time or resources:

  • metric.calc_lddt / metric.calc_dockq / metric.calc_rmsd / metric.calc_clashes / metric.calc_pb_valid (all default true): Toggles for main metrics.
  • metric.calc_cdr_h3_bb_rmsd (default false): When enabled, uses ANARCII to identify antibody sequences and calculates the backbone RMSD of the antibody CDR-H3 loop. Only enable when evaluating antibodies.
6.3 LDDT & DockQ Fine-Tuning
  • metric.lddt.nucleotide_threshold (default 30.0): Inclusion radius for nucleic acid atoms during LDDT calculation.
  • metric.lddt.non_nucleotide_threshold (default 15.0): Inclusion radius for non-nucleic (e.g., protein) atoms during LDDT calculation.
  • metric.lddt.calc_backbone_lddt (default true): Calculates and outputs an additional backbone-only LDDT score (bb_lddt).
  • metric.lddt.stereochecks (default false): If true, LDDT will ignore atoms that violate basic stereochemical rules.
  • metric.dockq.exclude_hetatms (default true): Excludes HETATMs before calculating DockQ. Set to false if the interface contains non-standard amino acids or for special peptide-protein interfaces to prevent false exclusion.

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

7. Interpreting Benchmark Results

After aggregation, a ./pxm_results directory will be generated. The AI needs to know where to find answers:

  1. "What are the overall metrics/success rates?"
    • Read pxm_results/Summary_table.csv or Summary_table.txt.
    • Look for avg_dockq_avg_sr (interaction success rate) and pb_all_valid_and_good_rmsd_sr (comprehensive ligand prediction success rate).
  2. "Which Cases (PDBs) failed prediction?"
    • Check the specific Details CSVs, such as pxm_results/DockQ_details.csv or RMSD_details.csv.
    • These tables contain fine-grained info, including entry_id (e.g., 7rss), chain_id_1, chain_id_2, and specific lddt or DockQ scores.
  3. Parquet Data Files
    • A *_metrics.parquet file will be generated in the user's dataset_path, which is the raw performance cache summarized from JSONs.

8. FAQ & Troubleshooting for AI

Q1: The user says: My model's output directory structure is not supported, throwing "Evaluator not found"?

Action: Guide the user to write a custom parser:

  1. Tell the user to run tree <prediction_dir> -L 3 to capture the directory tree of a single PDB sample.
  2. Inherit from benchmark.evaluators.base.BaseEvaluator.
  3. Implement the _get_info_from_each_pdb_dir(self, pdb_dir: Path) -> list method, extracting name, pdb_id, seed, sample, pred_cif_path, confidence_json_path. Refer to docs/ai_evaluator_helper.md.
Q2: The user asks: Why are there no small molecule RMSD and PoseBusters outputs in the single file evaluation?

Action: Inform the user: During pxm CLI evaluation, ligand-specific metrics are not calculated by default. You must explicitly declare the ligand chains of interest using -l <label_asym_id> (e.g., -l B).

Q3: The user asks: The multimer chain order predicted by the model is different from the reference structure, will it affect the score?

Action: Explain PXMeter's mapping logic: It will not affect it. PXMeter matches entities at the sequence and chemical levels before evaluation. For homologous multimers, it uses geometric alignment to resolve Symmetry, eliminating chain permutation ambiguity; for intra-molecular atoms, it also matches at the atomic level, ensuring the evaluated atoms perfectly correspond.

Q4: How to handle custom small molecules (non-PDB standard CCD)?

Action: Remind the user they can use the --chain_id_to_mol_json parameter, passing a JSON file containing a <chain_id>: <SMILES> dictionary. This guides PXMeter to identify and correctly parse non-standard small molecules generated by the model.


Instructions for AI Agent:

  1. 🚨 CRITICAL RULE: NEVER SCAN THE DISK FOR CIF FILES: When a user's instruction is missing key parameters (like reference.cif), ABSOLUTELY DO NOT use find, Glob, ls -R, or the Task/Explore subagents to search for missing CIF files! The dataset directories contain millions of files; any form of recursive scanning will hang the system and fail the task.
    • ONLY Try Direct Path Assembly: Try checking the exact path using the $PXM_MMCIF_DIR environment variable (if set) or similar paths like $PXM_EVAL_DATA_ROOT_PATH/supported_data/mmcif. E.g., directly ls $PXM_MMCIF_DIR/7rss.cif. Do not guess subdirectories.
    • If the direct path doesn't work, YOU MUST STOP IMMEDIATELY. Ask the user: "Please provide the exact path to the reference structure (reference CIF) and the model's prediction result. Note: I cannot scan for these files because the dataset is too large."
  2. Proactive Result Parsing: After executing any pxm command, if there are output results, proactively parse the JSON or generated CSV files. Do not just report that the command executed successfully; you must also summarize the most important metric scores for the user (e.g., "The LDDT score for this structure is 85.2, and the ligand RMSD is 1.5Å, which falls into the category of a successful prediction").
  3. Addressing Source Code Implementation Queries: When the user asks about the specific implementation principles of pxmeter or benchmark:
    • First, check if a pxmeter directory exists in the current working directory.
    • If not in the current directory, try looking for the pxmeter source code in Python's site-packages installation path (obtainable via python -c "import pxmeter; print(pxmeter.__path__[0])").
    • If the user asks about benchmark aggregation or dataset pipelines (e.g., run_eval), search for the code in the benchmark directory within the current working directory.
    • If the corresponding pxmeter or benchmark code repositories cannot be found in either of these locations, stop searching and explicitly ask the user: "Where is the pxmeter code repository or installation path located?"

© bytedance, 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 170 other files in the repository root of bytedance/PXMeter.

  • SKILL.md
  • .flake8
  • .gitignore
  • .pre-commit-config.yaml
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • LICENSE
  • MANIFEST.in
  • README.md
  • benchmark/__init__.py
  • benchmark/aggregator.py
  • benchmark/configs/__init__.py
  • benchmark/configs/data_config.py
  • benchmark/configs/dataset_metrics_config.py
  • benchmark/configs/eval_type_config.py
  • benchmark/dataset_pipeline/__init__.py
  • benchmark/dataset_pipeline/run_pipeline.py
  • benchmark/dataset_pipeline/step1_filter_for_recentpdb.py
  • … and 153 more

Open the folder on GitHubat commit 7211724

Compare with similar skills

Pxmeter 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.

Pxmeter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pxmeter this skillbytedance/PXMeter102—~3.4kAutomated safety check: PassApache-2.0
Computing Ecqmsmaziyarpanahi/openmed5.5k—~1.6kAutomated safety check: PassApache-2.0
Parallel WebK-Dense-AI/scientific-agent-skills48k1 repos~2.2kAutomated safety check: NotesMIT
Parallel WebK-Dense-AI/claude-scientific-writer2.4k—~1.8kAutomated safety check: NotesMIT
Dril Dataset Constructionfranklee16/academic-research-skills223—~2.6kAutomated safety check: PassNone
Schema Researchaiskillstore/marketplace430—~2.5kAutomated safety check: PassNone

Similar skills

  • Computing Ecqms

    maziyarpanahi/openmed

    Compute electronic clinical quality measures (eCQMs) over structured data using CQL/QDM logic, lifting note-derived numerator and exclusion facts from OpenMed to improve measure capture.

    5.5k GitHub stars~1.6k tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Parallel Web

    K-Dense-AI/scientific-agent-skills

    Uses Parallel CLI for web search, URL extraction, deep research, structured data enrichment, entity discovery, and recurring web monitoring.

    48k GitHub starsUsed in 1 repo~2.2k tokens
    Research & ScienceAuto-check: notes
  • Parallel Web

    K-Dense-AI/claude-scientific-writer

    Use Parallel CLI for web search, URL extraction, deep research, structured data enrichment, entity discovery, and recurring web monitoring.

    2.4k GitHub stars~1.8k tokensUpdated 8 days ago
    Research & ScienceAuto-check: notes
  • Dril Dataset Construction

    franklee16/academic-research-skills

    Implement the DRIL (Deep Research on a Loop) methodology to construct economic datasets from primary sources using AI agents.

    223 GitHub stars~2.6k tokensUpdated 20 days ago
    Research & ScienceAuto-check passed
  • Schema Research

    aiskillstore/marketplace

    Schema.org research assistant for Logseq Template Graph. An agent skill from aiskillstore/marketplace.

    430 GitHub stars~2.5k tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Bright Data MCP

    brightdata/skills

    Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.

    264 GitHub starsUsed in 1 repo~3.7k tokens
    Productivity & AutomationAuto-check passed

Questions about Pxmeter

What does Pxmeter do?

Used to invoke the PXMeter tool for rigorous quality assessment of biomolecular structure prediction models (e.g., proteins, nucleic acids, small molecules). Pxmeter is an agent skill from bytedance/PXMeter., proteins, nucleic acids, small molecules).

When should I use Pxmeter?

Pxmeter fits situations like: this skill when the user asks to run PXMeter; compare PDB/CIF evaluation results of different tools; check benchmark scores; asks how accurate is the structure generated by the model.

How do I install Pxmeter in Claude Code?

Run `npx skills add bytedance/PXMeter --skill pxmeter -a claude-code`. Or copy the skill folder (the bytedance/PXMeter repository) into .claude/skills/pxmeter in your project. Claude Code loads it when a task matches its description.

How do I install Pxmeter in Codex?

Run `npx skills add bytedance/PXMeter --skill pxmeter -a codex`. Or copy the skill folder (the bytedance/PXMeter repository) into .agents/skills/pxmeter in your project. Codex loads it when a task matches its description.

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

What does Pxmeter need to run?

Going by SKILL.md and its folder, Pxmeter needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Pxmeter 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 Pxmeter 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 Pxmeter use?

Pxmeter is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pxmeter use?

About 3.4k tokens (SKILL.md is roughly 13k 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 Pxmeter?

Skills that share tags, products or a category with Pxmeter: Computing Ecqms (maziyarpanahi/openmed, 5.5k stars), Parallel Web (K-Dense-AI/scientific-agent-skills, 48k stars), Parallel Web (K-Dense-AI/claude-scientific-writer, 2.4k stars) and Dril Dataset Construction (franklee16/academic-research-skills, 223 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pxmeter?

bytedance (a GitHub organization) maintains it in bytedance/PXMeter, which has 102 GitHub stars. The repository was last updated on August 7, 2026.

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