Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/InternScience/ChemClawnpx agentmods add skills/internscience/chemclaw/pdf-dft-extractorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/internscience/chemclaw/pdf-dft-extractor)<a href="https://agentmods.dev/skills/internscience/chemclaw/pdf-dft-extractor"><img src="https://agentmods.dev/badge/skills/internscience/chemclaw/pdf-dft-extractor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/internscience/chemclaw/pdf-dft-extractor"><img src="https://agentmods.dev/badge/skills/internscience/chemclaw/pdf-dft-extractor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00066 | $0.02596 |
| Opus 5.5 | $0.00026 | $0.01038 |
| Sonnet 5.5 | $0.00013 | $0.00519 |
| Haiku 4.5 | $0.00007 | $0.00260 |
Grade A, and why
pdf-dft-extractor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 294 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PDF DFT Extractor | DFT坐标提取器
Extract DFT calculation coordinates from PDF files (especially supplementary materials) and generate Gaussian input files (.gjf). Supports batch processing with separate output folders for each PDF. 从PDF文件(特别是论文支撑材料)中提取DFT计算坐标,生成Gaussian输入文件(gjf)。支持批量处理,每个PDF文件单独生成一个输出文件夹。
功能特性
- 📄 PDF转Markdown: 使用MinerU API将PDF转换为结构化Markdown
- 🧮 自动提取DFT坐标: 从计算化学部分自动识别和提取分子坐标
- 📁 批量处理: 支持同时处理多个PDF文件
- 📂 独立输出: 每个PDF文件生成单独的输出文件夹
- ⚙️ 可配置参数: 支持自定义CPU核数、内存、计算方法等
快速开始
命令行使用
# 单个PDF文件
python extract_dft.py paper.pdf
# 批量处理整个目录
python extract_dft.py ./pdfs/
# 指定输出目录和计算参数
python extract_dft.py ./pdfs/ -o ./output/ --cpu 64 --mem 128GB
Python API使用
from extract_dft import process_pdf, batch_process
# 处理单个PDF
result = process_pdf(
pdf_path="paper.pdf",
output_dir="./output/paper1",
cpu=64,
mem="128GB",
method="B3PW91/def2TZVP em=d3bj"
)
# 批量处理
results = batch_process(
pdf_dir="./pdfs/",
output_base_dir="./output",
cpu=64,
mem="128GB"
)
参数说明
| 参数 | 默认值 | 说明 |
|---|---|---|
-o, --output |
./dft_output |
输出目录 |
--cpu |
64 | CPU核数 |
--mem |
128GB | 内存 |
--method |
B3PW91/def2TZVP em=d3bj | 计算方法和色散校正 |
--solvent |
SMD(toluene) | 溶剂模型 |
--charge |
0 | 电荷 |
--multiplicity |
1 | 自旋多重度 |
--keywords |
opt freq | 计算关键词 |
--keep-temp |
False | 保留临时文件 |
关于Gaussian计算方法的写法
在Gaussian中,色散校正需要单独使用em=关键词指定,不要写成B3PW91-D3(BJ)的形式。
✅ 正确写法:
# B3PW91/def2TZVP em=d3bj opt freq
❌ 错误写法:
# B3PW91-D3(BJ)/def2TZVP opt freq ← 这种写法Gaussian不识别
常用色散校正关键词:
| 色散校正 | 关键词 |
|---|---|
| D3 with Becke-Johnson damping | em=d3bj |
| D3 with zero damping | em=d3 or em=gd3 |
| D3(BJ) for DFT-D3 | em=d3bj |
| Grimme's GD3 | em=gd3 |
| GD3BJ | em=gd3bj |
示例对比:
# B3PW91 with D3BJ
--method "B3PW91/def2TZVP em=d3bj"
# B3LYP with GD3
--method "B3LYP/6-31G(d) em=gd3"
# PBE0 with D3BJ
--method "PBE1PBE/def2TZVP em=d3bj"
# ωB97X-D (已内置色散,无需额外添加)
--method "wB97XD/def2TZVP"
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 294 lines · 66 tokens per session scan A 699c5dc8dc23
pdf-dft-extractor is a skill published in the GitHub repository InternScience/ChemClaw (53 stars, last pushed 6mo ago), licensed MIT. It adds 66 tokens to every session and 2,596 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
nature-paper-trans
A workflow for translating selected pages or a complete English research-paper PDF into a simplified-Chinese, image-based PDF. bioRxiv is not mentioned in the provided details; the workflow applies to research-paper PDFs generally.
pydicom
Reads, inspects, writes, transforms, and preflights local DICOM datasets and pixel data. Applies to DICOM metadata, transfer syntaxes, compression plugins, frames, private elements, JSON, and bounded de-identification review.
pptx-posters
Creates and audits editable scientific posters in macro-free PowerPoint (.pptx) from author-approved local content and assets. Used when the requested deliverable is a PowerPoint research/conference poster and exact physical, printer, accessibility, provenance, and package-security checks are required.
extracting-lab-tables
Detects and extracts tabular laboratory panels from PDFs, scans, and images into structured rows ready for OpenMed and FHIR. Use when the user has a CBC, CMP, lipid panel, or other lab report as a scanned image / PDF / spreadsheet and needs the test name, value, unit, reference range, and abnormal flag as clean rows.…
figures
Makes publication-quality plots from data with matplotlib, learning curves, scaling laws, benchmark and ablation comparisons, Pareto trade-offs, heatmaps and confusion matrices, sized for the page, vector, with uncertainty shown. Use whenever results are plotted, charted or visualized for a paper, report or answer, or…
paper-compile
A build workflow that turns LaTeX source files into a PDF and checks whether the paper compiles correctly. LaTeX is a text-based system commonly used for academic papers.