jpskill.com
🛠️ 開発・MCP コミュニティ

coding-systems

Systems meta-skill: Rust + Nim + Go + C for low-level, memory safety, FFI, performance-critical code

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o coding-systems.zip https://jpskill.com/download/22093.zip && unzip -o coding-systems.zip && rm coding-systems.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/22093.zip -OutFile "$d\coding-systems.zip"; Expand-Archive "$d\coding-systems.zip" -DestinationPath $d -Force; ri "$d\coding-systems.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して coding-systems.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → coding-systems フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1
📖 Claude が読む原文 SKILL.md(中身を展開)

この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。

coding-systems

Purpose

This skill equips the AI to handle systems programming using Rust, Nim, Go, and C, focusing on low-level operations, memory safety, FFI (Foreign Function Interface), and performance-critical code. It combines these languages for tasks like OS development, embedded systems, and high-throughput applications.

When to Use

Use this skill for scenarios requiring direct hardware access, memory management, or inter-language calls, such as writing kernel modules, optimizing network servers, or integrating C libraries into modern languages. Avoid for high-level web apps; prefer when performance bottlenecks demand low-level control.

Key Capabilities

  • Rust: Enforces memory safety via ownership and borrowing; supports FFI with C using extern "C" blocks.
  • Nim: Offers metaprogramming and FFI via importc pragma; compiles to C for performance.
  • Go: Provides concurrency with goroutines and channels; uses cgo for FFI to C libraries.
  • C: Enables raw memory manipulation and OS interactions; use for performance-critical kernels.
  • Specific features: Rust's unsafe blocks for pointer arithmetic; Go's sync package for thread-safe operations; Nim's templates for code generation; C's mmap for direct memory mapping.

Usage Patterns

To accomplish tasks, structure code with language-specific patterns: Use Rust for safe wrappers around C code; employ Go for scalable concurrent systems; leverage Nim for rapid prototyping of C-like code; fall back to C for hardware-level optimizations. For FFI, always define interfaces first (e.g., in C headers), then bind in target languages. Pattern: Import C headers in Rust via #[link(name = "libc")]; in Go, use // #cgo LDFLAGS: -lmylib for linking.

Common Commands/API

  • Rust: Build with cargo build --release for optimized binaries; use std::ffi::c_void for FFI pointers. API example: extern "C" fn add(a: i32, b: i32) -> i32 { a + b }
  • Nim: Compile with nim c --cc:gcc -d:release myfile.nim; FFI via proc add(a: cint, b: cint): cint {.importc: "add", header: "myheader.h".}
  • Nim code snippet:
    proc add(a: cint, b: cint): cint {.importc.}
    echo add(1, 2)  # Calls external C function
  • Go: Run go build -o myapp with cgo; API: import "C" for FFI. Example: C.add(C.int(1), C.int(2))
  • Go code snippet:
    import "C"
    func main() { println(int(C.add(1, 2))) }
  • C: Compile with gcc -O3 -o myprog myfile.c for optimizations; use #include <sys/mman.h> for OS APIs.
  • Config formats: Use Cargo.toml for Rust dependencies (e.g., [dependencies] libc = "0.2"); Go's go.mod for modules; Nim's .nimble for packages.

Integration Notes

Integrate by linking languages via FFI: For Rust-C, set build.rs to generate bindings with bindgen; in Go, use cgo directives like // #include "myheader.h". If API keys are needed (e.g., for external tools), set env vars like $RUST_ANALYZER_API_KEY. For cross-language projects, use CMake for unified builds: Add add_subdirectory(rust_project) in CMakeLists.txt. Always handle ABI compatibility; e.g., ensure C functions use __attribute__((visibility("default"))) for export.

Error Handling

In Rust, use Result<T, E> for fallible operations; check with match or ?. For Nim, use exceptions with try/except; e.g., try: raise newException(ValueError, "Error") except: echo "Handled". Go errors return as second values; check with if err != nil { return err }. C uses errno; wrap with custom error codes. General pattern: Propagate errors up the call stack and log with details, e.g., in Rust: fn safe_add(a: i32) -> Result<i32, String> { if a < 0 { Err("Negative input".to_string()) } else { Ok(a + 1) } }.

Concrete Usage Examples

  1. FFI Wrapper for C Library in Rust: To call a C function for memory allocation, first define the interface: Use extern "C" { fn malloc(size: usize) -> *mut u8; }. Then, in code: let ptr = unsafe { malloc(1024) }; if ptr.is_null() { panic!("Allocation failed"); }. This pattern ensures safe memory handling in performance-critical apps.
  2. Concurrent Performance Task in Go: For a high-throughput server, use goroutines: go func() { for i := 0; i < 100; i++ { fmt.Println(i) } }(); runtime.Gosched(). Integrate with C via cgo for low-level I/O, e.g., to read from a file descriptor, ensuring non-blocking operations for real-time systems.

Graph Relationships

  • Cluster: Related to "coding" cluster for general programming skills.
  • Tags: Connected via "systems", "low-level", "performance", "coding" to other skills like "ffi-handling" or "memory-management".
  • Embedding: Links to skills with similar vectors, such as "os-programming" based on "systems programming low level memory performance ffi os c rust nim go".