Skip to content
Back to skills

Modal

ASecurity

"Guides modAL-python active-learning workflows, query strategies,

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
developmentpythonbashbackend

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill modal --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Modal?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Modal
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-modal/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-modal)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: modal
description: "Guides modAL-python active-learning workflows, query strategies,
  committees, Bayesian optimization, and optional deep integrations."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# modAL repo skill

Use this skill when a task names `modAL`, `modAL-python`, `ActiveLearner`, `Committee`, `BayesianOptimizer`, active learning, uncertainty sampling, query by committee, ranked batch selection, expected error reduction, label-efficient model development, or optional modAL deep-learning integrations.

modAL is imported as `modAL` but installed from the package distribution `modAL-python`. It is a scikit-learn-oriented active-learning framework; most core workflows are CPU-only and do not require a GPU.

## Start here

1. Read [references/repo-provenance.md](references/repo-provenance.md) when deciding whether this skill matches a source checkout or package version.
2. Read [references/package-overview.md](references/package-overview.md) for the public module map, dependency boundaries, and which optional integrations are intentionally not minimum installs.
3. If install/import or dependency compatibility is uncertain, read [references/troubleshooting.md](references/troubleshooting.md) and run [scripts/modal_environment_smoke.py](scripts/modal_environment_smoke.py).

Minimal package check for a user environment:

```bash
python -m pip install modAL-python
python - <<'PY'
from importlib.metadata import version
import modAL
from modAL.models import ActiveLearner, Committee, CommitteeRegressor, BayesianOptimizer
print("modAL-python", version("modAL-python"), "import ok")
PY
```

For the historical `0.4.2` code covered by this skill, modern dependency resolvers may pick versions that are too new. If imports fail with `np.float`, `force_all_finite`, or `pkg_resources` errors, use the compatibility guidance in [references/troubleshooting.md](references/troubleshooting.md).

## Route by task

| Task signal | Read |
|---|---|
| Pool-based or stream-based active learning, `ActiveLearner.query`, `teach`, `fit`, single-row shapes, `only_new`, `bootstrap`, `on_transformed` | [sub-skills/learners-and-committees/SKILL.md](sub-skills/learners-and-committees/SKILL.md) |
| Query by committee, `Committee`, `CommitteeRegressor`, `vote`, `vote_proba`, `predict_proba`, `rebag`, regression standard deviation | [sub-skills/learners-and-committees/SKILL.md](sub-skills/learners-and-committees/SKILL.md) |
| Choosing or composing uncertainty, disagreement, batch, density, expected-error, multilabel, selector, or custom query strategies | [sub-skills/query-strategies/SKILL.md](sub-skills/query-strategies/SKILL.md) |
| `BayesianOptimizer`, PI/EI/UCB acquisition functions, bounded objective-evaluation loops, or `get_max()` tracking | [sub-skills/bayesian-optimization/SKILL.md](sub-skills/bayesian-optimization/SKILL.md) |
| `DeepActiveLearner`, skorch/PyTorch estimators, MC dropout, `modAL.dropout`, Keras/TensorFlow examples, or optional backend imports | [sub-skills/deep-and-optional-integrations/SKILL.md](sub-skills/deep-and-optional-integrations/SKILL.md) |

## Operating rules

- Treat modAL strategies as callables. A learner's `query` method calls `query_strategy(self, X_pool, **kwargs)` and returns selected indices plus the selected rows; metrics are available only when the strategy returns them.
- For classical active learning, start with a fitted scikit-learn estimator or pass `X_training` and `y_training` so modAL can fit during learner initialization.
- Use probability-based strategies only with estimators that implement `predict_proba`; route regression uncertainty to regressors that provide predictive standard deviation or to committee-regressor disagreement.
- Preserve row shapes when teaching queried samples. For NumPy data, a single queried sample normally needs `X_pool[idx].reshape(1, -1)` and `y_pool[idx].reshape(1,)`.
- Keep optional deep workflows explicit. The core modAL active-learning workflow is CPU-friendly; Keras/TensorFlow examples and CUDA-specific behavior require separate installation and smoke checks.
- Do not rely on original repository examples or tests at runtime. This skill bundles runnable smoke helpers under `scripts/` and sub-skill `scripts/` directories.

## Bundled checks

Run these from any current working directory in an environment with modAL installed:

```bash
python path/to/modal/scripts/modal_environment_smoke.py
python path/to/modal/scripts/modal_environment_smoke.py --include-optional-deep
```

Sub-skills contain deeper workflow-specific smoke helpers:

- [sub-skills/learners-and-committees/scripts/active_learning_smoke.py](sub-skills/learners-and-committees/scripts/active_learning_smoke.py)
- [sub-skills/learners-and-committees/scripts/committee_smoke.py](sub-skills/learners-and-committees/scripts/committee_smoke.py)
- [sub-skills/query-strategies/scripts/query_strategy_smoke.py](sub-skills/query-strategies/scripts/query_strategy_smoke.py)
- [sub-skills/bayesian-optimization/scripts/bayesian_optimizer_smoke.py](sub-skills/bayesian-optimization/scripts/bayesian_optimizer_smoke.py)
- [sub-skills/deep-and-optional-integrations/scripts/dropout_inspection.py](sub-skills/deep-and-optional-integrations/scripts/dropout_inspection.py)

Files in this skill

  • SKILL.md5.2 KB
  • references/package-overview.md3.8 KB
  • references/repo-provenance.md2.9 KB
  • references/repo-routing-metadata.json399 B
  • references/troubleshooting.md4.3 KB
  • scripts/modal_environment_smoke.py5 KB
  • sub-skills/bayesian-optimization/SKILL.md2.7 KB
  • sub-skills/bayesian-optimization/references/acquisition-reference.md7.1 KB
  • sub-skills/bayesian-optimization/references/troubleshooting.md5.8 KB
  • sub-skills/bayesian-optimization/references/workflows.md6.6 KB
  • sub-skills/bayesian-optimization/scripts/bayesian_optimizer_smoke.py9.1 KB
  • sub-skills/deep-and-optional-integrations/SKILL.md3.1 KB
  • sub-skills/deep-and-optional-integrations/references/deep-integrations.md7.2 KB
  • sub-skills/deep-and-optional-integrations/references/mc-dropout-reference.md6.2 KB
  • sub-skills/deep-and-optional-integrations/references/troubleshooting.md4.9 KB
  • sub-skills/deep-and-optional-integrations/scripts/dropout_inspection.py5.5 KB
  • sub-skills/learners-and-committees/SKILL.md2.9 KB
  • sub-skills/learners-and-committees/references/api-reference.md5.9 KB
  • sub-skills/learners-and-committees/references/troubleshooting.md2.7 KB
  • sub-skills/learners-and-committees/references/workflows.md5.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.