# Scientific Agent Skills: 168 folders of instructions, and the guardrails written in prose

> Scientific Agent Skills is a library of 168 ready-made Agent Skills covering bioinformatics, cheminformatics, clinical research and engineering workflows, loadable by Cursor, Claude Code, Codex and anything speaking the open Agent Skills standard. It is instruction text rather than a library, and the safety limits it sets for itself live in skill descriptions, not in code.

**K-Dense-AI/scientific-agent-skills** — Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 170,000+ scientists worldwide. 158 ready-to-use skills plus 100+ scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.

- Repository: https://github.com/K-Dense-AI/scientific-agent-skills
- Website: https://k-dense.ai
- Stars: 46,645 · Forks: 4,215
- Language: Python
- License: MIT
- Published: 2026-08-08 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/k-dense-ai-scientific-agent-skills

## A skill is a folder of instructions any agent can read

The unit of this project is not a package. It is a skill: curated documentation and examples that teach an agent how to run a multi-step scientific workflow. The README makes the point directly, saying that while an agent can use any Python package or API on its own, these explicitly defined skills provide curated documentation and examples that make it stronger and more reliable for the workflows they cover.

Portability comes from following an open standard. The collection works with Cursor, Claude Code, Codex, Google Antigravity, Pi and anything else that supports the Agent Skills standard at agentskills.io, and the repository doubles as a portable Agent Plugins package made of plugin.json plus a skills/ directory, so a plugin-capable client can load the whole thing as one unit.

The rename tells you what changed. It was Claude Scientific Skills, and it is now Scientific Agent Skills, with the same skills and broader compatibility. The consequence for a user is that nothing about the content moved; only the set of clients that can read it grew. For a reviewer, the thing to check is whether the agent you use honours the standard at all, because a skill the client cannot load is just a folder.

## The headline counts disagree with each other

The repository description advertises 158 ready-to-use skills plus 100+ scientific databases. The README's own summary says 168 ready-to-use scientific and research skills, and the K-Dense BYOK announcement in the same README refers to all 168 skills in this repo. The database count moves too: the skills summary says 78+ scientific databases, while the BYOK paragraph says 100+.

None of this is a scandal, and the direction of the drift suggests the README is the newer number. It does mean that no count on the front page is a usable scope estimate. If you are sizing a rollout, enumerate the skills/ directory rather than counting from the summary, because the number you would quote in a planning document is the number most likely to be wrong.

Versioning is at least unambiguous. pyproject.toml carries version = 2.70.0, and the recent tags are v2.68.0 and v2.69.0 on 2026-09-11 followed by v2.70.0 on 2026-09-29. The last push to main was on 2026-09-21, so the repository is being worked on and the manifest moves with it.

## Every skill passes a scanner before it merges

Two Python scripts sit at the repository root, scan_skills.py and scan_pr_skills.py, and the README badges point at two GitHub Actions workflows named security-scan.yml and skill-tests.yml. The scanner is a declared runtime dependency, not a development extra:

```toml
[project]
name = "scientific-agent-skills"
version = "2.70.0"
description = "A set of ready to use Agent Skills for research, science, engineering, analysis, finance and writing."
readme = "README.md"
requires-python = ">=3.13"
```

with cisco-ai-skill-scanner 2.0.12 or later, pytest 9.1.1 or later and python-dotenv 1.0.0 or later as the dependency list. The presence of a scanner in the runtime dependencies, rather than in the dev group, says the check is treated as part of operating the collection.

For a contributor this changes what a rejected pull request means. A new skill can fail on content policy from an external scanner, not on a broken example, so the failure you get back may have nothing to do with whether the science is right. Budget for that in review: the bar for a merge is the scanner passing plus the tests, and both run automatically.

## pytest runs in importlib mode so a wrapped library never looks installed

The most revealing lines in pyproject.toml are a comment explaining a test flag:

```toml
[tool.pytest.ini_options]
testpaths = ["tests"]
# Required: in prepend/append mode pytest puts tests/ on sys.path, which turns
# every tests/<skill>/ directory into an importable namespace package. Skills
# named after the library they wrap (neurokit2, simpy, qutip, ...) would then
# look installed to importlib.util.find_spec(). importlib mode touches sys.path
# not at all.
addopts = "--import-mode=importlib"
```

The problem is specific and the fix is deliberate. With the default import mode, a tests directory per skill becomes importable, so a skill named after the library it wraps, neurokit2 or simpy or qutip, would satisfy find_spec and shadow the real library. Any code in the test suite that asks whether a package is installed would then answer yes for a package that is not there.

The consequence for anyone extending the suite is that the flag is load-bearing. Do not remove --import-mode=importlib to make a new test import something by sys.path manipulation; the fix is to install the dependency or to write the test against the skill's documented interface. Switching modes back would turn a large class of green tests into false negatives.

## The safety limits are written in the skill descriptions, not enforced in code

