jpskill.com
📦 その他 コミュニティ

polyglot-integration

Integrate multiple programming languages using FFI, native bindings, gRPC, or language bridges. Use when combining strengths of different languages or integrating legacy systems.

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

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

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

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

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して polyglot-integration.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → polyglot-integration フォルダができる
  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
同梱ファイル
7

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ポリグロット統合

目次

概要

異なるプログラミング言語で書かれたコードを統合し、それぞれの言語が持つ独自の強みとエコシステムを活用します。

使用場面

  • C/C++/Rust でのパフォーマンスが重要なコード
  • 他の言語からの Python での ML モデル
  • レガシーシステム統合
  • 言語固有のライブラリの活用
  • マイクロサービスのポリグロットアーキテクチャ

クイックスタート

最小限の動作例です。

// addon.cc
#include <node.h>

namespace demo {

using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;
using v8::Number;

void Add(const FunctionCallbackInfo<Value>& args) {
  Isolate* isolate = args.GetIsolate();

  if (args.Length() < 2) {
    isolate->ThrowException(v8::Exception::TypeError(
        String::NewFromUtf8(isolate, "Wrong number of arguments")));
    return;
  }

  if (!args[0]->IsNumber() || !args[1]->IsNumber()) {
    isolate->ThrowException(v8::Exception::TypeError(
        String::NewFromUtf8(isolate, "Arguments must be numbers")));
// ... (完全な実装はリファレンスガイドを参照してください)

リファレンスガイド

references/ ディレクトリにある詳細な実装です。

ガイド 内容
Node.js Native Addons (C++) Node.js Native Addons (C++)
Python from Node.js Node.js からの Python
Rust from Python (PyO3) Python からの Rust (PyO3)
gRPC Polyglot Communication gRPC ポリグロット通信
Java from Python (Py4J) Python からの Java (Py4J)

ベストプラクティス

✅ 実施すべきこと

  • 適切な IPC メカニズムを使用する
  • シリアライゼーションを慎重に処理する
  • 適切なエラーハンドリングを実装する
  • パフォーマンスオーバーヘッドを考慮する
  • 型安全なインターフェースを使用する
  • 統合ポイントを文書化する

❌ 実施すべきでないこと

  • 複雑なオブジェクトを境界を越えて渡す
  • メモリ管理を無視する
  • エラーハンドリングを省略する
  • 非同期コードでブロッキング呼び出しを使用する
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Polyglot Integration

Table of Contents

Overview

Integrate code written in different programming languages to leverage their unique strengths and ecosystems.

When to Use

  • Performance-critical code in C/C++/Rust
  • ML models in Python from other languages
  • Legacy system integration
  • Leveraging language-specific libraries
  • Microservices polyglot architecture

Quick Start

Minimal working example:

// addon.cc
#include <node.h>

namespace demo {

using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;
using v8::Number;

void Add(const FunctionCallbackInfo<Value>& args) {
  Isolate* isolate = args.GetIsolate();

  if (args.Length() < 2) {
    isolate->ThrowException(v8::Exception::TypeError(
        String::NewFromUtf8(isolate, "Wrong number of arguments")));
    return;
  }

  if (!args[0]->IsNumber() || !args[1]->IsNumber()) {
    isolate->ThrowException(v8::Exception::TypeError(
        String::NewFromUtf8(isolate, "Arguments must be numbers")));
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

Guide Contents
Node.js Native Addons (C++) Node.js Native Addons (C++)
Python from Node.js Python from Node.js
Rust from Python (PyO3) Rust from Python (PyO3)
gRPC Polyglot Communication gRPC Polyglot Communication
Java from Python (Py4J) Java from Python (Py4J)

Best Practices

✅ DO

  • Use appropriate IPC mechanism
  • Handle serialization carefully
  • Implement proper error handling
  • Consider performance overhead
  • Use type-safe interfaces
  • Document integration points

❌ DON'T

  • Pass complex objects across boundaries
  • Ignore memory management
  • Skip error handling
  • Use blocking calls in async code

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。