
M11 Ecosystem
- 760 installs
- 1.3k repo stars
- Updated May 24, 2026
- zhanghandong/rust-skills
This is a copy of m11-ecosystem by actionbook - installs and ranking accrue to the original listing.
m11-ecosystem is a Rust agent skill that recommends crates and integration patterns for developers who need reliable dependency choices when extending Cargo workspaces.
About
m11-ecosystem is a Layer 2 design-choice skill in the zhanghandong/rust-skills collection for Rust ecosystem integration. It auto-injects the current `[dependencies]` block from Cargo.toml so the agent sees live project context before answering. The skill targets unresolved-import errors such as E0425, E0433, and E0603, feature-flag selection, workspace layout, and bindings for PyO3, WebAssembly, bindgen, cbindgen, and napi-rs. Developers reach for m11-ecosystem when Cargo.toml edits stall on which crate to pick, how to enable features, or how to bridge external C libraries and Python extensions. It is user-invocable false, so agents should load it when dependency or crate-selection keywords appear in Rust build threads.
- Decision table mapping 9 common needs (serialization, async, HTTP, database, CLI, error handling, logging) to the recomm
- Maintenance checklist covering recent commits, issue response, and breaking-change frequency
- Handles common Rust errors E0425, E0433, E0603 related to crate visibility and imports
- Guidance for Cargo.toml features, workspaces, PyO3 bindings, WebAssembly, and bindgen
- Integration Decision → Implementation workflow that produces a concrete dependency plan
M11 Ecosystem by the numbers
- 760 all-time installs (skills.sh)
- +7 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/zhanghandong/rust-skills --skill m11-ecosystemAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 760 |
|---|---|
| repo stars | ★ 1.3k |
| Security audit | 3 / 3 scanners passed |
| Last updated | May 24, 2026 |
| Repository | zhanghandong/rust-skills ↗ |
Which Rust crate should I add to Cargo.toml?
Get reliable crate recommendations and integration patterns when adding dependencies.
Who is it for?
Rust developers integrating new dependencies, Python extensions, or WebAssembly bindings who want opinionated crate picks tied to their current Cargo.toml.
Skip if: Developers who only need generic Rust syntax help without dependency decisions or Cargo workspace changes.
When should I use this skill?
A Rust task mentions crate selection, Cargo.toml features, E0425/E0433/E0603, PyO3, wasm, bindgen, or workspace dependencies.
What you get
Crate recommendations, Cargo.toml feature-flag patterns, workspace wiring notes, and FFI or binding integration steps.
- Crate recommendation
- Cargo.toml feature configuration
- Binding integration pattern
By the numbers
- Targets three Rust compiler errors: E0425, E0433, and E0603
- Auto-injects up to 30 lines from the Cargo.toml dependencies section
Files
Current Dependencies (Auto-Injected)
!grep -A 100 '^\[dependencies\]' Cargo.toml 2>/dev/null | head -30 || echo "No Cargo.toml found"
---
Ecosystem Integration
Layer 2: Design Choices
Core Question
What's the right crate for this job, and how should it integrate?
Before adding dependencies:
- Is there a standard solution?
- What's the maintenance status?
- What's the API stability?
---
Integration Decision → Implementation
| Need | Choice | Crates |
|---|---|---|
| Serialization | Derive-based | serde, serde_json |
| Async runtime | tokio or async-std | tokio (most popular) |
| HTTP client | Ergonomic | reqwest |
| HTTP server | Modern | axum, actix-web |
| Database | SQL or ORM | sqlx, diesel |
| CLI parsing | Derive-based | clap |
| Error handling | App vs lib | anyhow, thiserror |
| Logging | Facade | tracing, log |
---
Thinking Prompt
Before adding a dependency:
1. Is it well-maintained?
- Recent commits?
- Active issue response?
- Breaking changes frequency?
2. What's the scope?
- Do you need the full crate or just a feature?
- Can feature flags reduce bloat?
3. How does it integrate?
- Trait-based or concrete types?
- Sync or async?
- What bounds does it require?
---
Trace Up ↑
To domain constraints (Layer 3):
"Which HTTP framework should I use?"
↑ Ask: What are the performance requirements?
↑ Check: domain-web (latency, throughput needs)
↑ Check: Team expertise (familiarity with framework)| Question | Trace To | Ask |
|---|---|---|
| Framework choice | domain-* | What constraints matter? |
| Library vs build | domain-* | What's the deployment model? |
| API design | domain-* | Who are the consumers? |
---
Trace Down ↓
To implementation (Layer 1):
"Integrate external crate"
↓ m04-zero-cost: Trait bounds and generics
↓ m06-error-handling: Error type compatibility
"FFI integration"
↓ unsafe-checker: Safety requirements
↓ m12-lifecycle: Resource cleanup---
Quick Reference
Language Interop
| Integration | Crate/Tool | Use Case |
|---|---|---|
| C/C++ → Rust | bindgen | Auto-generate bindings |
| Rust → C | cbindgen | Export C headers |
| Python ↔ Rust | pyo3 | Python extensions |
| Node.js ↔ Rust | napi-rs | Node addons |
| WebAssembly | wasm-bindgen | Browser/WASI |
Cargo Features
| Feature | Purpose |
|---|---|
[features] | Optional functionality |
default = [...] | Default features |
feature = "serde" | Conditional deps |
[workspace] | Multi-crate projects |
Error Code Reference
| Error | Cause | Fix |
|---|---|---|
| E0433 | Can't find crate | Add to Cargo.toml |
| E0603 | Private item | Check crate docs |
| Feature not enabled | Optional feature | Enable in features |
| Version conflict | Incompatible deps | cargo update or pin |
| Duplicate types | Different crate versions | Unify in workspace |
---
Crate Selection Criteria
| Criterion | Good Sign | Warning Sign |
|---|---|---|
| Maintenance | Recent commits | Years inactive |
| Community | Active issues/PRs | No response |
| Documentation | Examples, API docs | Minimal docs |
| Stability | Semantic versioning | Frequent breaking |
| Dependencies | Minimal, well-known | Heavy, obscure |
---
Anti-Patterns
| Anti-Pattern | Why Bad | Better |
|---|---|---|
extern crate | Outdated (2018+) | Just use |
#[macro_use] | Global pollution | Explicit import |
Wildcard deps * | Unpredictable | Specific versions |
| Too many deps | Supply chain risk | Evaluate necessity |
| Vendoring everything | Maintenance burden | Trust crates.io |
---
Related Skills
| When | See |
|---|---|
| Error type design | m06-error-handling |
| Trait integration | m04-zero-cost |
| FFI safety | unsafe-checker |
| Resource management | m12-lifecycle |
Related skills
How it compares
Choose m11-ecosystem over general Rust style skills when the blocker is crate choice, Cargo features, or FFI binding setup rather than formatting or API design.
FAQ
When should m11-ecosystem load during Rust development?
m11-ecosystem should load when integrating crates, editing Cargo.toml features, or debugging unresolved imports such as E0425 and E0433. The skill reads the project's current dependency block first.
Does m11-ecosystem cover Python and WebAssembly Rust bindings?
m11-ecosystem covers PyO3, wasm, bindgen, cbindgen, and napi-rs integration patterns alongside standard Cargo workspace and feature-flag guidance for Rust projects.
Is M11 Ecosystem safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.