Prompting Jax
Write effective requests
This guide teaches you how to write requests that Jax can act on without a round of clarifying questions. Good prompting is the single biggest lever on how fast and how accurately Jax works. You will need a project open and a feel for what is already in your Nexma DataStore — the more precisely you can point at existing things, the better.
The principle: be specific about the objective, name the constraints that matter, reference real DataStore paths instead of describing data in prose, and ask for explanations. Vague prompts get vague results; precise prompts get usable ones.
Steps
- Lead with the objective, not the method. Tell Jax what outcome you want, and let it choose how. It picks the right primitive — Read, Run, or Solve — on its own.
Find the cheapest set of cabinet locations that covers every parcel in the polygon.
- Name the constraints that are yours, not the Skill's. The Skill already enforces its built-in rules. Add only the extra conditions specific to this task.
No cabinet within 50 m of a school. Cap each cabinet at 280 served parcels.
- Reference DataStore paths instead of describing data. Pointing at a path is unambiguous; describing data invites Jax to guess.
Use the parcels infeeds/parcels.geojsonand avoid the duct inlayers/existing-duct.geojson.
- Bound the scope. Give Jax a polygon, a layer subset, or a time window so it does not over-reach. "The polygon I just drew" and "everything north of the river" are both valid scopes.
- Ask for the explanation up front. If you want reasoning, request it in the same prompt so Jax produces it alongside the result rather than reconstructing it later.
Plan the routes and explain which constraints were binding and what drove the cost.
- Compare a weak prompt to a strong one. The difference is concreteness — the strong version names the objective, the scope, the constraint, and the source data.
| Weak prompt | Strong prompt |
|---|---|
| Design the network. | Route distribution from the cabinets in layers/cabinets.geojson, snapping to roads, minimizing trench length. |
| Make it better. | Reduce total cabinet count by raising the per-cabinet cap to 320 parcels; show me the new total. |
| Check the design. | Validate against the Skill constraints and list every violation with its feature id and location. |
| Where should things go? | Place sensors so every pipe segment in this polygon is within 500 m of one; minimize sensor count. |
Tips
- One objective per prompt. If you find yourself writing "and also," split it into two steps you can review separately.
- Quote exact values — ratios, distances, capacities, dates. Jax honors numbers you give it literally.
- When you do not know the right value, ask Jax to recommend one and explain the trade-off, then decide.
- If a result surprises you, ask "why" before re-prompting. The answer usually reveals a missing constraint, not a Jax mistake.
Where to go next
- Put these patterns to work in Designing with Jax.
- Learn what Jax can and cannot do in the Jax overview.
- For optimization-specific phrasing, see Run an optimization.