By vanyastaff
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.
Design or review public API, decide breaking vs additive change, audit accidental pub, plan crate boundary split, gate any change touching the public surface. Tier-2 lead for API surface, crate boundaries, and semver discipline. Owns the re-export strategy, #[non_exhaustive] / sealed-trait policy, and API-GATE sign-off.
Trait and type design specialist: trait design, type-state machines, builders, sealed traits, newtypes, GATs, trait-objects-vs-generics, standard impls (From/TryFrom/Display/Error/Iterator/Default). Use to design a public API surface or make illegal states unrepresentable. Trigger phrases: "design this trait", "typestate builder", "sealed trait", "newtype pattern", "object safety", "illegal states unrepresentable", "GAT", "From vs TryFrom".
Tokio runtime and async-correctness specialist. Owns cancellation safety, select!, streams, spawning, JoinHandles, Send/'static bounds, async traits, and timeouts. Use when reviewing or writing async code, debugging a hang/race/cancellation bug, auditing spawn sites, reasoning about structured concurrency, or deciding between spawn vs. spawn_blocking.
Tier-2 lead for async architecture and service design. Owns tokio runtime topology, web stack choice (axum/actix/hyper/tower), service-level concurrency model, backpressure, and the ASYNC-GATE. Use when designing or reviewing an async service, choosing a web framework, wiring up shutdown, handling backpressure, or auditing cancellation safety.
Implements build infrastructure: build.rs, CI configs, cross-compilation, xtask, cargo-hack feature matrices, OUT_DIR codegen. Use to set up/fix build scripts, add cross targets, debug CI, or verify all feature combinations compile. (tooling-lead owns build policy + BUILD-GATE; this agent implements.) Trigger phrases: "build.rs", "cross-compile", "cargo hack", "xtask", "OUT_DIR", "rerun-if", "CI matrix".
Add a Rust dependency / add-dep / vet a crate — run the full vetting pipeline (RUSTSEC, license, MSRV, features) before touching Cargo.toml.
Adopt / onboard an existing Rust crate or workspace into studio governance — reverse-engineer structure, infer domains and standards, summarize the public API, catalog debt/gaps, then delegate the docs.
ADR / architecture decision record — write, number, and file a decision record using the studio template: context, options, decision, consequences, alternatives.
Detect semver hazards, accidental-pub leaks, and required version bump in a public API change — runs cargo public-api / cargo semver-checks, classifies every change with api-design-lead, and drafts mitigations.
Design or revise module/crate architecture — boundaries, dependency direction, key types, and an architecture doc. Drives map → decide → record → hand off via chief-architect.
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
fmt_nudgeAfter 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.
${user_config.fmt_nudge}statuslineOn 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.
${user_config.statusline}stop_guardWhen on, 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. Aggressive (it can block legitimate stops) — off by default; the mechanical teeth for docs/integrity-and-evidence.md.
${user_config.stop_guard}vault_pathPath to the Obsidian vault used for cross-session memory. Overrides the OBSIDIAN_VAULT_PATH env var. Leave empty to use OBSIDIAN_VAULT_PATH, or ~/memory by default.
${user_config.vault_path}test_runnerTest runner the studio prefers (cargo-nextest recommended). Surfaced in the session briefing so agents honor it.
${user_config.test_runner}auto_captureWhen 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 has no MCP access). 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.
${user_config.auto_capture}default_msrvMinimum supported Rust version to assume when a Cargo.toml does not declare rust-version (e.g. 1.82). Leave empty to keep showing "(unset)".
${user_config.default_msrv}memory_recallScan the Obsidian vault at session start and inject a ranked index of relevant project notes. Turn off to skip the vault scan; the /remember, /recall, and /session-wrap skills still work.
${user_config.memory_recall}routing_nudgeOnce per session, remind you to prefer a studio skill and to /recall an area before working. Turn off to silence the UserPromptSubmit nudge.
${user_config.routing_nudge}gate_intensityDefault rigor for quality gates and reviews: full, lean, or solo. Surfaced in the session briefing.
${user_config.gate_intensity}progress_trackingWhen on, orchestrating skills like /dev-task keep a live task list (one task per phase, ticking scout → plan → 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.
${user_config.progress_tracking}stop_guard_strictAlso block on soft signals (speculation, weak completion, evidence-free claims) even when some completion evidence is present. Requires stop_guard on.
${user_config.stop_guard_strict}stop_guard_require_evidenceBlock 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.
${user_config.stop_guard_require_evidence}A personal Claude Code plugin marketplace.
| Plugin | What it does |
|---|---|
| rust-studio | Turns a Claude Code session into a full Rust engineering studio — a tiered agent team, path-scoped Rust standards, quality gates, and cargo-aware hooks. |
This repo is both a marketplace (.claude-plugin/marketplace.json, name vanya) and the
home of the rust-studio plugin under plugins/.
From GitHub:
/plugin marketplace add vanyastaff/rust-studio
/plugin install rust-studio@vanya
Or from a local clone (no GitHub required) — /plugin marketplace add C:\Users\vanya\rust-studio.
Full step-by-step (and the settings.json alternative) in INSTALL.md.
The marketplace and plugin manifests validate clean (claude plugin validate . --strict), and
author / repository / homepage are set. To cut a release, bump version in
plugins/rust-studio/.claude-plugin/plugin.json
(the single source of truth — the marketplace entry intentionally omits version), then tag and
push:
cd plugins/rust-studio
claude plugin tag --push # creates rust-studio--v<version> from the manifest
Full release checklist: plugins/rust-studio/docs/releasing.md.
rust-studio/ (this repo = the "vanya" marketplace)
├── .claude-plugin/
│ └── marketplace.json # lists the plugins
├── plugins/
│ └── rust-studio/ # the plugin
│ ├── .claude-plugin/plugin.json
│ ├── .lsp.json # bundled rust-analyzer LSP
│ ├── agents/ # 33 agent definitions
│ ├── skills/ # 48 slash commands
│ ├── hooks/ # hooks.json + Bun/TypeScript scripts
│ ├── rules/ # 17 path-scoped Rust standards
│ ├── output-styles/ # opt-in terse review style
│ ├── monitors/ # background monitors (PR CI status)
│ ├── docs/ # protocol, roster, releasing, templates/
│ └── README.md
├── INSTALL.md
└── LICENSE
MIT — see LICENSE.
npx claudepluginhub vanyastaff/rust-studio --plugin rust-studioComprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Comprehensive PR review agents specializing in comments, tests, error handling, type design, code quality, and code simplification
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.