**Show HN:** 「Skrun — どんなエージェントスキルもAPIとしてデプロイ」

2026/04/08 21:34

**Show HN:** 「Skrun — どんなエージェントスキルもAPIとしてデプロイ」

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Summary

@skrun-dev/cli
ツールは、任意の Agent Skill(
SKILL.md
)を POST
/run
を介して呼び出し可能な API に変換します。これにより、マルチモデルで状態を保持するエージェントを構築・テスト・デプロイが簡単な CLI コマンドだけで行えます。
Quick start:

npm install -g @skrun-dev/cli
skrun init --from-skill ./my-skill   # または `skrun init my-agent`
skrun dev          # http://localhost:3000 でローカルサーバーを起動
skrun test         # テストの検証
skrun deploy       # エージェントのビルド、プッシュ、および公開

エージェントを呼び出す curl の例:

curl -X POST http://localhost:4000/api/agents/dev/my-skill/run \
     -H "Content-Type: application/json" -d '{"input":"..."}'

Configuration (

agent.yaml
) では、モデル(Anthropic, OpenAI, Google Gemini Flash, Mistral, Groq with automatic fallback)、入力/出力、権限、状態、およびテストを指定します。
State & tools: エージェントは実行間でキー‑バリュー形式の状態を保持し、ローカル CLI スクリプトや MCP サーバー(例:
@playwright/mcp
)を呼び出すことができます。
Demo agents では、フレームワークを示す
code-review
,
pdf-processing
,
seo-audit
,
data-analyst
,
email-drafter
,
web-scraper
が紹介されています。
Registry & future steps:
.env
(例:
GOOGLE_API_KEY
)を設定し、
pnpm dev:registry
を実行してレジストリを起動します。その後
skrun login --token <token>
でログインし、エージェントをプッシュしてから
/api/agents/dev/<agent>/run
に POST することで呼び出します。
CLI commands には
init
,
init --from-skill
,
dev
,
test
,
build
,
deploy
,
push/pull
,
login/logout
,
logs <agent>
が含まれます。
このプロジェクトは MIT ライセンスの下でオープンソースとして GitHub(
https://github.com/skrun-dev/skrun
)にホストされており、
agent.yaml
の仕様、CLI の使用方法、および貢献ガイドラインを網羅したドキュメントが用意されています。

本文

任意の Agent Skill(SKILL.md)を POST /​run で呼び出せる API に変換 – マルチモデル、ステートフル、オープンソース


クイックスタート

npm install -g @skrun-dev/cli
# 既存のスキルをインポート → デプロイ → 呼び出し
skrun init --from-skill ./my-skill
skrun deploy

curl -X POST localhost:4000/api/agents/dev/my-skill/run \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"input": {"query": "analyze this"}}'

はじめに

新しいエージェントを作成する

skrun init my-agent
cd my-agent
# SKILL.md(指示書)と agent.yaml(設定)が生成されます

既存のスキルをインポート

skrun init --from-skill ./path-to-skill
# SKILL.md を読み込み、2〜3つの質問を投げて agent.yaml を自動生成します

ローカルで開発・テスト

skrun dev
# ✓ Server running at http://localhost:3000
# POST /run ready — watching for changes...

skrun test
# ✓ basic-test (output.score >= 0)
# 1 passed, 0 failed

デプロイ

skrun deploy
# ✓ Validated → Built → Pushed
# 🚀 POST http://localhost:4000/api/agents/you/my-agent/run

v0.1 はローカルランタイムを備えており、クラウドデプロイはロードマップに含まれます—アーキテクチャは既に準備完了(RuntimeAdapter インターフェース)。


主要概念

  • Agent Skills – SKILL.md 標準。Claude Code, Copilot, Codex と互換性があります
  • agent.yaml – ランタイム設定:モデル、入力/出力、権限、状態、テスト
  • POST /run – すべてのエージェントが API です。型付き入力、構造化された出力
  • マルチモデル – Anthropic, OpenAI, Google, Mistral, Groq を自動フォールバックで利用可能
  • ステートフル – キー・バリュー状態を通じて実行間で覚えておくことができます
  • ツール呼び出し – 2つのアプローチがあります:
    • CLI ツール(scripts/)— 自分で作成、エージェントに同梱
    • MCP サーバー(npx)— 標準エコシステム、Claude Desktop と同じ

デモエージェント

すべての例はデフォルトで Google Gemini Flash を使用します。

agent.yaml
model
セクションを変更することで、任意のサポートプロバイダーに切り替えられます。

エージェント機能
code-reviewスキルをインポートし、コード品質 API を提供
pdf-processingローカルスクリプトでツール呼び出し
seo-auditステートフル – 2 回実行すると記憶して比較
data-analyst型付き I/O — CSV 入力、構造化された洞察を出力
email-drafterビジネスユースケース – 非開発者 API コンシューマ向け
web-scraperMCP サーバー — @playwright/mcp を使ったヘッドレスブラウザ

