"Use SnipsNLUEngine's Python API for fitting datasets, parsing
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill engine-api --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Engine Api?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-engine-api)More formats (shields.io, HTML) on the badges page.
---
name: engine-api
description: "Use SnipsNLUEngine's Python API for fitting datasets, parsing
text, inspecting intents and slots, configuring training, and persisting or
loading engines."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Snips NLU engine API
Use this sub-skill when the task is to operate Snips NLU through Python code:
create a `SnipsNLUEngine`, fit an already-valid dataset, parse user text,
retrieve intent or slot-only outputs, control random state or `force_retrain`,
and persist or load an engine artifact.
## Route here when
- The user has a Snips dataset dict or JSON file and wants Python API code.
- The task involves `SnipsNLUEngine.fit`, `parse`, `get_intents`, `get_slots`,
`persist`, `from_path`, or `NLUEngineConfig`.
- The user needs to understand parsing result shapes, None-intent behavior,
intent filters, `top_n`, or model-version/resource persistence behavior.
## Route elsewhere
- Dataset YAML/JSON authoring, resource acquisition details, or dataset schema
repair: read `../dataset-and-resources/SKILL.md`.
- CLI commands, batch command lines, command metrics, or evaluation workflows:
read `../cli-workflows/SKILL.md`.
- Custom processing-unit implementation: use this sub-skill only for how such
units are plugged into `NLUEngineConfig`; keep implementation details outside
this engine API route unless the task explicitly asks for integration code.
## Required references
Read only the references needed for the task:
- `references/api-reference.md` for signatures, result shapes, None intent,
filters, `top_n`, `get_intents`, and `get_slots`.
- `references/workflows.md` for fit/parse code patterns and the bundled smoke
helper usage.
- `references/configuration-and-persistence.md` for default language configs,
random state, `force_retrain`, resources, and persisted model compatibility.
- `references/troubleshooting.md` when exceptions, missing resources,
nondeterminism, loading failures, or dependency/Python-version issues appear.
## Safe helper
For a quick API smoke test against a user-provided dataset JSON, run the bundled
helper from this sub-skill directory:
```bash
python scripts/snips_nlu_engine_smoke.py \
--dataset path/to/dataset.json \
--query "turn on the kitchen lights" \
--intent-filter sampleTurnOnLight \
--top-n 2
```
The helper never uses an embedded source-relative dataset path and never
overwrites an existing persistence directory. It prints a JSON report and, when
language resources are unavailable, reports the resource name and next steps.
## Operating guardrails
- Treat a fitted engine as required before parsing or retrieving intents/slots.
- Pass Python `str` text, not bytes, into `parse` or `get_slots`.
- Preserve `None`/JSON `null` intent semantics: intent filters do not remove
the None intent, and `get_slots(text, None)` returns an empty list.
- Do not promise probabilities sum to 1.0; they are confidence scores.
- For reproducible training, pass a fixed `random_state` to `SnipsNLUEngine` and
keep the same package/model version and language resources.
- Do not load persisted engines across incompatible Snips NLU model versions
unless the caller deliberately accepts `bypass_version_check=True` risk.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!