Skills
Domain packages for Jax
A Skill is a domain package: an Ontology plus the capabilities, system prompt, tool bindings, and validators that target it. Load a Skill and the whole platform reconfigures — the toolbar, the map layers, the panels, the validators, and Jax itself all become domain-aware. Load the FTTH Skill and Nexma is a fiber planner; load the water Skill and the same product is a water-utility designer. A new vertical is a configuration, not a new product.
Core concepts
A project binds one Ontology and one or more Skills. The Ontology is the typed world model — what exists and what rules govern it. The Skill is how Jax operates against that model.
- Ontology — entity types, typed relationships, constraints, and layer config. The immutable world model for the project.
- Skill — a system prompt, capability toggles, tool bindings, and validators targeting an Ontology. Swappable.
- The split. The Ontology says what kind of thing exists and what binds it. The Skill says what Jax can do about it. Keeping them separate means you can swap how the agent behaves without rewriting the world model.
Loading a Skill reconfigures the application. Switching a Skill changes what Jax can do. Extending a Skill teaches it your domain's edge cases. None of it touches code.
What a Skill gives you
When you load a Skill, your project immediately gets:
- Domain-correct entities and rules from the bound Ontology — the right entity types, properties, and validations for your domain.
- Standards-aware constants — industry color codes, standard catalogs, and regulatory defaults, already wired in.
- A toolbar shaped to the domain — tools that make sense for the work, without clutter from other domains.
- Map styling that reads correctly — entities render as what they are, not as generic points and lines.
- An agent that knows the rules — Jax respects the Skill's constraints automatically, so you never restate them in a prompt.
How it works
Most teams start by loading a built-in Skill from the catalog, do real work, then extend it as their domain reveals edge cases the default does not cover.
11. Create a project → pick a starting Skill (FTTH, water, electric, ...)
22. The Skill loads → toolbar, layers, panels, validators, and Jax reconfigure
33. You do real work → design on the map; Jax reads and writes the same DataStore
44. You extend it → "add a splice_type field to closures" — every surface reactsThe Skill becomes part of your project — your local copy, free to edit. Built-in updates do not overwrite your changes unless you opt in. Skills are versioned per project: roll back, branch, or compare revisions.
Extending a Skill
The most common change is adding a property or a constraint. The easiest way is to ask Jax.
Add asplice_typefield to closures. Allowed values:mechanical,fusion,rotary. Default isfusion.
Jax makes the change, validates it, and tells you what migrated. Existing features get the default; new ones see the field as a required input. The toolbar, side panels, and validators all reflect the new field instantly.
Constraints are first-class. Add one and the validator surfaces violations on the map, Jax respects it on the next run, you can ask "which assets violate the new rule?" and get a list, and reports include the constraint by name.
Add a constraint: any cabinet must be within 250 m of a road.
Composing and drafting Skills
For projects that span domains — a municipal project with both fiber and street lighting — load more than one Skill. Their entity types stay namespaced; shared concepts like a road or a building collapse to a single layer used by both.
If your domain is not in the catalog, describe it to Jax in natural language. Jax drafts the entities, relationships, and constraints; you review the diff, edit, and save. Expect to iterate — the first draft is rarely the final.
Why this is the central abstraction
Spatial work is fundamentally about what kind of thing exists and what rules govern it. Skills and Ontologies make that explicit and editable. The platform stays simple; the domain expertise lives where it belongs — at the edge, near the people who actually know the domain. The same engine runs every vertical, so adding one is configuration, not a rebuild.
Where to go next
- Skill catalog — browse and fork the built-in Skills.
- Ontology — the typed world model a Skill targets.
- Jax — the agent a Skill configures.
- Nexma AgentEngine — run a Skill's capabilities as repeatable workflows.