elixir-performance-review
Reviews Elixir code for performance issues including GenServer bottlenecks, memory usage, and concurrency patterns. Use when reviewing high-throughput code or investigating performance issues.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/anderskev/elixir-performance-reviewWhat This Skill Does
The elixir-performance-review skill acts as a specialized static analysis and architectural assistant for Elixir developers. It is designed to identify common performance pitfalls inherent in BEAM-based systems, such as mailbox congestion in GenServers, improper memory management with binaries, and concurrency antipatterns. By evaluating your code against a rigorous checklist—covering GenServer bottlenecks, memory allocation patterns, concurrency controls, and database efficiency—this skill provides actionable feedback to optimize throughput and resource utilization. It leverages context-sensitive rules to avoid false positives, ensuring that performance optimizations are only suggested when they provide genuine value.
Installation
To install this skill, run the following command in your terminal within your OpenClaw environment:
clawhub install openclaw/skills/skills/anderskev/elixir-performance-review
This command registers the skill and pulls the necessary reference materials from the official repository, ensuring you have the latest performance guidelines at your fingertips.
Use Cases
This skill is ideal for several development scenarios:
- High-Throughput Refactoring: Use this when preparing a feature for production to ensure your GenServers won't act as a bottleneck under load.
- Memory Leak Investigations: When observing high memory pressure, run the review on modules dealing with binaries or large collections to identify unbounded accumulation.
- Concurrency Audits: Audit your application's task management strategy to ensure proper backpressure and supervisor utilization.
- Database Performance Tuning: Use it to catch N+1 query patterns or missing indexes during code reviews of Ecto-heavy modules.
Example Prompts
- "Review this GenServer implementation. I'm seeing mailbox growth when traffic exceeds 500 req/s, but I'm not sure if it's due to blocking calls or slow processing."
- "Analyze this data processing pipeline. I'm handling files upwards of 50k lines and experiencing intermittent memory spikes. Are there better ways to handle these streams?"
- "Evaluate my concurrency model for this background job worker. I'm using raw Task.async and want to know if I should migrate to a Task.Supervisor for better fault tolerance and control."
Tips & Limitations
To maximize the effectiveness of this skill, ensure that you have configured your environment to allow file reading, as the agent needs access to your source code to perform accurate analysis. Note that while this tool is excellent for identifying known patterns, it is a static analyzer. Always follow the review-verification-protocol provided in the documentation before applying significant architectural changes. Remember that performance optimization often involves trade-offs; the tool recognizes valid patterns, such as using synchronous calls for consistency or ignoring ETS overhead for small state, so it will not flag these unless they clearly violate project-specific performance thresholds.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-anderskev-elixir-performance-review": {
"enabled": true,
"auto_update": true
}
}
}Tags(AI)
Flags: file-read
Related Skills
tutorial-docs
Tutorial patterns for documentation - learning-oriented guides that teach through guided doing
fetch-pr-feedback
Fetch review comments from a PR and evaluate with receive-feedback skill
swift-testing-code-review
Reviews Swift Testing code for proper use of
rust-testing-code-review
Reviews Rust test code for unit test patterns, integration test structure, async testing, mocking approaches, and property-based testing. Covers Rust 2024 edition changes including async fn in traits for mocks,
explanation-docs
Explanation documentation patterns for understanding-oriented content - conceptual guides that explain why things work the way they do