Monstermq Broker Config
vogler75/monster-mq
Guide for configuring, deploying, and operating the MonsterMQ broker.
Rust coding best practices for idiomatic, efficient, and maintainable code.
$ npx skills add pgdogdev/pgdog --skill rust -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pgdogdev/pgdog rust --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pgdogdev/pgdog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/rust .claude/skills/rust && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "rust" agent skill from https://github.com/pgdogdev/pgdog/tree/main/.claude/skills/rust into .claude/skills/rust/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rust", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pgdogdev/pgdog/tree/main/.claude/skills/rustType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pgdogdev/pgdog --skill rust -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pgdogdev/pgdog rust --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pgdogdev/pgdog.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/rust .agents/skills/rust && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rust" agent skill from https://github.com/pgdogdev/pgdog/tree/main/.claude/skills/rust into .agents/skills/rust/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rust", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pgdogdev/pgdog --skill rust -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pgdogdev/pgdog rust --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pgdogdev/pgdog.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/rust .cursor/skills/rust && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rust" agent skill from https://github.com/pgdogdev/pgdog/tree/main/.claude/skills/rust into .cursor/skills/rust/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rust", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pgdogdev/pgdog.git --path .claude/skills/rust--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pgdogdev/pgdog --skill rust -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pgdogdev/pgdog rust --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pgdogdev/pgdog.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/rust .gemini/skills/rust && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rust" agent skill from https://github.com/pgdogdev/pgdog/tree/main/.claude/skills/rust into .gemini/skills/rust/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rust", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pgdogdev/pgdog rustInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pgdogdev/pgdog --skill rust -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pgdogdev/pgdog.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/rust .github/skills/rust && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rust" agent skill from https://github.com/pgdogdev/pgdog/tree/main/.claude/skills/rust into .github/skills/rust/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rust", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pgdogdev/pgdog --skill rust -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pgdogdev/pgdog rust --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pgdogdev/pgdog.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/rust .opencode/skills/rust && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rust" agent skill from https://github.com/pgdogdev/pgdog/tree/main/.claude/skills/rust into .opencode/skills/rust/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rust", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rustRust coding best practices for idiomatic, efficient, and maintainable code.
Rust is an agent skill from pgdogdev/pgdog. Rust coding best practices for idiomatic, efficient, and maintainable code. Use when writing Rust code, reviewing code, or learning Rust patterns.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Databases, covering Cloud networking. It works with Rust and PostgreSQL. The repository describes itself as: PostgreSQL connection pooler, load balancer and database sharder. The licence is AGPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a5de866. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditWriteBashGrepGlobTaskFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rust loads about 1.9k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 237 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Edit, Write, Bash, Grep, Glob, TaskAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pgdogdev/pgdog at commit a5de866, republished under its AGPL-3.0 licence (© pgdogdev). 237 words, ~1,891 tokens.
.claude/skills/rust/SKILL.md (or your agent's skills folder).Guidelines for writing idiomatic, efficient, and maintainable Rust code.
Use thiserror
use thiserror::Error;
#[derive(Error, Debug)]
pub enum ConfigError {
#[error("Failed to read config: {0}")]
Io(#[from] std::io::Error),
#[error("Failed to parse config: {0}")]
Parse(#[from] toml::de::Error),
#[error("Invalid configuration: {message}")]
Invalid { message: String },
}.unwrap()// BAD
let value = map.get("key").unwrap();
// GOOD
let value = map.get("key").ok_or_else(|| Error::MissingKey("key"))?;
// GOOD (when None is truly impossible)
let value = map.get("key").expect("key always present after init");// BAD - unnecessary clone
fn process(data: String) { ... }
process(my_string.clone());
// GOOD - borrow when possible
fn process(data: &str) { ... }
process(&my_string);Cow for Flexible Ownershipuse std::borrow::Cow;
fn process(data: Cow<'_, str>) -> Cow<'_, str> {
if data.contains("bad") {
Cow::Owned(data.replace("bad", "good"))
} else {
data // No allocation if unchanged
}
}// GOOD - clear ownership
impl User {
pub fn new(name: impl Into<String>) -> Self {
Self { name: name.into() }
}
}#[derive(Default)]
pub struct ServerBuilder {
host: Option<String>,
port: Option<u16>,
timeout: Option<Duration>,
}
impl ServerBuilder {
pub fn host(mut self, host: impl Into<String>) -> Self {
self.host = Some(host.into());
self
}
pub fn port(mut self, port: u16) -> Self {
self.port = Some(port);
self
}
pub fn build(self) -> Result<Server, ConfigError> {
Ok(Server {
host: self.host.unwrap_or_else(|| "localhost".into()),
port: self.port.ok_or(ConfigError::MissingPort)?,
timeout: self.timeout.unwrap_or(Duration::from_secs(30)),
})
}
}// BAD - easy to mix up
fn transfer(from: i64, to: i64, amount: i64) { ... }
// GOOD - compile-time safety
pub struct AccountId(i64);
pub struct Amount(i64);
fn transfer(from: AccountId, to: AccountId, amount: Amount) { ... }#[must_use] for Important Returns#[must_use]
pub fn validate(&self) -> Result<(), ValidationError> {
// ...
}// BAD
let mut results = Vec::new();
for item in items {
if item.is_valid() {
results.push(item.transform());
}
}
// GOOD
let results: Vec<_> = items
.into_iter()
.filter(|item| item.is_valid())
.map(|item| item.transform())
.collect();collect() Type Inference// Collect into Vec
let vec: Vec<_> = iter.collect();
// Collect into HashMap
let map: HashMap<_, _> = iter.collect();
// Collect Results
let results: Result<Vec<_>, _> = iter.collect();tokio for Async Runtime#[tokio::main]
async fn main() -> Result<()> {
let result = fetch_data().await?;
Ok(())
}// BAD - blocks the runtime
async fn bad() {
std::thread::sleep(Duration::from_secs(1));
}
// GOOD - async sleep
async fn good() {
tokio::time::sleep(Duration::from_secs(1)).await;
}
// GOOD - spawn blocking for CPU-intensive work
async fn compute() -> i32 {
tokio::task::spawn_blocking(|| expensive_computation()).await.unwrap()
}#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_basic() {
assert_eq!(add(1, 2), 3);
}
#[test]
fn test_edge_case() {
assert!(validate("").is_err());
}
}tests/// tests/integration_test.rs
use my_crate::public_api;
#[test]
fn test_full_workflow() {
let result = public_api::process("input");
assert!(result.is_ok());
}assert! Macros Effectivelyassert!(condition);
assert_eq!(left, right);
assert_ne!(left, right);
assert!(result.is_ok());
assert!(result.is_err());
assert_matches!(value, Pattern::Variant { .. });// BAD - allocates even if not needed
fn maybe_string() -> String {
String::from("default")
}
// GOOD - return static str when possible
fn maybe_string() -> &'static str {
"default"
}Vec::with_capacity for Known Sizes// BAD - multiple reallocations
let mut vec = Vec::new();
for i in 0..1000 {
vec.push(i);
}
// GOOD - single allocation
let mut vec = Vec::with_capacity(1000);
for i in 0..1000 {
vec.push(i);
}/// BAD
let v = tokio::net::TcpStream::connect("localhost:8080");
/// GOOD
use tokio::net::TcpStream;
let v = TcpStream::connect("localhost:8080");cargo build --release
cargo flamegraph # requires cargo-flamegraph// src/lib.rs
pub mod config;
pub mod client;
pub mod error;
// Re-export public API
pub use config::Config;
pub use client::Client;
pub use error::Error;pub(crate) for Internal APIs// Public to crate, not external users
pub(crate) fn internal_helper() { ... }/// Creates a new client with the given configuration.
///
/// # Arguments
///
/// * `config` - The client configuration
///
/// # Errors
///
/// Returns an error if the configuration is invalid.
///
/// # Examples
///
/// ```
/// let client = Client::new(Config::default())?;
/// ```
pub fn new(config: Config) -> Result<Self> {
// ...
}| Anti-Pattern | Better Approach |
|---|---|
.unwrap() everywhere | Use ? operator |
clone() to satisfy borrow checker | Restructure ownership |
String parameters | Use &str or impl Into<String> |
| Boolean parameters | Use enums |
| Long function bodies | Extract to smaller functions |
| Deep nesting | Use early returns |
| Magic numbers | Use named constants |
# Quality gates
cargo fmt -- --check && cargo clippy -- -D warnings && cargo test
# Common cargo commands
cargo check # Fast syntax/type check
cargo build # Debug build
cargo build --release # Release build
cargo nextest run # Run tests
cargo doc --open # Generate and view docs
cargo clippy --fix # Auto-fix lint issues© pgdogdev, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/rust of pgdogdev/pgdog.
Open the folder on GitHubat commit a5de866
Rust next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rust this skillpgdogdev/pgdog | 5.6k | — | ~1.9k | Automated safety check: Notes | AGPL-3.0 | |
| Monstermq Broker Configvogler75/monster-mq | 142 | — | ~2.2k | Automated safety check: Pass | GPL-3.0 | |
| Azure Resource Manager Postgresql Dotnetmicrosoft/skills | 3.1k | 6 repos | ~4k | Automated safety check: Pass | MIT | |
| Fly Io DeployerLeoYeAI/openclaw-master-skills | 2.2k | — | ~6.3k | Automated safety check: Notes | MIT | |
| Diesel Guardayarotsky/diesel-guard | 121 | — | ~3.1k | Automated safety check: Pass | MIT | |
| cargo-pgrx Commands and Testsyugabyte/yugabyte-db | 11k | — | ~1.9k | Automated safety check: Pass | Custom licence |
vogler75/monster-mq
Guide for configuring, deploying, and operating the MonsterMQ broker.
microsoft/skills
Azure PostgreSQL Flexible Server SDK for .NET. An agent skill from microsoft/skills.
LeoYeAI/openclaw-master-skills
Deploy and operate Node, Python, Go, Rust, Elixir, and Docker apps on Fly.io with production-grade fly.toml authoring, Machines API orchestration, region selection (latency vs sovereignty vs…
ayarotsky/diesel-guard
Lints Diesel and SQLx Postgres migrations for unsafe schema changes that lock tables or cause downtime, and authors custom Rhai checks.
yugabyte/yugabyte-db
Helps choose and run cargo-pgrx commands and decide whether a Rust test is a plain test or a pg_test, so code never crosses the Postgres boundary the wrong way.
veloxbase/veloxdb
Guides scalability and performance work for VeloxDB's Tauri + Rust PostgreSQL backend and React + TanStack frontend.
Works with
Categories
Rust coding best practices for idiomatic, efficient, and maintainable code. Rust is an agent skill from pgdogdev/pgdog. Rust coding best practices for idiomatic, efficient, and maintainable code.
Rust fits situations like: writing Rust code; learning Rust patterns.
Run `npx skills add pgdogdev/pgdog --skill rust -a claude-code`. Or copy the skill folder (.claude/skills/rust in pgdogdev/pgdog) into .claude/skills/rust in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pgdogdev/pgdog --skill rust -a codex`. Or copy the skill folder (.claude/skills/rust in pgdogdev/pgdog) into .agents/skills/rust in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pgdogdev/pgdog --skill rust -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rust, .gemini/skills/rust, .github/skills/rust and .opencode/skills/rust in your project.
Going by SKILL.md and its folder, Rust needs the command-line tools its instructions call (cargo). Its frontmatter pre-approves these tools: Read, Edit, Write, Bash, Grep, Glob, Task.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Rust is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Rust: Monstermq Broker Config (vogler75/monster-mq, 142 stars), Azure Resource Manager Postgresql Dotnet (microsoft/skills, 3.1k stars), Fly Io Deployer (LeoYeAI/openclaw-master-skills, 2.2k stars) and Diesel Guard (ayarotsky/diesel-guard, 121 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pgdogdev (a GitHub organization) maintains it in pgdogdev/pgdog, which has 5,552 GitHub stars. The repository was last updated on October 7, 2026.
Source: pgdogdev/pgdog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.