provider-mistral
Skill16 starsChanged 2 months agoMITView on GitHub
Track and maintain the upstream Mistral Vibe CLI contract. Use when Mistral ships a Vibe release, when a `vibe` flag/agent-mode/output-format/session-logging/env-model/subcommand behaviour changes, or when an upstream scan flags drift. Process guidance only; `src/upstream-contracts.ts` is the mechanical source of truth.
In this repository19 other files it gives its agents.
- site/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- site/llms.txtllms.txt
- async-job-orchestrationSkill
- implement-review-fixSkill
- least-cost-routingSkill
- multi-llm-reviewSkill
- personal-agent-config-kitSkill
- provider-claudeSkill
- provider-codexSkill
- provider-cursorSkill
- provider-devinSkill
- provider-geminiSkill
- provider-grokSkill
- public-demo-sessionSkill
- retrospective-walkSkill
- secure-orchestrationSkill
- session-workflowSkill
- supply-chain-guardSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 47
Use mistral_request for normal turns and mistral_request_async for long-running review, analysis, or fifth-perspective checks.
- Very specific: line 74
Use gateway worktree only with an explicit provider-native sessionId that is not overridden by createNewSession.
- Very specific: line 89
Follow multi-llm-review's full-access protocol, inspect the current request schema and live capability response, and use a fresh …
- Distinctive: line 128
No cache statistics are surfaced by the Vibe CLI.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Provider: Mistral Vibe CLI
Process guidance for keeping the gateway's Mistral (vibe) integration aligned
with the upstream CLI. This skill does not define argv/env behaviour; the
single mechanical source of truth is UPSTREAM_CLI_CONTRACTS.mistral in
src/upstream-contracts.ts, enforced by validateUpstreamCliArgs /
validateUpstreamCliEnv. Never re-encode flags, agent modes, output formats,
the env-model rule, or resume rules here or in TOML.
Identity
| Field | Value |
| CliType | mistral |
| Executable | vibe |
| Package | mistral-vibe (pypi; also uv / brew) |
| Repo | https://github.com/mistralai/mistral-vibe |
| Release API | https://api.github.com/repos/mistralai/mistral-vibe/releases/latest |
| Watch categories | flags, agent-modes, session-logging, output-formats, env-model |
These values mirror UPSTREAM_CLI_CONTRACTS.mistral.upstreamMetadata and
docs/upstream/provider-sources.dag.toml ([providers.mistral]). The TypeScript
metadata is authoritative; the TOML is scanner input only.
When to use
- A Mistral Vibe release lands and you need to check for contract drift.
- A
mistralrequest fails the upstream contract check before spawn. npm run upstream:scan -- --livereports a change on the Vibe releases page.
How LLM agents should use Mistral Vibe through the gateway
- Discover the live gateway/provider surface before relying on Vibe-specific
controls:
For a cached read-only resource, useprovider_tool_capabilities({cli:"mistral"})provider-tools://mistral. - Use
mistral_requestfor normal turns andmistral_request_asyncfor long-running review, analysis, or fifth-perspective checks. Sync calls may auto-defer; pollllm_job_statusand fetch withllm_job_resultwhen that happens. - Omit
modelunless the caller explicitly asked for a specific variant; the gateway selects the resolved model throughVIBE_ACTIVE_MODEL. - The gateway emits
--agent <mode>explicitly and defaults programmatic callers toaccept-edits. UseapprovalStrategy:"legacy"for Mistral; callers may usepermissionMode:"plan"or another supported Vibe mode when they need a different behavior. Mistral rejectsmcp_managedbefore launch, andapprovalPolicyhas no effect. allowedToolsmaps to repeated--enabled-toolsflags anddisallowedToolsmaps to repeated--disabled-toolsflags. Checkprovider_tool_capabilitiesbefore relying on either provider-native control.mcpServersis descriptive metadata only; Vibe owns its MCP configuration.- Vibe supports output format, trust, working directory/additional directories,
workspace/worktree, session, and max-turn/price/token controls as reported
by
provider_tool_capabilities. It does not support gatewayeffort/reasoningEffort. - Vibe continuity is real via
sessionId,resumeLatest, andcreateNewSession. Continuation,trust:true, and a non-emptyaddDirretain the provider's native behavior under legacy. Current Vibe defaults session logging on; checkdoctor --jsonfor an explicit[session_logging] enabled = falsewarning before assuming continuity transcripts are retained. - Bind concurrent repository work with
workingDiror a verifiedworkspace. Use gatewayworktreeonly with an explicit provider-nativesessionIdthat is not overridden bycreateNewSession; fresh,createNewSession, andresumeLatest-only worktree requests fail closed. An unscoped child uses a fresh neutral temporary cwd, and cwd-scopedresumeLatestfails closed without a stable target. Vibe's current prompt contract is argv-bound, so oversized UTF-8 input returns non-retryableinput_too_largewithout truncation. All other caller-controlled argv values are admitted in their final encoded form before spawn. Embedded NUL bytes return non-retryableinvalid_inputwithout exposing the rejected value.
Full-access review handoff
For a user-authorized exhaustive review that needs full provider permissions and
native MCP access, do not infer the launch controls from this maintenance guide.
Follow multi-llm-review's full-access protocol, inspect the current request
schema and live capability response, and use a fresh target-checkout
node dist/index.js --transport=stdio gateway rather than a global process.
Reapply the grant on every new job, preserve native MCP configuration without a
pretend gateway allowlist, send the corrective-program report and exact
diff/file identity, set no caller caps, and honor a user-required 90-second
progress cadence. The reviewer must independently inspect code, docs, tests,
and commands before it can approve.
Scan for upstream change
npm run upstream:scan -- --provider mistral
npm run upstream:scan -- --live --provider mistral --fail-on-critical
npm run upstream:scan -- --live --provider mistral --write-snapshot --write-reportA failed fetch is advisory (exit 0) unless --fail-on-critical is passed.
Update procedure when the upstream CLI changes
- Edit the contract in
src/upstream-contracts.ts(UPSTREAM_CLI_CONTRACTS.mistral): flag arities, the--agentbehavior and--outputenum, the--max-*patterns, and theVIBE_ACTIVE_MODELenv contract all live here. - Add a conformance fixture proving the new accept/reject behaviour
(mirror the existing
mistral-*fixtures, including the env fixture). - If a source URL or watch category changed, update
upstreamMetadataand mirror it intodocs/upstream/provider-sources.dag.toml. - Verify:
npm run build && npm run upstream:contractsandnpm test.
Mistral-specific notes (see the contract for exact rules)
- Tested against vibe 2.24.5. Vibe has a native ACP entrypoint (
vibe-acp);mistral_requestacceptstransport:"acp"andprovider-acp://mistralreports the negotiated capability set (fails closed unless[acp]and the providerruntime_enabledgate are set). ACP rejectsapprovalStrategy:"mcp_managed"and anyapprovalPolicy; the Mistral CLI rejects them as well because managed approval is Claude-only. - Model is selected via the
VIBE_ACTIVE_MODELenv var (validated by the env contract), not a--modelflag. - Permission/agent names are emitted as
--agent <name>. Legacy requests may use Vibe built-ins, install-gated agents, and custom agents; the gateway defaults programmatic callers toaccept-edits. - Vibe 2.24.5 advertises repeatable
--disabled-tools; the gateway mapsdisallowedToolsto that flag once per tool. --outputformats (text,json,streaming) are a closed enum;--max-priceis decimal-only (no scientific notation) to matchMAX_PRICE_SCHEMA.- Continuity is real via
--resume/--continue; current Vibe defaults session logging on, anddoctor --jsonflags an explicit[session_logging] enabled = false. - No cache statistics are surfaced by the Vibe CLI.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

