# Nw Rigor

> Configure explicit Codex or Claude model selections for nWave DES defaults or published roles. Use when choosing provider/model defaults or project overrides; it never derives a model from a competence label.

- Skill: `nwave-ai/nw-rigor-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nwave-ai/nw-rigor-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nwave-ai/nw-rigor-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: nWave-ai (https://skillmd.com/u/nwave-ai)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/nwave-ai/nw-rigor-2

---


# NW-RIGOR

F-DES-MODEL-CONFIG public configuration guidance.

Use this guide to configure the DES runtime with the public `nwave-ai model`
command. It records an explicit provider and model; it does not select a model
from a competence label, check provider availability, or fall back silently.

## Read known selections first

Before asking questions, read the current repository's `.nwave/config.json`
and the global `.nwave/config.json` under the agents-home location that DES
resolves. Respect a valid absolute `NWAVE_AGENTS_HOME` when it is set; otherwise
the global file is under the current home directory. Read only: there is no
public `nwave-ai model show` command.

Also reuse a provider, model, scope, or role that the user already selected in
this conversation. Do not ask the user to repeat a valid known value or type a
model identifier that is already available from one of those sources.

For the requested role, present the effective complete provider/model pair, if
one is declared, as a suggestion. A project role override wins over a global
default. If the user asks for a different competence level, explain that the
CLI has no competence profile or automatic mapping; keep the current pair as a
candidate until the user selects a different pair.

## Resolve only missing decisions

Ask only for missing material choices:

1. What work and competence level is needed, including any quality, cost, or
   latency preference?
2. Which scope and target should change: global or current project, and default
   or one published role?
3. Which `codex` or `claude` provider/model pair should be used, when no
   selected pair is already known?

The competence answer helps choose a pair; it is not an input the CLI can map
to a provider or model. A current effective pair, or an identifier from
trustworthy verified provider information, may be offered as a **suggestion**.
Name its source and let the user accept or change it. Once accepted, that known
identifier supplies the CLI input; it need not have been typed by the user.
Never invent an identifier, an automatic competence mapping, or a fallback.

If a role is requested, use its exact published name. `nwave-ai` refuses an
unreadable or unpublished role before it writes configuration.

## Apply the selected setting

After the needed decisions are known or accepted, run exactly one matching
command:

| Scope and target | Command |
|---|---|
| Global default | `nwave-ai model set --provider PROVIDER --model MODEL` |
| Current-project default | `nwave-ai model set --provider PROVIDER --model MODEL --project` |
| Global published-role override | `nwave-ai model set --provider PROVIDER --model MODEL --role ROLE` |
| Current-project published-role override | `nwave-ai model set --provider PROVIDER --model MODEL --role ROLE --project` |

Replace `PROVIDER` with the selected `codex` or `claude`, `MODEL` with the
accepted exact model string, and `ROLE` only with the selected published role.
State the command before executing it and report its result. Do not substitute
the other provider, a default model, or a different scope after a refusal.

Global settings are written to the nWave global configuration. `--project`
writes the current repository's `.nwave/config.json`; a project role override
takes precedence over a global default at runtime.

