Skip to content

Definitions of Technical Terms Used

There are a number of terms used that refer to specific modules, objects, or other technical elements.

Neon Technologies

Some commonly used Neon technologies are described here.

Neon Core

Neon Core refers specifically to the collection of "core" Neon modules. More information about these modules can be found in the Core Modules section of this documentation.

Neon OS

Neon OS (and Neon AI OS) refers to operating systems (sometimes referred to as 'images') that include Neon Core and other software. More information can be found in the Neon OS section of this documentation.


Diana (Device Independent API for Neon AI) is a collection of microservices that run on a backend server. More information is available on GitHub.


Mana (Messagebus Application for Neon AI) is a Commandline Application for interacting with services on the Messagebus. More information is available on Github


Iris (Interactive Relay for Intelligence Systems) is a Python module and Commandline Application for interacting with services on the MQ Bus. More information is available on Github.

Operations Documentation

The Operations Documentation and other documents discussing code organization or processes use some specific terms to refer to different kinds of modules.


Refers to a module that may be replaced by an equivalent module. These will usually extend a class from ovos-plugin-manager.


Refers to a class that extends MycroftSkill, OVOSSkill, or NeonSkill. A skill is a subset of a plugin. For the purposes of the operations documentation, a skill is distinctly different from a plugin.


Refers to a module that runs as a standalone service. This often includes a Docker container that runs the service. Many plugins may be run as a standalone service, but for the purposes of the operations documentation those are considered plugins and not services.

For example, neon-audio is a service but neon-tts-plugin-coqui is not. Even though the plugin has a container with a web UI, it is a TTS plugin first.


Refers to Python packages that do not expose any services or implement a specific plugin. These are often dependencies of many plugins and services.

Neon (and OVOS and Mycroft) Core

Some commonly used terms in the context of Neon (and other) Cores. See also the OVOS Docs and Mycroft Docs.


"Module" is sometimes used to refer to a Neon Core Service. Note that "module" is also defined in Python.


The text associated with something said or typed in by a user.


The calculated meaning of an utterance.


A Python package that is optional and interchangeable. More information is available in the OVOS Plugin Manager Documentation.


An object that extends the MycroftSkill class. Skills generally provide some intent handling, but are not required to.

Note that a Python package containing a skill object is also referred to as a 'skill'


A message is a specific object class defined in the mycroft-bus-client.


Some commonly used terms in the context of skills.

Intent Handler

A skill object method that is associated with an intent.

Skill Settings

A skill-specific settings object (MycroftSkill.settings).

vocab (voc)

Structured plaintext files that define a skill's known vocabulary for parsing user inputs (utterances)


Structured plaintext files that define a skill's responses.

regex (rx)

Structured plaintext files that define regex parsing for a skill.

Skill ID

A skill ID is used to identify a globally unique skill, and generally follows the format of <skill_name>.<skill_author>. For most skills, this is specified in For older skills without a the skill ID is specified as the directory containing the skill's; tools like msm and osm install skills to directories matching the usual format, using information from a git URL or skill.json.

Package name

A skill package may be created with an arbitrary package name in This identifier is used for installing the skill or listing it as a dependency like other Python packages. If the skill is uploaded to PyPI, then it may be installed by package name using pip (i.e. pip install neon-skill-about). Older skills that are not packaged will not have a package name.

Skill Class

A skill class generally has a descriptive name and is capitalized according to Python standards. This class is referenced in the entrypoint but is otherwise not referenced directly.