Rust 포팅 도우미
C/C++·Python·Go·JS/TS 코드를 동작은 그대로 유지하면서 관용적인 Rust로 옮기도록 안내하는 스킬입니다.
개발·코딩중급★ 1,618⑂ 82AI 점수 9/10마지막 업데이트: 2026. 10. 30.
무엇을 해주나
- 원본 코드의 관찰 가능한 동작(입출력, 실패 경로, 정렬 순서, 빈 입력 처리, 정수 한계 등)을 먼저 목록화하게 합니다.
- 테스트를 먼저 포팅해 "같은 동작"의 기준을 코드로 고정합니다.
- 언어별 변환 매핑 표를 제공합니다:
NULL→Option, 에러 코드/예외→Result+ 에러 enum, 플래그 비트마스크→옵션 구조체, 매직 문자열→enum, Go(value, error)→Result, 고루틴→스레드/mpsc등. - 포팅이 과해지지 않도록 가드레일을 둡니다: 원본 언어의 런타임을 재구현하지 말 것, 공개 API를 불리지 말 것, 코드 분량 기준(C/C++는 비슷, Python/JS는 2~3배) 점검.
cargo build / test / clippy -D warnings로 검증하고, API·테스트 매핑과 의도적 차이를 적은PORTING.md를 작성합니다.
이런 분께 추천
- 기존 C/C++ 모듈이나 Python 스크립트를 Rust로 이관하려는 개발자
- Rust를 배우는 중이라 "이 코드는 Rust로 어떻게 쓰나"가 궁금한 분
- 포팅 결과를 리뷰해야 하는 팀 리드(리뷰용 PORTING.md가 자동 생성됨)
활용 예시
- "이 C 파서를 Rust로 다시 써줘" → 에러 코드와 out-parameter가
Result<T, ParseError>로, 고정 버퍼가String/Vec으로 정리됩니다. - "이 Python 유틸 모듈을 Rust로 옮겨줘" → 예외 계층이 하나의 에러 enum으로,
dict삽입 순서 의존 부분이Vec/순서 보장 맵으로 바뀌고 대응 테스트가 함께 생성됩니다. - "이 Go 워커를 Rust로 바꾸면 어떤 모양일까?" → 인터페이스는 트레이트로, 채널은
std::sync::mpsc로 매핑하고 차이점을PORTING.md에 기록합니다.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/morganlinton/BeautifulRust/HEAD/skills/rust-port/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
AI 스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 morganlinton/BeautifulRust 의 skills/rust-port 폴더를 내 ~/.claude/skills/rust-port/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/morganlinton/BeautifulRust.git /tmp/BeautifulRust && mkdir -p ~/.claude/skills && cp -r /tmp/BeautifulRust/skills/rust-port ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 저장소를 받습니다:
git clone https://github.com/morganlinton/BeautifulRust.git - 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다:
cp -r BeautifulRust/skills/rust-port ~/.claude/skills/ - (권장) 같은 저장소의
rust-best-practices스킬도 함께 복사하면 코드 스타일까지 맞춰집니다. - Rust 툴체인이 없다면 https://rustup.rs 에서 설치합니다(검증 단계에
cargo가 필요). - Claude Code를 다시 시작한 뒤 "이 파일을 Rust로 포팅해줘"라고 요청하면 스킬이 자동으로 발동합니다.
GitHub에서 원본 보기 ↗라이선스: MIT