Read the scope lines in the category list carefully, because they are refusals. The healthcare AI category covers EHR and model research, physiological signal analysis and retrospective validation, and states explicitly that it is not for patient-specific diagnosis, treatment, alarms or deployment decisions. The preclinical category covers severity scoring and humane-endpoint forecasting for animal studies, for 3Rs refinement analysis and EU Directive 2010/63/EU reporting, and describes itself as an aid to severity assessment, never a decision rule. Medical imaging is research-only whole-slide image analysis with privacy-aware DICOM processing.

That is a well-drawn boundary, and it is drawn in prose that an agent reads and a human is supposed to honour. Nothing in a skills/ directory can stop a model from phrasing a severity score as a recommendation, and the repository's dependencies, which are a scanner, pytest and a dotenv loader, contain no enforcement layer.

So the practical rule for an adopter: treat these descriptions as the specification of what the collection will not do, and put your own check in the workflow around the agent. If your use case needs a decision, this library tells you it is the wrong input, whatever the model ends up saying.

## Python 3.13, three dependencies, and none of the science libraries

requires-python is 3.13, and the runtime dependency list is short enough to read in one breath: a skill scanner, pytest and python-dotenv. The dev group adds jsonschema 4.26.0 or later and skills-ref, pulled directly from the agentskills repository as a git dependency with a subdirectory.

Notice what is missing. torch, scanpy, Biopython, the docking tools, nothing from the categories the README describes. That is consistent with the design, since a skill is instructions and the agent runs whatever library the instructions name, but it puts the cost somewhere specific: the person running the skill. The README does not document a per-skill installation step or a pinned environment, so a scientist who loads a molecular dynamics skill into an agent on a laptop without those packages gets an agent that knows the workflow and cannot execute it.

The two scanner scripts in the root are the exception worth knowing, since they are Python you can run against the collection yourself. That gives you a way to check a skill's contents before you hand it to an agent.

## MIT, a CITATION.cff, and agent instructions for the repository's own agents

The licence is MIT, in LICENSE.md at the root, which matters for a collection intended to be copied into other people's workflows. Alongside it the tree carries CITATION.cff, CODE_OF_CONDUCT.md, SECURITY.md, CONTRIBUTING.md and AGENTS.md, and the README asks users to cite the paper describing the work, arXiv:2609.00065, titled Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents, with a citation section further down.

The two files that catch the eye are AGENTS.md and CLAUDE.md. The same repository that is read by an agent as a skill library also ships instructions for agents operating on the repository itself, which is a neat piece of recursion and a practical warning: the files in this tree have two audiences, a model consuming them as procedural knowledge and a contributor or agent maintaining them.

One more consumer to keep in mind. The skills are also the engine behind K-Dense BYOK, a separate open-source desktop co-scientist that runs on your own machine, takes your own API keys, offers more than 40 models, and can scale heavy work to cloud compute through Modal. If you want the application rather than the skills, that is a different repository, and the data you are evaluating here is the part it consumes.

## Conclusion

Adopt these skills if you want an agent to know the shape of a bioinformatics or PK/PD workflow without writing the prompt yourself, and treat them as documentation your agent reads rather than as a tested toolchain. Do not adopt them as a decision system: the project itself rules out patient-specific diagnosis, deployment decisions and severity decision rules, and nothing in the code enforces that. Verify first by running the repository's own scan_skills.py over a skill you intend to rely on, and by checking which scientific packages are already installed on the machine, since the manifest depends on three packages and none of the domain libraries.

## FAQ

### What are some examples of scientific skills?

The collection covers bioinformatics and genomics, cheminformatics and drug discovery, proteomics and mass spectrometry, clinical research, healthcare AI, preclinical research, medical imaging, machine learning, materials science, physics and astronomy, engineering and simulation, data analysis, and geospatial science. Individual skills include 1000 Genomes queries, AlphaGenome Atlas variant effects, molecular dynamics, RNA velocity and PK/PD modelling.

### What exactly is an agent skill?

The README does not define the term itself. It points to the open Agent Skills standard at agentskills.io, and describes a skill as curated documentation and examples that make an agent stronger on a specific workflow than letting the agent improvise from any package or API.

### How many skills are in Scientific Agent Skills?

The README says 168 ready-to-use skills, while the repository description says 158 plus 100+ scientific databases. The manifest version is 2.70.0, so counting the skills/ directory is more reliable than quoting either headline.

### What does Scientific Agent Skills require to run?

Python 3.13 or newer. The runtime dependencies are a skill scanner, pytest and python-dotenv, and the domain libraries the skills describe, such as the genomics and dynamics tools, are not part of that list, so they have to be present on the machine running the workflow.

## Sources

- [Official documentation](https://k-dense.ai)
- [Official README](https://github.com/K-Dense-AI/scientific-agent-skills#readme)
- [Project repository](https://github.com/K-Dense-AI/scientific-agent-skills)
- [Release notes](https://github.com/K-Dense-AI/scientific-agent-skills/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/k-dense-ai-scientific-agent-skills
