Skip to content
Back to skills

Rust Development Workflow

ASecurity

Run the ordinary Rust edit, compile, lint, and test loop; diagnose ownership and lifetime errors with intent and surrounding code; choose basic error and async test patterns. Use for day-to-day Rust changes in any crate. For library API invariants use advanced-rust-patterns; for structure selection use rust-data-structures-advanced; for measured optimization use rust-performance-and-idioms; for runtime failures use rust-debugging-mastery; for a pd-console pane or GPUI executor boundary use gp...

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 2, 2026
toolstypescriptrustgodebuggingapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 2, 2026

npx -y skills add curiositech/port-daddy --skill rust-development-workflow --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rust Development Workflow?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rust Development Workflow
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/curiositech-rust-development-workflow/badge)](https://www.skillsdirectory.com/skills/curiositech-rust-development-workflow)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rust-development-workflow
description: >-
  Run the ordinary Rust edit, compile, lint, and test loop; diagnose ownership and
  lifetime errors with intent and surrounding code; choose basic error and async
  test patterns. Use for day-to-day Rust changes in any crate. For library API
  invariants use advanced-rust-patterns; for structure selection use
  rust-data-structures-advanced; for measured optimization use
  rust-performance-and-idioms; for runtime failures use rust-debugging-mastery;
  for a pd-console pane or GPUI executor boundary use gpui-rust-console. NOT for runtime failure diagnosis, measured optimization, FFI design, or GPUI rendering.
license: Apache-2.0
metadata:
  category: Rust
  provenance:
    kind: first-party
    owners: [port-daddy]
  pairs-with: [advanced-rust-patterns, rust-data-structures-advanced, rust-debugging-mastery, gpui-rust-console]
  io-contract:
    kind: deliverable
    produces:
      - kind: design-doc
        description: Rust workflow and verification plan for a bounded change
      - kind: critique
        description: Rust code review for ownership, errors, and testability
---

# Rust Development Workflow

Use this for a bounded Rust code change or a compiler error. Work from the crate's
real `Cargo.toml`; do not assume `core/pd-console` or a particular AI assistant.

## Working loop

1. Identify the package, features, target, and currently passing gate. Preserve
   the full compiler diagnostic and 10–15 lines around the relevant code.
2. State the intended data flow: which value is read, owned, moved, mutated,
   returned, or awaited. Fix the ownership model before adding clones or locks.
3. Run `cargo check` for the affected package and target. Then `cargo fmt --check`,
   targeted tests, and `cargo clippy` with the project's feature/target settings.
4. Report exact commands and results. A passing check does not prove runtime
   behavior, and a source-present feature does not prove it is installed.

Use the repository's current commands and CI configuration when they differ.
Never start the halted local Port Daddy runtime as a Rust verification step.

## Compiler and ownership decisions

| Symptom | First move | Route if deeper |
|---|---|---|
| Read a field, then mutate its owner | Shorten the borrow; copy a small value or clone only the field when ownership really must cross the mutation | `advanced-rust-patterns` for API redesign |
| Mutate a collection during iteration | Separate discovery from mutation; apply removals in reverse index order or use `retain` | `rust-data-structures-advanced` if the container itself is wrong |
| Borrow across `.await` | Extract owned inputs before the await; keep lock and borrow guards short | `rust-debugging-mastery` for a stall |
| Error lacks context | Use `?` plus context at application boundaries; preserve matchable errors at library boundaries | `advanced-rust-patterns` for public error architecture |
| Fix involves repeated `clone()` or `Arc<Mutex<_>>` | Inspect ownership and access pattern before accepting the workaround | `rust-data-structures-advanced` or `rust-performance-and-idioms` |

For a concrete compiler error, include the full diagnostic, relevant code, and
one sentence of intent. A single copied error line often hides the borrow's
origin or trait-bound chain.

## Tests and review

- Test the behavior affected by the change, including an empty and an error
  state when those states exist. Use `#[tokio::test]` for Tokio async tests.
- Prefer `?` or an explicit branch to `unwrap()` on recoverable production paths.
- Run the actual feature-gated target. `cargo test` with default features can
  miss the binary or platform feature that changed.
- Distinguish correctness evidence from performance evidence. Profile and
  benchmark before claiming a speedup.

## Routing boundaries

- Public traits, typestate, `dyn` versus generics, interior mutability and
  error type design: `advanced-rust-patterns`.
- Arenas, stable graph IDs, inline vectors, concurrent maps and persistent
  data: `rust-data-structures-advanced`.
- Profiling, allocations, SIMD, async latency, code size: `rust-performance-and-idioms`.
- Panics, hangs, UB, FFI load failures and heisenbugs: `rust-debugging-mastery`.
- Building the C ABI and TypeScript/Bun loader: `rust-kernel-ffi`.
- `core/pd-console` pane contracts, its Tokio producer and GPUI consumer,
  layout, focus, or its exact CI gate: `gpui-rust-console`.

## Preserved source

The previous Rust pairing guidance is retained verbatim in
`references/legacy-rust-with-claude-code.md`. Its assistant-specific wording,
fixed test counts, and console examples are historical source, not universal
Rust defaults. Use `gpui-rust-console` for the active console contract.

Files in this skill

  • SKILL.md4.7 KB
  • references/legacy-rust-with-claude-code.md7.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…