例の試し方

  1. レジストリを起動

    cp .env.example .env          # GOOGLE_API_KEY を追加
    pnpm dev:registry              # このターミナルは開いたままにしてください
    
  2. 別ターミナルで

    skrun login --token dev-token
    cd examples/code-review
    skrun build && skrun push
    
  3. エージェントを呼び出す

    curl -X POST http://localhost:4000/api/agents/dev/code-review/run \
      -H "Authorization: Bearer dev-token" \
      -H "Content-Type: application/json" \
      -d '{"input": {"code": "function add(a,b) { return a + b; }"}}'
    

Windows (PowerShell):

curl.exe
を使用し、本文は
@input.json
で指定してください。


CLI リファレンス

コマンド説明
skrun init [dir]新しいエージェントを作成
skrun init --from-skill 既存のスキルをインポート
skrun devPOST /​run を備えたローカルサーバー
skrun testエージェントテストを実行
skrun build
.agent
バンドルを作成
skrun deployビルド → プッシュ → ライブ URL 取得
skrun push / pullレジストリへのアップロード/ダウンロード
skrun login / logout認証
skrun logs 実行ログを表示

完全な CLI リファレンス →


ドキュメント


コントリビューション

git clone https://github.com/skrun-dev/skrun.git
cd skrun
pnpm install && pnpm build && pnpm test

CONTRIBUTING.md
に規約とセットアップ手順が記載されています。


ライセンス

MIT

同じ日のほかのニュース

一覧に戻る →

2026/04/09 0:40

私、macOS XをNintendo Wiiにポート(移植)いたしました。

## Japanese Translation: --- ## 改良された要約 Mac OS X 10.0(Cheetah)は、Nintendo Wii 上でネイティブに動作するようにポートされ、コンソールをキーボード/マウス入力と GUI サポート付きの完全機能型デスクトップへ変貌させました。プロジェクトのコアは、*ppcskel* をベースに最初から書き直されたカスタムブートローダーです。このブートローダーは、Wii の PowerPC 750CL CPU を起動し、メモリレイアウトを設定し、最小限のデバイスツリー(root → cpus → PowerPC,750; memory)を作成します。SD カードから XNU カーネルをロードし、実行中にカーネルバイナリをパッチ(MEM1/MEM2 用の BAT 設定と USB Gecko へのコンソール出力)し、制御を XNU に渡します。 ブートローダーが提供する主要ドライバーは次の通りです: - **SD‑カードドライバー**:Starlet MINI IPC コマンド(IPC_SDMMC_SIZE, READ, WRITE)を介して IOBlockStorageDevice を実装し、XNU が SD カードからルートファイルシステムをマウントできるようにします。 - **フレームバッファドライバー**:0x01700000 に RGB フレームバッファ(640×480 @ 16 bpp)を提供し、Wii のアナログテレビ出力用に YUV へ変換して Mac OS X GUI を実現します。 - **USB サポート**:PCI デバイスのニブ(NintendoWiiHollywoodPCIDevice)を作成し、AppleUSBOHCI をパッチして受け入れさせ、OHCI ドライバーからバイトスワップ処理を除去することでリバースレトルエンディアンハードウェアに対応し、USB キーボード/マウス機能をフル実装します。 ブートローダーは Apple Partition Map を解析し、起動可能なパーティションを一覧表示し、/chosen/memory‑map ノード経由でカーネル拡張を直接メモリにロードできるようにするため、改変されていない Mac OS X インストーラーパーティションからのインストールも可能です。必要なカーネル変更は最小限(BAT 設定、“hollywood” I/O ベース取得、フレームバッファキャッシュ整合性修正)で済み、その他すべてのドライバーはブートローダーが提供します。 この成果は、歴史的にサポートされていなかったプラットフォーム――Nintendo Wii――でも Mac OS X Cheetah をエンドツーエンドで動作させることを示し、ホビイストに低コストのレトロコンソールとして機能するデスクトップコンピュータを提供します。

2026/04/09 4:23

**ソフトウェア開発者のためのUSB:ユーザースペース USB ドライバー作成入門**

