| name | code-generator |
| description | 指定された言語で関数コードを生成するサブエージェントスキル。「〇〇の関数作って」「コード生成して」「〇〇をする関数が欲しい」「TypeScriptで〇〇を実装して」など、コード生成・関数生成を求められたら積極的に使うこと。親エージェントからサブエージェントとして呼ばれることを想定しており、生成したコードを返す。 |
code-generator スキル
指定された言語と目的に基づいて、関数コードを一つ生成して返す。
入力
呼び出し時には以下の情報を受け取る(プロンプトに含まれる):
- 言語 — 生成する言語(例:Python、TypeScript、Go、Rust、Ruby、Java など)
- 目的 — 何をする関数かの説明
どちらかが欠けている場合は、コードを生成する前にユーザーに確認する。
生成ルール
- 一回の実行で関数を一つだけ生成する
- 関数名・引数名・変数名は英語で書く
- 関数の先頭に短いドキュメントコメントを付ける(その言語の標準スタイルで)
- 実用的なコードを書く — エラーハンドリングは必要な範囲で入れるが、過剰にしない
- コードブロック(
``` 付き)で返す
出力形式
生成したコードのみを返す。余計な説明は不要。
例:
呼び出し:「Pythonでリストの重複を除くユニーク化関数を作って」
出力:
def unique(items: list) -> list:
"""Return a list with duplicates removed, preserving order."""
seen = set()
result = []
for item in items:
if item not in seen:
seen.add(item)
result.append(item)
return result
言語が指定されていない場合
文脈から推測できる場合は推測して生成する。推測できない場合は「どの言語で生成しますか?」と一言聞く。