Mmcp.market

get-available-resources skill

by K-Dense-AI·K-Dense-AI/scientific-agent-skills·47k stars·MIT

Detect host inventory and effective CPU, memory, disk, scheduler, container, and accelerator limits when a user asks for resource-aware planning or before a clearly resource-sensitive local workload. Produces a redacted JSON snapshot and conservative planning helpers without stress tests or assuming visible host hardware is usable.

A100/100content scan

Is the get-available-resources skill safe?

Clean: nothing in its files matched our rules. We read 9 files in the folder on 2026-09-28.

No findings.

Install the get-available-resources skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/K-Dense-AI/scientific-agent-skills.git /tmp/scientific-agent-skills
mkdir -p ~/.claude/skills
cp -r /tmp/scientific-agent-skills/skills/get-available-resources ~/.claude/skills/get-available-resources
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

Get Available Resources

Build a conservative picture of resources available to the current process. Keep host inventory, process affinity, cgroup/container limits, scheduler allocation, and accelerator runtime usability separate.

Safety contract

Follow these rules:

planning. Do not persist a fingerprint for every scientific task.

  • Run detection when the user requests it or a specific workload needs resource

local filename.

  • Use stdout by default. Persist only when the user chooses an explicit generic

resets, driver installation, or clock/power changes.

  • Do not run stress tests, benchmarks, large allocations, write probes, device

variables implemented by the detector.

  • Do not dump the environment. Read only the named Slurm and accelerator

PCI addresses, or raw visibility-variable values.

  • Do not report hostnames, absolute paths, cgroup paths, job IDs, device UUIDs,

scheduler allocation or container.

  • Treat a missing observation as unknown. Never convert unknown to unlimited.
  • Never infer that a visible host CPU, memory pool, or GPU is usable inside a

The bundled detector uses only fixed executable/argument tuples, no shell, short timeouts, bounded stdout/stderr, and partial-failure warnings.

Quick start

Run from this skill directory.

Ephemeral stdout snapshot

python scripts/detect_resources.py

The command emits only JSON to stdout. Redirect it only when ordinary shell permissions are acceptable.

Explicit private file

python scripts/detect_resources.py --output resource-snapshot.json

Explicit output is restricted to one .json filename in the current directory, uses private permissions, rejects symlinks and path traversal, and refuses overwrite unless --force is supplied.

Optional psutil enhancement

The standard-library detector works without installation. For broader cross-platform physical-core, affinity, available-memory, swap, and disk coverage:

uv pip install "psutil==7.2.2"

The import is lazy. Failure to import psutil becomes a warning, not a fatal error.

Skip management-tool probes

python scripts/detect_resources.py --skip-accelerators

Use this when accelerator discovery latency is undesirable. The detector still summarizes the presence and state of allowlisted visibility variables without returning their values.

Required interpretation

CPU

Read these as different facts:

count.

  • cpu.host.logical: system-visible scheduling units.
  • cpu.host.physical: physical topology, or null; never inferred from logical

interpretation when scope is clear.

  • cpu.process.affinity_logical: current affinity-set size when supported.
  • cpu.cgroupv2.cpusetlogical: effective cgroup cpuset size.
  • cpu.cgroupv2.quotacores: finite cpu.max capacity, possibly fractional.
  • scheduler.allocation.cpuperprocess: bounded Slurm per-task
  • cpu.effective.capacity_cores: minimum positive observed constraint.
  • cpu.effective.worker_ceiling: conservative floor for CPU process workers.

A quota of 1.5 is CPU-time capacity, not 1.5 physical cores. Affinity and cpusets constrain placement; quota constrains bandwidth.

Memory

Keep these separate:

  • host total/available memory;
  • current cgroup usage, hard memory.max, and remaining hierarchical capacity;
  • memory.high, which is a pressure/throttle boundary rather than a hard cap;
  • scheduler memory allocation and its scope; and
  • conservative effective hard limit and available estimate.

