Individual skill
rust-port
Port code from C, C++, Python, Go, JavaScript, or TypeScript into idiomatic Rust that keeps the original behavior: ownership instead of manual memory, Result instead of error codes and exceptions, enums instead of flag ints and magic strings, and tests that prove the port matches. Use this whenever the user asks to port, translate, convert, migrate, or rewrite code in Rust ("rewrite this in Rust", "what would this look like in Rust", "move this module to Rust"), even if they don't say "port". Pairs with the rust-best-practices skill, which covers the target code's style.
skills/rust-port/SKILL.md
Source commit edd3e86087eda07983251056508fe3b8856d85d7
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,766
- Repository last updated
- Nov 2, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- claude-code Repository topic
- claude-plugin Repository topic
- claude-skills Repository topic
- coding-agent Repository topic
- rust Repository topic
- style-guide Repository topic
- agent-skills Repository topic
- clippy Repository topic
- code-review Repository topic
- cursor Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 8,293 bytesSKILL.mdcore · 8,293 bytesSKILL.mdcore · 8,293 bytesevals/port-c-config-parser/case.yamlasset · 663 bytesevals/port-c-config-parser/files/config.casset · 5,270 bytesevals/port-c-config-parser/files/config.hasset · 1,381 bytesevals/port-c-config-parser/files/test_config.casset · 3,000 bytesevals/port-c-config-parser/graders/01-builds-and-tests-pass.mddoc · 114 bytesevals/port-c-config-parser/graders/02-clippy-clean.mddoc · 89 bytesevals/port-c-config-parser/graders/03-no-unsafe.mddoc · 96 bytesevals/port-c-config-parser/graders/04-every-test-ported.mddoc · 289 bytesevals/port-c-config-parser/graders/05-errors-as-result.mddoc · 209 bytesevals/port-c-config-parser/graders/06-error-implements-error.mddoc · 108 bytesevals/port-c-config-parser/graders/07-option-for-absent.mddoc · 185 bytesevals/port-c-config-parser/graders/08-typed-flags.mddoc · 144 bytesevals/port-c-config-parser/graders/09-behavior-preserved.mddoc · 320 bytesevals/port-c-config-parser/graders/10-porting-notes.mddoc · 183 bytesevals/port-c-config-parser/graders/11-proportionate.mddoc · 467 bytesevals/port-c-config-parser/place-files.shruns · 62 bytesevals/port-c-config-parser/prompt.mddoc · 459 bytesevals/port-python-task-graph/case.yamlasset · 628 bytesevals/port-python-task-graph/files/taskgraph.pyruns · 4,226 bytesevals/port-python-task-graph/files/test_taskgraph.pyruns · 2,733 bytesevals/port-python-task-graph/graders/01-builds-and-tests-pass.mddoc · 114 bytesevals/port-python-task-graph/graders/02-clippy-clean.mddoc · 89 bytesevals/port-python-task-graph/graders/03-every-test-ported.mddoc · 206 bytesevals/port-python-task-graph/graders/04-exceptions-as-error-enum.mddoc · 252 bytesevals/port-python-task-graph/graders/05-kind-is-enum.mddoc · 134 bytesevals/port-python-task-graph/graders/06-priority-is-option.mddoc · 105 bytesevals/port-python-task-graph/graders/07-definition-order-preserved.mddoc · 204 bytesevals/port-python-task-graph/graders/08-order-and-cycle-match.mddoc · 187 bytesevals/port-python-task-graph/graders/09-summary-every-kind-in-order.mddoc · 146 bytesevals/port-python-task-graph/graders/10-porting-notes.mddoc · 198 bytesevals/port-python-task-graph/graders/11-proportionate.mddoc · 473 bytesevals/port-python-task-graph/place-files.shruns · 62 bytesevals/port-python-task-graph/prompt.mddoc · 435 bytes
Read excerpt
# Rust port
The goal is the Rust a Rust developer would have written to solve the same problem, with
the same observable behavior. A line-by-line transliteration (C written in Rust syntax,
or Python with `Box<dyn Any>`) compiles but keeps every problem the original had and adds
the borrow checker on top. Port the behavior, not the structure.
## 1. Understand the original before writing anything
1. **Read the code and its tests**, and anything that calls it, if you have it.
2. **List the observable behavior**: every public function, its inputs, its outputs, and
every way it can fail. Include the quiet parts, which are where ports go wrong:
ordering of results, how ties break, what happens on empty input, whitespace and case
handling, integer limits, and what counts as an error versus a valid edge case.