rust-workspace-dependencies
Skill4 starsChanged 2 months agoApache-2.0View on GitHub
Change or investigate Cargo workspaces, feature graphs, dependencies, MSRV, no_std, and crate boundaries. Use for build graph or compatibility work, not automatic mass updates.
In this repository81 other files it gives its agents.
- agent-cli-designSkill
- agent-tool-boundariesSkill
- behavior-first-implementationSkill
- bounded-prototypeSkill
- bounded-pr-sliceSkill
- building-fdd-validationSkill
- context-efficiencySkill
- cross-language-contractsSkill
- cross-platform-agent-instructionsSkill
- design-interviewSkill
- diagnosis-loopSkill
- domain-languageSkill
- edge-cloud-syncSkill
- handoff-continuitySkill
- immutable-pr-reviewSkill
- memory-context-hygieneSkill
- module-designSkill
- orchestrateSkill
- owner-decision-gateSkill
- parallel-portfolioSkill
- pr-gate-loopSkill
- pyo3-async-lifecycleSkill
- pyo3-buffer-performanceSkill
- pyo3-free-threadingSkill
- pyo3-ownership-errorsSkill
- pyo3-wheel-releaseSkill
- python-api-typingSkill
- python-async-concurrencySkill
- python-ci-releaseSkill
- python-data-boundariesSkill
- python-packaging-environmentsSkill
- python-performanceSkill
- python-pytestSkill
- python-reviewSkill
- python-test-designSkill
- python-threading-workersSkill
- python-workflowSkill
- react-components-stateSkill
- react-performanceSkill
- repository-groundingSkill
- rust-api-designSkill
- rust-async-concurrencySkill
- rust-build-diagnosticsSkill
- rust-ci-releaseSkill
- rust-memory-layoutSkill
- rust-nextestSkill
- rust-numerics-simdSkill
- rust-performanceSkill
- rust-protocol-codecsSkill
- rust-python-bindingsSkill
- rust-reviewSkill
- rust-storage-durabilitySkill
- rust-test-designSkill
- rust-unsafe-ffiSkill
- rust-workflowSkill
- shadcn-react-componentsSkill
- shadcn-svelte-componentsSkill
- simplify-existing-codeSkill
- source-verificationSkill
- svelte-components-runesSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Read the manifests and toolchain configuration instead of inferring them from Rust edition or repository age.
- Very specific: line 15
Use Cargo metadata and cargo tree to understand the relevant graph.
- Very specific: line 21
Use additive feature design where possible.
- Very specific: line 31
Update manifests and lockfiles together when required.
- Distinctive: line 39
Read feature recipes when planning validation.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Rust Workspace and Dependencies
Read the manifests and toolchain configuration instead of inferring them from Rust edition or repository age. The goal is a coherent supported build graph, not the largest dependency version bump.
Inventory actual support
Identify members, default-members, excludes, resolver, inherited dependencies/lints, rust-version, build scripts, target-specific dependencies, and optional features. Inspect the lockfile policy and native platforms. A pinned stable compiler, edition, resolver, and advertised MSRV are separate choices.
Use Cargo metadata and cargo tree to understand the relevant graph. cargo tree -e features -i <dependency> can explain who enables a feature; inspect the actual graph rather than assuming default-features = false at one declaration disables defaults everywhere. Separate normal, build, and development dependencies when evaluating footprint or feature leakage.
Keep boundaries intentional
Preserve foundational no_std and no_alloc constraints. A host test build can use a std-based harness while hiding production dependency leakage. Check the foundation's normal dependency graph and supported feature configurations separately. A native no-default check is useful evidence, not proof of every embedded target.
Use additive feature design where possible. Avoid mutually incompatible features in a reusable crate unless the product requires that design and validation covers it. --all-features can be invalid or hide a missing gate; it does not prove default, minimal, or each-feature behavior.
Maintain dependency direction and public facade intent. Do not make lower-level data types depend on a runtime, binding, query language, or application layer for convenience. Avoid leaking implementation dependencies into a public API unless that is a deliberate supported contract.
Evaluate a dependency change
Compare an existing solution, a small local implementation, and a maintained dependency. Consider runtime cost, code/build size, maintenance, licensing, unsafe/FFI footprint, security updates, and platform support. Prefer fewer justified dependencies, not hand-rolled cryptography, TLS, async runtimes, or complex serialization to chase a dependency count.
Consult official release notes, advisories, and version-matched APIs for an update. Check MSRV, default feature changes, native library requirements, and transitive impacts. Keep updates scoped to the task. Preserve the repository's rustls/license policy and do not silence audit findings with unexplained ignores.
Update manifests and lockfiles together when required. Use --locked for verification after an intentional resolution change; do not use it to pretend a needed lockfile update is impossible. Do not delete the lockfile or use --ignore-rust-version as the default fix.
Validate useful combinations
Start with affected default and minimal configurations, then the changed feature and supported aggregate configurations. Include consumers and excluded binding crates when impacted. Use an existing feature-matrix tool such as cargo-hack for a targeted gap; do not run the full powerset on every small PR. Test the declared MSRV deliberately when compatibility is part of the change, without assuming a newer compiler proves it.
Return the graph change, dependency rationale, supported combinations actually checked, lockfile/compatibility impact, and deferred broader checks. Do not silently raise MSRV or change resolver as cleanup.
Read feature recipes when planning validation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

