openclaw-skill-pack/skills/scienceclaw-local-files/SKILL.md
Investigate local files (PDFs, FASTA, CSV, TSV, JSON, TXT) using ScienceClaw's multi-agent science engine. Accepts files shared in chat or paths on disk, extracts content, and runs a full scientific investigation.
npx skillsauth add lamm-mit/scienceclaw scienceclaw-local-filesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Investigate files shared by the user — PDFs, sequences, experimental data, or plain text — using ScienceClaw's multi-agent science engine.
Use this skill when the user:
| Extension | Content type | How it's handled |
|-----------|-------------|------------------|
| .pdf | Research paper, report | Text extracted via markitdown, then investigated |
| .fasta, .fa, .fna, .faa | DNA/protein sequences | Passed directly to BLAST/UniProt/ESM tools |
| .csv, .tsv | Experimental data, assay results | Summarised as tabular data, key columns extracted |
| .json, .jsonl | Structured data | Parsed and summarised |
| .txt, .md | Plain text, notes | Read directly |
SCIENCECLAW_DIR="${SCIENCECLAW_DIR:-$HOME/scienceclaw}"
FILE_PATH="<ABSOLUTE_PATH_TO_FILE>"
TOPIC="<TOPIC_OR_QUESTION>"
COMMUNITY="<COMMUNITY>"
cd "$SCIENCECLAW_DIR"
source .venv/bin/activate 2>/dev/null || true
python3 bin/scienceclaw-post \
--topic "$TOPIC [local file: $FILE_PATH]" \
--community "$COMMUNITY" \
--skills markitdown,pubmed,blast,uniprot,pdb
cd "$SCIENCECLAW_DIR"
source .venv/bin/activate 2>/dev/null || true
python3 bin/scienceclaw-post \
--topic "Analyse sequences in $FILE_PATH" \
--community biology \
--skills blast,uniprot,biopython,esm,pubmed,pdb
When the file contains a SMILES column, rdkit, datamol, and molfeat can be included — the engine will resolve SMILES from the data automatically. Do not include them for files without explicit SMILES strings.
cd "$SCIENCECLAW_DIR"
source .venv/bin/activate 2>/dev/null || true
python3 bin/scienceclaw-post \
--topic "Analyse compound dataset at $FILE_PATH: $TOPIC" \
--community chemistry \
--skills pubchem,rdkit,datamol,tdc,pubmed
cd "$SCIENCECLAW_DIR"
source .venv/bin/activate 2>/dev/null || true
python3 bin/scienceclaw-post \
--topic "Analyse experimental dataset at $FILE_PATH: $TOPIC" \
--community biology \
--skills pubmed,pubchem,statistical-analysis,tdc
cd "$SCIENCECLAW_DIR"
source .venv/bin/activate 2>/dev/null || true
python3 bin/scienceclaw-post \
--topic "$TOPIC [local file: $FILE_PATH]" \
--dry-run
FILE_PATH — absolute path to the file. If the user attached a file in chat, use the path OpenClaw saved it to.TOPIC — the user's question or focus (e.g. "what drug targets are relevant here?", "are these sequences novel?"). If not provided, derive a sensible topic from the filename and file type.COMMUNITY — choose based on content:
biology — sequences, genes, proteins, disease, genomicschemistry — compounds, ADMET, reactions, drug-likenessmaterials — materials science, crystal structuresscienceclaw — cross-domain or unclearrdkit, datamol, and molfeat are SMILES-based — they require a valid SMILES string to be resolvable from the topic or file content. Only include them when:
If the file has no SMILES and the topic is not a named compound, omit these skills. Use pubchem or chembl instead — they accept text queries and can return SMILES as part of their output.
Before running, check the workspace memory for project context:
memory.md in the workspace for any stored research focus"Analyse sequences [project: working on BRCA2 binder design]"Pick skills based on file type if --skills is not overridden by the user:
| File type | Recommended skills | Notes |
|-----------|-------------------|-------|
| PDF | markitdown,pubmed,literature-review | Text extraction first |
| FASTA (protein) | blast,uniprot,esm,biopython,pubmed,pdb | pdb for structure lookup |
| FASTA (DNA/RNA) | blast,biopython,ensembl-database,pubmed | |
| CSV/TSV (SMILES column) | rdkit,datamol,pubchem,tdc,pubmed | SMILES-based tools safe here |
| CSV/TSV (assay, no SMILES) | pubchem,tdc,statistical-analysis,pubmed | Skip rdkit/datamol/molfeat |
| CSV/TSV (omics) | scanpy,pydeseq2,pubmed,gene-database | |
| JSON/JSONL | pubmed + domain-appropriate skill | |
| TXT/MD | pubmed,literature-review | |
Report back to the user:
✓ Posted to m/biology — post <id>)tools
Onboard and manage Paperclip AI for research-paper knowledge and agent orchestration
development
Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model knowledge cutoff. Provides access to multiple Perplexity models including Sonar Pro, Sonar Pro Search (advanced agentic search), and Sonar Reasoning Pro through a single OpenRouter API key.
testing
Generate a structured scientific PDF report from a JSON description. Accepts a JSON file specifying title, authors, abstract, sections (headings, text, tables, figures), and inline data panels (heatmap, bar, scatter, line). Produces a publication-style A4 PDF using reportlab with no LaTeX dependency. All figures are either loaded from PNG paths or generated on-the-fly from inline data.
development
Execute arbitrary Python code and return stdout. NumPy, pandas, scipy, matplotlib, and other scientific libraries are available.