rust-studio
v0.48.1A maintainer-grade Rust engineering studio with 62 focused skills for architecture, implementation, review, testing, performance, security, and release work.
By Rust Studio contributorsLicense: MIT0 GitHub starsUpdated 2 weeks ago
Directory evidence
- Runtimes
- Codex, Claude Code, and Agent Plugins
- Parsed components
- 50 skill or MCP entries
- Source updated
- Sep 7, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install rust-studio for Codex and Claude Code
codex plugin marketplace add vanyastaff/rust-studio
codex plugin marketplace upgrade rust-studio
codex plugin add rust-studio@rust-studioPaste and run these commands in a terminal with Codex. They add and refresh the rust-studio catalog, then install this plugin.
Compatibility: the page URL and API slug “rust-studio” remain stable.
- Codex:
rust-studio@agent-plugin-marketplace→rust-studio@rust-studio
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/vanyastaff/rust-studioClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/rust-studio/.
Plugin files
├── .codex-plugin/plugin.json├── .claude-plugin/plugin.json├── plugin.json├── skills/add-dep/SKILL.md├── skills/adopt/SKILL.md├── skills/adr/SKILL.md├── skills/api-review/SKILL.md├── skills/architecture/SKILL.md├── skills/audit-unsafe/SKILL.md├── skills/bloat/SKILL.md├── skills/brainstorm/SKILL.md├── skills/changelog/SKILL.md├── skills/ci-gate/SKILL.md├── skills/commit/SKILL.md├── skills/coverage/SKILL.md├── skills/debug/SKILL.md├── skills/deps-check/SKILL.md├── skills/design-api/SKILL.md├── skills/detect-stack/SKILL.md├── skills/dev-task/SKILL.md├── skills/doc-review/SKILL.md├── skills/env-setup/SKILL.md├── skills/eval-agents/SKILL.md├── skills/fix-build/SKILL.md├── skills/flaky-hunt/SKILL.md├── skills/fuzz/SKILL.md├── skills/grill-me/SKILL.md├── skills/help/SKILL.md├── skills/lint/SKILL.md├── skills/memory-doctor/SKILL.md├── skills/merge-conflicts/SKILL.md├── skills/migrate/SKILL.md├── skills/model-domain/SKILL.md├── skills/msrv-check/SKILL.md├── skills/mutants/SKILL.md├── skills/new-crate/SKILL.md├── skills/perf/SKILL.md├── skills/pr/SKILL.md├── skills/progress-bar/SKILL.md├── skills/prototype/SKILL.md├── skills/publish/SKILL.md├── skills/recall/SKILL.md├── skills/refactor/SKILL.md├── skills/remember/SKILL.md├── skills/research/SKILL.md├── skills/resolve-pr/SKILL.md├── skills/review/SKILL.md├── skills/scope-check/SKILL.md├── skills/security-audit/SKILL.md├── skills/session-wrap/SKILL.md├── skills/spec/SKILL.md├── skills/spec-tasks/SKILL.md└── skills/spec-verify/SKILL.md
Included Skills50
Use when adding a Rust dependency: check RUSTSEC, license, MSRV, and features before changing Cargo.toml.
Use when onboarding a Rust crate or workspace: map structure and public API, infer standards, and catalog debt.
Use when recording an architecture decision (ADR): capture context, options, decision, and consequences.
Use when reviewing Rust public API changes for semver hazards, accidental exports, and version bumps.
Use when designing Rust crate or module boundaries, dependency direction, key types, and architecture docs.
Use when auditing Rust unsafe blocks or FFI boundaries for invariants, soundness, and Miri evidence.
Use when reducing Rust binary size or monomorphization with cargo-bloat and llvm-lines.
Use when exploring a Rust crate or feature before design: clarify constraints and compare 2–4 approaches. No code.
Use when generating a Keep a Changelog release entry from commits, diffs, and semver impact.
Use when auditing or installing Rust CI anti-hang and lint gates with clippy, nextest, lefthook, and timeouts.
Use when committing one logical Rust change: run fmt and clippy, then create a Conventional Commit.
Use when measuring Rust coverage with llvm-cov or tarpaulin, finding meaningful gaps, and adding targeted tests.
Use when debugging a Rust failure, panic, deadlock, hang, or wrong output; fix the cause and add a regression test.
Use when auditing Rust dependencies for advisories, licenses, sources, duplicates, versions, features, and MSRV.
Use when designing one Rust public API surface: types, traits, signatures, errors, and semver impact.
Use when classifying an unfamiliar Rust crate or workspace as library, async/web, CLI, systems, or embedded.
Use when implementing one scoped Rust feature or multi-file task end to end: scout, plan, build, test, and review.
Use when reviewing a spec, plan, ADR, or design doc for coherence, feasibility, scope, and security.
Use when provisioning a Rust machine: OS prerequisites, rustup, components, cargo-binstall, studio tools.
Use when running Claude Code benchmarks for the studio's Rust reviewer and auditors against planted defects.
Use when fixing Rust build or cargo check failures involving borrows, lifetimes, traits, types, features, or deps.
Use when reproducing, diagnosing, and fixing or quarantining an intermittent Rust test failure.
Use when fuzzing Rust parsers, decoders, or unsafe boundaries; minimize crashes into regression tests.
Use when requirements or a consequential decision need user input; interview one focused question at a time.
Use when choosing a Rust Code Studio workflow or specialist; list the available skills and agents by purpose.
Use when running rustfmt and clippy as a zero-warning Rust gate or applying safe automatic fixes.
Use when project memory needs an audit: index budget, integrity, stale notes, secrets, or promotion to rules.
Use when a Rust merge or rebase is stopped on conflicts: resolve each hunk by intent, then prove it builds.
Use when migrating a Rust edition or a major dependency version, and reviewing what cargo fix cannot.
Use when modeling one Rust domain concept with newtypes, enums, or typestate to prevent illegal states.
Use when verifying a crate's real MSRV, declared rust-version, or dependencies that raise it.
Use when assessing Rust test strength with cargo-mutants, triaging survivors, and closing meaningful gaps.
Use when scaffolding a Rust crate or workspace member with studio metadata, lints, policy, toolchain, and CI.
Use when profiling and optimizing Rust performance with flamegraphs, Criterion, and before/after measurements.
Use when pushing committed Rust work and opening a pull request with a value-first description via gh.
Use when running Claude Code and configuring, refreshing, or removing the Rust Code Studio status line.
Use when a Rust design question needs running code to settle: an API shape, a state machine, a trait doubt.
Use when preparing a crate for crates.io with release gates and a publish dry-run. Never auto-publish.
Use when starting related work: recall project decisions, gotchas, conventions, and fixes; verify each holds.
Use when refactoring or simplifying tangled Rust code without behavior changes: tests and the project gate as the oracle.
Use when saving a durable project decision, gotcha, convention, or non-trivial fix to project memory.
Use when a Rust question needs primary sources: crate source, docs.rs, the Reference, an RFC — cited.
Use when addressing pull-request review threads or CI failures, or watching a PR until merge-ready.
Use when reviewing a Rust diff or path for correctness, soundness, scope creep, tests, and standards violations.
Use when comparing a Rust diff or plan with acceptance criteria to flag over-scope, under-scope, or creep.
Use when auditing Rust code for injection, unsafe input, auth flaws, secret leaks, and RUSTSEC advisories.
Use when closing a Rust work session: recap changes, capture durable learnings, and record the next step.
Use when planning a non-trivial Rust feature or cross-crate change to compare approaches and write a spec.
Use when an approved spec needs ordered Rust implementation tasks, acceptance criteria, and delivery.
Use when verifying Rust implementation against a spec with tests, clippy, fmt, and gates before archiving.
Plugin manifests3
{
"name": "rust-studio",
"version": "0.48.1",
"description": "A maintainer-grade Rust engineering studio with 62 focused skills for architecture, implementation, review, testing, performance, security, and release work.",
"author": {
"name": "Rust Studio contributors",
"url": "https://github.com/vanyastaff/rust-studio"
},
"homepage": "https://github.com/vanyastaff/rust-studio",
"repository": "https://github.com/vanyastaff/rust-studio",
"license": "MIT",
"keywords": [
"rust",
"cargo",
"code-review",
"architecture",
"testing",
"security",
"performance",
"release"
],
"skills": "./skills/",
"hooks": "./hooks/codex-hooks.json",
"interface": {
"displayName": "Rust Code Studio",
"shortDescription": "Maintainer-grade Rust workflows from design through release",
"longDescription": "Use Rust Code Studio to design, implement, debug, review, test, optimize, secure, and release Rust crates and workspaces through focused, evidence-driven workflows.",
"developerName": "Rust Studio contributors",
"category": "Developer Tools",
"capabilities": [
"Interactive",
"Read",
"Write"
],
"websiteURL": "https://github.com/vanyastaff/rust-studio",
"privacyPolicyURL": "https://github.com/vanyastaff/rust-studio/blob/main/PRIVACY.md",
"termsOfServiceURL": "https://github.com/vanyastaff/rust-studio/blob/main/TERMS.md",
"defaultPrompt": [
"Use Rust Code Studio to review this Rust change.",
"Use Rust Code Studio to implement this Rust task.",
"Use Rust Code Studio to prepare this crate for release."
],
"brandColor": "#F46623",
"composerIcon": "./assets/rust-studio-small.svg",
"logo": "./assets/rust-studio.svg",
"logoDark": "./assets/rust-studio-dark.svg",
"screenshots": []
}
}{
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "rust-studio",
"displayName": "Rust Code Studio",
"description": "Turn a single Claude Code session into a full Rust engineering studio. Tiered agent team (architect -> leads -> specialists), path-scoped Rust standards, quality gates, and cargo-aware hooks across libraries, async/web services, CLIs, and systems/embedded code.",
"version": "0.48.1",
"author": {
"name": "Rust Studio contributors"
},
"homepage": "https://github.com/vanyastaff/rust-studio",
"repository": "https://github.com/vanyastaff/rust-studio",
"license": "MIT",
"keywords": [
"rust",
"cargo",
"code-review",
"agents",
"studio",
"async",
"tokio",
"unsafe",
"performance",
"crates"
],
"experimental": {
"evals": "./evals",
"monitors": "./monitors/monitors.json"
},
"hooks": "./hooks/claude-hooks.json",
"userConfig": {
"test_runner": {
"type": "string",
"title": "Default test runner",
"description": "Test runner the studio prefers (cargo-nextest recommended). Surfaced in the session briefing so agents honor it.",
"default": "nextest"
},
"gate_intensity": {
"type": "string",
"title": "Default gate intensity",
"description": "How many independent lenses review a change: full (every relevant gate + the multi-lens pass), lean (one reviewer, the directly-relevant gate), or solo (a single advisory pass). This scales reviewers and cost only — the evidence bar never moves, and unsafe / public-API / release changes run full whatever this says. Because lean and solo remove the readers that would otherwise catch a gamed green, stop_guard defaults ON under them unless you set it explicitly.",
"default": "full"
},
"default_msrv": {
"type": "string",
"title": "House MSRV fallback",
"description": "Minimum supported Rust version to assume when a Cargo.toml does not declare rust-version (e.g. 1.82). Leave empty to keep showing \"(unset)\"."
},
"memory_recall": {
"type": "boolean",
"title": "Session-start memory recall",
"description": "At session start, rank the project memory index against the branch / changed crates / last commit, surface the notes that bind this work (kind + age + path) and report index health against the host's 200-line / 25 KB load limit; on each prompt, point at notes that match it (once per session per note). Turn off to skip both — the host still loads its index, and /remember, /recall, /memory-doctor, /session-wrap still work.",
"default": true
},
"memory_dir": {
"type": "directory",
"title": "Project memory directory",
"description": "Where project memory lives. Leave empty to use the host's auto-memory directory for this repository (Claude Code's autoMemoryDirectory setting, else ~/.claude/projects/<project-key>/memory) — the same MEMORY.md index Claude Code loads at session start, shared with Codex sessions. Set it only to keep the studio's memory somewhere else; Claude Code will not load that index itself, so the session-start hook carries it instead."
},
"auto_capture": {
"type": "boolean",
"title": "Auto-capture learnings",
"description": "When a turn finishes a real unit of work (a completion summary + uncommitted changes) but nothing was saved to memory, block the stop ONCE and nudge the agent to /remember any non-obvious, durable learning. The agent does the judging and writing (a hook cannot judge what was learned). Nudges at most once per turn and never re-blocks (stop_hook_active breaks the loop), so it is far gentler than stop_guard. Turn off to keep memory capture purely manual.",
"default": true
},
"statusline": {
"type": "boolean",
"title": "Auto-install status line",
"description": "On the first session, install the rich studio status line into ~/.claude/settings.json (a plugin cannot ship a top-level statusLine itself). It is installed ONCE, never clobbers an existing statusLine, and backs settings up first. Turn off to skip auto-install; manage or remove anytime with /progress-bar.",
"default": true
},
"progress_tracking": {
"type": "boolean",
"title": "Progress visibility",
"description": "When on, orchestrating skills like /dev-task keep a live task list (one task per phase, ticking scout → plan → plan-review → build → review) and surface each phase's result as it completes — so you follow progress on the task list instead of waiting in silence until the end. Turn off for terse runs.",
"default": true
},
"git_guard": {
"type": "boolean",
"title": "Irreversible-action guard",
"description": "Block Bash commands that destroy work with no way back (git reset --hard, clean -f, checkout ., branch -D, stash drop, force-push, reflog expire) or that publish permanently (a real cargo publish / cargo yank). Plain git push, --force-with-lease, and cargo publish --dry-run stay allowed. The studio decides tactical calls on its own, so this is the line where autonomy stops. Turn off to run unguarded.",
"default": true
},
"routing_nudge": {
"type": "boolean",
"title": "Routing nudge",
"description": "Once per session, remind you to prefer a studio skill and to /recall an area before working. Turn off to silence the UserPromptSubmit nudge.",
"default": true
},
"fmt_nudge": {
"type": "boolean",
"title": "Formatting nudge",
"description": "After a turn that changed .rs files, nudge to run /lint when they are not rustfmt-clean. Turn off to silence the Stop-hook fmt check.",
"default": true
},
"lifecycle_notes": {
"type": "boolean",
"title": "Session-lifecycle notes",
"description": "Surface the pre-compaction warning (persist in-flight plans before compaction drops them) and the session-end /session-wrap reminder. Turn off to silence both.",
"default": true
},
"stop_guard": {
"type": "boolean",
"title": "Stop-guard (block undisciplined turn endings)",
"description": "Block the turn from ending if the final message dodges ownership, seeks permission, stops early, avoids tests, leaves stubs, hands the work back to you, or claims done without evidence. The feedback is fed back to the model so it continues — the mechanical teeth for docs/integrity-and-evidence.md. Defaults to OFF at gate_intensity full (the extra review lenses already catch this) and ON at lean/solo (they don't). Set it explicitly to override that coupling in either direction.",
"default": false
},
"stop_guard_strict": {
"type": "boolean",
"title": "Stop-guard: strict mode",
"description": "Also block on soft signals (speculation, weak completion, evidence-free claims) even when some completion evidence is present. Requires stop_guard on.",
"default": false
},
"stop_guard_require_evidence": {
"type": "boolean",
"title": "Stop-guard: require evidence",
"description": "Block any turn ending whose final message lacks concrete completion evidence (files changed / commands run / verification / result), even with no flagged phrase. Requires stop_guard on.",
"default": false
},
"stop_guard_allow_categories": {
"type": "string",
"title": "Stop-guard: allowed categories",
"description": "Comma-separated stop-guard categories to exempt from blocking (e.g. \"speculation,fake-certainty\"). Useful to tune false positives without turning the guard off. Requires stop_guard on."
}
}
}{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "rust-studio",
"version": "0.48.1",
"description": "Maintainer-grade Rust engineering workflows for coding agents: 62 skills for architecture, implementation, review, testing, performance, security, and release work.",
"author": {
"name": "Rust Studio contributors",
"url": "https://github.com/vanyastaff/rust-studio"
},
"homepage": "https://github.com/vanyastaff/rust-studio",
"repository": "https://github.com/vanyastaff/rust-studio",
"license": "MIT",
"keywords": [
"rust",
"cargo",
"code-review",
"architecture",
"testing",
"security",
"performance",
"release"
]
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[rust-studio on Agent Plugins Marketplace](https://pluginsmp.com/plugins/rust-studio)