## Japanese Translation: ``` USB デバイスの操作は、libusb を使用してユーザー空間だけで完全に処理できるため、カーネルレベルのドライバ開発は不要です。 例として、Fastboot モード(VID 18d1 / PID 4ee0)にある Android フォンを挙げます。接続すると `lsusb` は「Google Inc. Nexus/Pixel Device (fastboot)」と表示し、カーネルドライバは付いていません。また、ベンダー固有クラスインターフェースが 2 つのバルクエンドポイントを公開します:コマンド送信用 OUT 0x02 とレスポンス受信用 IN 0x81。 libusb のホットプラグコールバックはこのデバイスの到着を検出し、Fastboot コマンドを自動的に発行できます。典型的な手順は次のとおりです: 1. `libusb_control_transfer` を使用して GET_STATUS リクエストを送信します。2 バイトの応答はデバイスがセルフパワーであり、リモートウェイクアップをサポートしないことを示します。 2. GET_DESCRIPTOR リクエストを送信して完全なデバイスディスクリプタ(ベンダー/プロダクト ID、USB バージョン等)を取得します。 3. バルク OUT 0x02 を介して Fastboot コマンドを発行します(例:「getvar:version」を 64 バイトにパディング)。 デバイスは IN 0x81 で 4 文字のステータス(「OKAY」または「FAIL」)と任意のペイロードを返します。 同じユーザー空間アプローチは、バルク転送に依存する他の USB プロトコルにも適用できます。主な作業はカーネルコードを書く代わりにプロトコルロジックを実装することです。これにより OEM 向けドライバ開発が簡素化され、ブートローダーのテストが迅速化し、カーネルモジュールなしでカスタム USB デバイスの高速プロトタイピングやデバッグが可能になり、組込み開発者と広範な USB エコシステムに恩恵をもたらします。 ```

2026/04/08 17:53

**コードを読む前に実行しておくべき一般的な Git コマンド** - `git fetch --all` *リモートの全ブランチとタグを取得します。* - `git status` *現在のブランチと未コミットの変更点を確認します。* - `git checkout <branch>` *対象となる機能やバグ修正用ブランチに切り替えます。* - `git pull --rebase` *ローカルブランチを最新の upstream コミットで更新します。* - `git log --oneline --graph --decorate -5` *簡潔なコミット履歴を表示し、文脈を把握します。* - `git diff origin/<branch>..HEAD` *まだプッシュしていない変更点を確認します。* - `git rev-parse HEAD` *現在のコミットハッシュを取得(参照に便利)。* - `git tag --list` *利用可能なタグ一覧を表示し、バージョン管理に役立てます。* - `git show <commit>` *特定のコミットの詳細と差分を調べます。* これらのコマンドで、コードを掘り下げる前にリポジトリの状態を素早く把握できます。

## 日本語訳: 以下の文章を日本語に翻訳してください。 ### 修正版要約 この記事は、ソースファイルを検査する前にコードベースの簡易監査が隠れた健康リスクを明らかにできる方法を示しています。これは5つの簡潔な Git コマンドを実行することで達成されます。 1. `git log --format=format: --name-only --since="1 year ago" | sort | uniq -c | sort -nr | head -20` 過去 1 年間で最も変更頻度が高い上位 20 ファイルを一覧表示し、潜在的な「ドラッグ」スポット(高い変更率)をフラグ付けします。 2. `git shortlog -sn --no-merges` コミット数で貢献者をランク付けします。単一人物が 70 % 超を占める場合はバスファクターが低く、過去 6 ヶ月にその貢献者がいない場合は危機的状況を示唆します。 3. `git log -i -E --grep="fix|bug|broken" --name-only --format='' | sort | uniq -c | sort -nr | head -20` バグ関連コミットが最も多いファイルを特定し、変更率データと照合して最高リスクコードをピンポイントします。 4. `git log --format='%ad' --date=format:'%Y-%m' | sort | uniq -c` 月ごとのコミット数を表示し、活動の加速または減退(例:半月間のドロップ)が重要人物の離脱を示す可能性があります。 5. `git log --oneline --since="1 year ago" | grep -iE 'revert|hotfix|emergency|rollback'` リバートとホットフィックスの数をカウントします。頻繁なリバートはデプロイ/テストが不安定であることを示し、ゼロの場合は安定性またはコミットメッセージ不足を意味する可能性があります。 これらの指標(変更ホットスポット、バスファクター問題、バグクラスタ、プロジェクトモーメンタム、火災対策頻度)は、コード複雑度測定だけよりも欠陥予測精度が高いと示されています(Microsoft Research 2005)。記事はスクワッシュマージワークフローが著者データを歪めることを警告しています。最初の監査に1時間を費やした後、筆者は特定されたリスクスポットに対して週単位で詳細調査を計画しています。関連研究としてはエンジニアリングチーム速度、Vim 使用、レガシー Rails 監査、Rails `default_scope` が引用されています。この手法は開発者に迅速なコミット履歴ベースの診断を提供し、高リスクファイルへの詳細コードレビューを集中させることでバグ削減、チームレジリエンス、およびリリース信頼性の向上を実現します。

**Show HN:** 「Skrun — どんなエージェントスキルもAPIとしてデプロイ」 | そっか~ニュース