بنقرة واحدة
evaluate-rust-performance
Evaluate project performance with focus on Rust and CLI-specific patterns
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Evaluate project performance with focus on Rust and CLI-specific patterns
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Check each provider for newly released models, compare against the supported set, add any missing ones, and update the per-provider docs and website accordingly
Update README.md, CLAUDE.md, the docs/ tree (ARCH.md, INSTALL.md, USAGE.md, CONFIG.md, PROVIDERS.md, TOOLS.md, EXTENSIONS.md, CODING_AGENT.md, SERVER.md), and the website (website/index.html, website/terminal.html, website/server.html, website/desktop.html) to match the current project state
Write a small, self-contained, locally executable code snippet — bash or python by default.
Connect a Model Context Protocol server to aictl by adding an entry to ~/.aictl/mcp.json. Walks the user through command, args, env, and timeout, then merges the new server into the existing config without disturbing other entries.
Add a lifecycle hook to ~/.aictl/hooks.json. Walks the user through choosing the right event, matcher, command, and timeout, then merges the new entry into the existing config without disturbing other hooks.
Review staged/unstaged changes for correctness, security, and style.
| name | evaluate-rust-performance |
| description | Evaluate project performance with focus on Rust and CLI-specific patterns |
| allowed-tools | Bash, Read, Glob, Grep, Write |
Audit the codebase for performance issues, inefficient patterns, and CLI responsiveness problems. Produce a concise report with findings and actionable recommendations.
Run each command via the Bash tool and capture output:
cargo build --release 2>&1
ls -lh target/release/$(basename $(pwd)) 2>/dev/null || ls -lh target/release/*.exe 2>/dev/null || echo "binary not found"
time cargo build --release 2>&1
Record binary size and build time.
Use Grep and Read to find allocation-heavy patterns:
.clone() -- flag clones in hot paths or loops where a borrow would suffice..to_string(), .to_owned() -- flag unnecessary conversions from &str to String.format! in loops -- flag repeated allocations that could be pre-allocated.String::new() followed by repeated push_str -- suggest using format! or pre-allocated capacity.Vec::new() in loops without with_capacity -- flag when the size is known or estimable.collect() into intermediate collections that are immediately iterated again.Use Grep and Read to examine string usage:
String parameters where &str would work.String where the caller always borrows the result.+ operator -- suggest format! or push_str.String::from or .into() conversions at call sites.Use Grep and Read to examine async patterns:
tokio::spawn, .await, async fn -- verify async is used appropriately..await calls that could run concurrently with join! or try_join!.std::fs, std::thread::sleep, heavy computation without spawn_blocking.Arc/Mutex where simpler ownership would work.tokio::sync::Mutex vs std::sync::Mutex misuse.Use Grep and Read to examine I/O patterns:
reqwest usage -- check for connection reuse (shared Client vs per-request Client::new()).read_to_string on large files without size checks.Use Grep and Read to examine subprocess handling:
Command::new, tokio::process::Command -- check for efficient usage.Use Grep and Read to check for inefficient patterns:
iter().find, iter().position, contains) on large collections -- suggest HashMap/HashSet.regex::Regex::new inside loops -- should be compiled once and reused.Use Grep and Read to check for bloat:
#[derive(Debug)] on large types that don't need it in release builds.strip is configured in release profile for smaller binaries.Use Grep and Read to check startup performance:
Print a structured report with these sections:
## Build Metrics
binary size, build time, release profile settings
## Allocations & Cloning
findings with file:line references
## String Handling
findings with file:line references
## Async & Concurrency
findings with file:line references
## I/O & Network
findings with file:line references
## Process Execution
findings with file:line references
## Data Structures & Algorithms
findings with file:line references
## Binary Size
dependency weight, feature flags, optimization settings
## Startup & Responsiveness
findings with file:line references
## Summary
overall performance assessment: score out of 10,
critical issues (measurable impact), warnings (likely impact),
suggestions (marginal improvement)
Use impact labels for each finding: CRITICAL, HIGH, MEDIUM, LOW, INFO.
After printing the report, save it to the .claude/reports/performance/ directory: