fr-skills — Java/Kotlin 用リクエストパラメータ生成スキル

Tool

概要

fr-skills は「AI Skills」コレクションの一つとして提供される小さなスキルパッケージで、Java/Kotlin の Web フレームワークにおけるコントローラメソッド(完全修飾名を指定)から、JSON、クエリ文字列、フォームデータといったリクエストパラメータの例(セマンティックな値)を生成することを目的としています。npx skills コマンドでスキルを追加し、fr:gen コマンドにコントローラの識別子を渡すと、想定される入力構造に沿ったパラメータ出力が得られます。軽量で導入が容易なため、ドキュメント作成やフロントエンド開発、テストデータ作成の補助として役立ちます。

GitHub

リポジトリの統計情報

  • スター数: 2
  • フォーク数: 0
  • ウォッチャー数: 2
  • コミット数: 2
  • ファイル数: 3
  • メインの言語: 未指定

主な特徴

  • npx skills 経由で簡単に追加・実行できる軽量スキルパッケージ。
  • Java/Kotlin のコントローラメソッド指定で、JSON / Query / Form 形式のパラメータサンプルを生成。
  • コマンド例が README に記載されており、導入と利用がシンプル。
  • テストデータの素早い作成や、API クライアント実装の初期段階で有用。

技術的なポイント

fr-skills 自体は小規模なパッケージに見えますが、提供する機能は「型情報」や「メソッドシグネチャ」から意味のある入力例を生成する点に技術的な興味があります。現状の README とファイル構成からは内部実装の詳細は読み取れませんが、想定される実装パターンは次の通りです。

  • 入力の解釈: 指定された完全修飾メソッド名(例: com.example.controller.UserController.createUser)を受け、リフレクションやソース/バイトコード解析でメソッドの引数型やアノテーション(@RequestBody, @RequestParam, @ModelAttribute など)を取得して、どのようなパラメータが期待されるかを判別する。
  • 値の生成: 取得した型情報に基づいて、プリミティブ型や文字列、日付、配列・リスト、ネストしたオブジェクトなどの構造に対して「セマンティック」なサンプル値を割り当てる。例えばユーザ名には “alice”、メールアドレス型には “alice@example.com”、数値には妥当範囲の値を入れるなどのルールを持つと実用性が高まる。
  • 出力フォーマット: JSON(リクエストボディ)、Query(URL エンコードされたクエリ文字列)、Form(application/x-www-form-urlencoded や multipart/form-data)といった複数フォーマットでの出力をサポートすることで、フロントエンドや API テストツール(curl/Postman)との親和性を高める。
  • 実行環境: README の npx コマンド指示からは、“skills” という CLI あるいはランチャーが存在し、それにプラグイン的にスキルを追加して使う設計が想定される。スキルは Node.js ベースでパッケージ化されている可能性があり、外部から入力を受けて標準出力へ生成結果を出す形が自然。
  • 拡張性と制限: 実際のコントローラ解析は Spring や Micronaut、Ktor などフレームワーク固有のアノテーションや型表現に依存するため、フレームワーク固有ロジックの追加が必要になる。ソースコードが手元にない場合は、コンパイル済みクラスパスやメソッドシグネチャのみでは完全な型情報(ジェネリクス、注釈のメタデータ)を取りこぼす可能性がある。生成結果を OpenAPI/Swagger 仕様に変換したり、検証ルール(バリデーションアノテーション)に基づく値生成へ拡張することで実用性を高められる。

上記のように、fr-skills は小さなツールながら、型解析・サンプル生成・多フォーマット出力といった技術要素が絡むため、実装次第で開発効率に与える効果が大きくなります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • README.md: file
  • skills: dir

(README に記載のコマンドや可用技能は以下を参照)

使い方(README 抜粋)

インストール例:

npx skills add https://github.com/kings1990/fr-skills --skill fr:gen

可用技能の例:

技能描述
fr:gen为 Java/Kotlin web 框架生成语义化的请求参数(JSON/Query/Form)

使用示例:

# JSON 参数生成
/fr:gen json com.example.controller.UserController.createUser

# Query 参数生成
/fr:gen query com.example.controller.UserController....

まとめ

軽量で導入が容易なリクエストパラメータ自動生成スキル。実装次第でドキュメント作成やテスト工数を大幅に削減できる。

リポジトリ情報:

READMEの抜粋:

fr-skills

安装

npx skills add https://github.com/kings1990/fr-skills --skill fr:gen

可用技能

技能描述
fr:gen为 Java/Kotlin web 框架生成语义化的请求参数(JSON/Query/Form)

使用示例

# JSON 参数生成
/fr:gen json com.example.controller.UserController.createUser

# Query 参数生成
/fr:gen query com.example.controller.UserController....