On Apple silicon, memory.model is unifiedcpugpu. Do not add integrated GPU memory to RAM or describe it as separate VRAM.

Accelerators

Each device is a backend candidate:

  • NVIDIA GPU → CUDA candidate;
  • AMD GPU → ROCm candidate;
  • Apple integrated GPU → Metal candidate.

Management-query visibility does not establish:

  1. scheduler/container permission;
  2. device-node access;
  3. driver/runtime compatibility;
  4. framework package compatibility; or
  5. operator/data-type support.

Therefore runtimeusabledevices remains null and each device says runtimecompatibility: nottested. Visibility/allocation counts are upper bounds, not guarantees.

Disk

capacitybytes, filesystem freebytes, user-available blocks, and a non-writing permission check are distinct. Filesystem or project quotas can still be stricter. The absolute working path is always redacted.

Scheduler and container

Slurm variables describe allocation scope, but enforcement depends on site configuration such as task affinity or cgroups. Prefer affinity and cgroup observations as enforcement evidence.

Container markers identify context; cgroup controls identify limits. A container with no finite cgroup value can still see host inventory, and a non-root cgroup is not automatically labeled a container.

See references/resource_semantics.md for the detailed platform rules.

Plan a workload

The planner consumes a validated snapshot and performs no work:

python scripts/plan_workload.py resource-snapshot.json \
  --workload cpu \
  --tasks 100 \
  --memory-per-worker-mib 2048

More skills from K-Dense-AI/scientific-agent-skills

  • AadaptyvHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.
  • AaeonThis skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
  • AalphagenomeLook up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.
  • Aanalytical-method-validationPlan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include "method validation", "analytical method validation", "AMV", "validation protocol", "acceptance criteria", "linearity", "reportable range", "accuracy and precision", "repeatability", "intermediate precision", "recovery", "LOD", "LOQ", "detection limit", "quantitation limit", "specificity", "robustness", "method transfer", "method comparison", "Deming", "Passing-Bablok", "Bland-Altman", "equivalence testing", "OOS investigation", "ICH Q2", "Q2(R2)", "Q14", "USP 1225", "ICH M10", "incurred sample reanalysis", "ISR", "CLSI EP", and any request to show that an assay works.
  • AanndataData structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
  • AarborAutonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g. "get my model's eval score up", "improve this agent/harness", "tune this pipeline", "beat the baseline on this benchmark", "run a search over approaches and keep the best", "do an MLE-bench / Kaggle-style optimization", or any long-horizon "make this artifact better and don't just memorize the dev set" task. Trigger it even when the user doesn't say "Arbor" or "hypothesis tree" but describes repeated experiment-and-evaluate loops, branching exploration of competing ideas, or worries about a dev/test gap. Runs Claude itself as the coordinator with subagent executors in isolated git worktrees; for the standalone `arbor` CLI tool see references/arbor-upstream.md.
  • AarboretoInfer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.
  • AastropyCore Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.
  • AautoskillObserve the user's screen via screenpipe, detect repeated research workflows, match them against existing scientific-agent-skills, and draft new skills (or composition recipes that chain existing ones) for the patterns not yet covered. Use when the user asks to analyze their recent work and propose skills based on what they actually do. Requires the screenpipe daemon (https://github.com/screenpipe/screenpipe) running locally on port 3030 — the skill has no other data source and will refuse to run if screenpipe is unreachable. All detection runs locally; only redacted cluster summaries reach the LLM.
  • Abenchling-integrationBenchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.
  • Abgpt-paper-searchSearch scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.
  • AbidsUse this skill when working with Brain Imaging Data Structure (BIDS) datasets: organizing neuroscience and biomedical data (MRI, EEG, MEG, iEEG, PET, microscopy, NIRS, motion capture, EMG, MR spectroscopy, behavioral), querying BIDS layouts, validating compliance, converting DICOM to BIDS, writing metadata sidecars, or creating BIDS derivatives.

All agent skills → · MCP servers