Mistral Vibe is a command-line coding assistant that lets users converse with a codebase and use natural language to explore or change projects. Developers use it for file editing, code searching, version-control tasks, and shell commands through Mistral’s models. Its catalogue add-ons provide skills and instructions for customizing the assistant’s workflows.
Borrowing it
Nothing to install: this file belongs to mistralai/mistral-vibe. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mistralai/mistral-vibe/main/.agents/skills/vibe-rust-tui/SKILL.mdgit clone --depth 1 https://github.com/mistralai/mistral-vibeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mistralai/mistral-vibe/vibe-rust-tui)<a href="https://agentmods.dev/skills/mistralai/mistral-vibe/vibe-rust-tui"><img src="https://agentmods.dev/badge/skills/mistralai/mistral-vibe/vibe-rust-tui/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mistralai/mistral-vibe/vibe-rust-tui"><img src="https://agentmods.dev/badge/skills/mistralai/mistral-vibe/vibe-rust-tui.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00078 | $0.02556 |
| Opus 5.5 | $0.00031 | $0.01022 |
| Sonnet 5.5 | $0.00016 | $0.00511 |
| Haiku 4.5 | $0.00008 | $0.00256 |
Grade A, and why
vibe-rust-tui scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Vibe Rust TUI
UI conventions for vibe/cli-rust/. Every screen follows them so the TUI reads as one product. Local code rules, scenarios and goldens live in vibe/cli-rust/AGENTS.md and client-e2e/AGENTS.md.
Shortcut hints
- Name keys and actions only through
src/hints.rs:key::*,action::*and the shared pairs (hints::NAVIGATE,SELECT,SEARCH,CANCEL,CLOSE,BACK). Never write a key or action as a string literal at a call site. A single letter key ("d","r") is fine as long as its action comes fromaction::*. When a key or verb is missing, add it tosrc/hints.rs. - A hint is an unpadded
(key, action)pair (hints::Hint). The renderer owns all spacing; never bake spaces into a label. - Wording: actions are lowercase verbs (
navigate,select,close); keys keep their canonical casing (Enter,Esc,Ctrl+C,Backspace). Combined keys use/(Space/Enter,Esc/Ctrl+C). - Vertical navigation is
key::NAV(↑↓/jk) whenever j/k work; usekey::ARROWS(↑↓) only where a focused text field owns the letters. Horizontal navigation iskey::LEFT_RIGHT(←→). - Footers read
key action key action, ending with the Esc hint. Inline status lines (loading line, narrator) are the one exception and readkey to action. - Render every footer through
ui/hint_line.rs(draw,draw_clipped,line,spans,styled): they apply the shared key/action styles and clip to the box. Never place hint text with hardcoded x offsets or custom key styles. Center a hint withhints::width. - Onboarding and dialogs follow the same footer form (
Enter continue,Esc back), not sentences like "Press Esc to go back".
Keyboard navigation
- Every navigable list accepts
j/kalongside↑/↓when no text field is focused. Match only plain keys (no Ctrl/Alt/Super) soCtrl+J/Ctrl+Kkeep their editing meaning. - Show the navigation keys a screen actually handles: write
↑↓/jkonly where j/k are wired. - Edges:
↑↓/jk(and←→across dialog options) wrap at both ends; PageUp/PageDown/Home/End clamp. Move anOptionList(src/option_list.rs) withstep(down, len, wrap, selectable), whoseselectableskips rows (section headers, notes, blanks) that cannot take the cursor;list_nav::wrapis only for the onboarding's fixed two-choice screens. Never hand-rollsaturating_sub/min(len - 1)for arrow moves. The only lists that do not wrap are the ones attached to the composer: Down past the newest queued prompt leaves queue mode, and Up at the top of the subagent list returns focus to the composer. - Back: Esc goes back exactly one level (field → list, detail → list, auth flow → its
/mcplist) and closes only at the top level. Backspace edits text and is never a navigation key. A nested view's footer ends withhints::BACK(Esc back); a top-level view's footer ends withhints::CLOSEorhints::CANCEL. - Digits: a row's digit shortcut exists if and only if the row displays its number (
1. Trust folder). Pressing it is the same as moving to the row and pressing Enter. Parse it withlist_nav::digit; never accept digits on unnumbered rows, and never number rows that do not accept their digit.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago Changed · +9 lines · +3 tokens per session 423aa46e368a
- 15d ago First seen · 63 lines · 75 tokens per session scan A 9b7c460d2810
vibe-rust-tui is a skill published in the GitHub repository mistralai/mistral-vibe (5,193 stars, last pushed 2d ago), licensed Apache-2.0. It adds 78 tokens to every session and 2,556 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-10.
Other skills, from other repositories
rust-patterns
Idiomatic Rust patterns, ownership, error handling, traits, concurrency, and best practices for building safe, performant applications.
update-v8-version
Update Codex's pinned v8 / rustyv8 versions, validate the release-candidate path, and investigate failed V8 canary or artifact builds. Use when asked to bump V8, update rustyv8 artifacts, prepare or validate a V8 release candidate, check v8-canary, or diagnose why a V8 version update no longer builds.
dd-code-generation
Use pup CLI for immediate Datadog operations or generate code for integration into applications.
omh-rust
This is an OMH rust workflow skill, projected for Agent Skills hosts (Claude Code, Codex, Cursor, opencode, OpenClaw, pi).
azure-keyvault-secrets-rust
Client library for Azure Key Vault Secrets — secure storage for passwords, API keys, and other secrets.
rust-project
Modern Rust project architecture guide for 2025. Use when creating Rust projects (CLI, web services, libraries). Covers workspace structure, error handling, async patterns, and idiomatic Rust best practices.