Leina ブログ

動作するAIタスクを再利用可能なスキルに変える方法

一度きりのプロンプトを再利用可能なSKILL.mdに変換します。動的な入力と標準ルールを分離し、エッジケースをテストして、ワークフローをチームと共有しましょう。

使えるGitHub週次レポートができたら、次は同じルールに従わせたいと思うでしょう。マージ日でフィルタリングし、ソースリンクを保持し、欠落したコンテキストを可視化したままにする。それらのルールを保存すれば、毎週長い会話をコピーするよりも再利用とレビューが容易になります。

Leinaでは、実証済みのワークフローをスキルとしてパッケージ化できます。これはオープンなAgent Skills仕様に従った構造化されたSKILL.mdファイルです。毎週月曜日にチームのレポート基準を再説明する代わりに、現在のリポジトリ、日付、タイムゾーン、およびタスクが必要とする任意の宛先を指定します。

すでに確認済みのレポートを出発点として使用してください。GitHubからNotionへのウォークスルーでは、その準備とレビューの方法を紹介しています。

変化するレポート入力が、選択・証拠・出力ルールを含む再利用可能なスキルに入る

変化する入力と標準ルールを分離する

信頼できるスキルは、今回の実行のための入力と再利用するルールを分離します。

今回の実行のための入力SKILL.mdに保存されたルール
対象リポジトリまたはリポジトリリスト正確なフィルタールール(マージタイムスタンプ vs. クローズ日)
レポート期間とタイムゾーンソース引用要件(PRリンクと作成者を含める)
書き込み用のNotion宛先ページURL証拠ルール(欠落したコンテキストを未文書化としてフラグ)
想定読者 / 詳細レベル書き込み指示(要求されたスコープを尊重し、既存のコンテンツを確認する)

認証情報やアクセストークンはスキルファイルに含めてはいけません。Leinaは認可されたConnectionsを通じてアクセスを管理します。スキルは、エージェントが環境で利用可能なツールをどのように使用すべきかを定義するだけです。

SKILL.mdファイルを構造化する

SKILL.mdファイルにはYAMLフロントマターとMarkdownの指示があります。このスターターは、利用可能なツールで適応およびテストするための例です。あなたのアカウントに対して実行されたものではありません。

---
name: weekly-pr-report
description: 指定されたリポジトリと期間について、ソースリンク付きの週次GitHubプルリクエストレポートを作成し、必要に応じて認可されたNotionへの書き込みを行います。エンジニアリングステータスレポート用であり、コードレビューや個人の生産性評価には使用しないでください。
---

# 週次PRレポート

エージェントの環境で利用可能なツールを用いて適応および評価するための指示例です。このファイルはコネクタをインストールしたり、アカウントアクセスを付与したりしません。

## 入力

リクエストからリポジトリリスト、タイムゾーンを含むレポート期間、想定読者を解決します。レポートを変更するような不足スコープがあれば確認します。Notionへの書き込みの場合、正確なページ、レポート見出し、およびユーザーが追記または置換のどちらを望むかも解決します。

現在の環境で公開されている認可されたGitHub読み取りを使用します。それらの操作が利用できない場合は、不足している機能を報告します。コネクタのアクションIDや取得したレコードを決して捏造しないでください。

## 選択と要約

- マージタイムスタンプが要求された期間内にあるマージ済みPRを含めます。クローズ済み未マージのレコードとマージ済み作業を区別します。
- 要求された場合にのみ、取得時刻をラベル付けした別個の現在オープンPRスナップショットを含めます。現在の状態を履歴状態として提示しないでください。
- サポートされている場合、スコープ内のすべての結果ページを取得します。利用できないレコード、切り捨てられた結果、失敗したクエリを開示します。不完全なクエリはゼロ結果のクエリではありません。
- PRのURL、番号、タイトル、作成者、状態、および関連するタイムスタンプを保持します。ツールが利用できるPRの説明と変更から要約します。
- 影響、デプロイ、ブロッカー、次のアクションの担当者は、証拠がそれを裏付ける場合にのみ記述します。作成者をデフォルトで次のアクションの担当者として扱わないでください。
- 選択されたスコープ、レポートセクション、ソースリンク、未解決の質問を返します。詳細レベルを想定読者に合わせます。

## オプションのNotion書き込み

ドラフト要求はドラフトを返します。ユーザーが具体的な宛先と操作を認可した場合にのみ書き込みます。繰り返しの確認を要求するのではなく、既存の認可を保持します。

追記する前にレポート見出しを確認します。レポートが既に存在し、置換が認可されていない場合は、その場所を返し、どのように進めるかを尋ねます。無関係なコンテンツを保持します。

書き込み後、サポートされている場合はセクションを読み返し、その場所を返します。書き込み結果が不確かな場合は、再試行する前に対象を検査します。検証が利用できない場合は、書き込みが確認されたと主張するのではなく、その制限を報告します。

同じweekly-pr-report SKILL.mdをダウンロードして、チームのフィールドに合わせてカスタマイズしてください。

ファイル内の3つの選択肢は維持する価値があります。

  1. 焦点を絞った説明: スキルがいつ役立つかを述べています。発見と起動はエージェント環境に依存します。
  2. 明示的な選択ルール: マージ時間によって、どのPRが完了作業セクションに属するかが決まります。
  3. 定義された書き込みスコープ: 指示はエージェントに既存のコンテンツを確認し、要求された操作を尊重するよう求めます。それらは動作を導きます。権限がアクセスを強制します。

展開する前にエッジケースをテストする

スキルをチームと共有する前に、別の週またはリポジトリに対して実行し、その出力をソースレコードと比較してください。以下のケースを試してください。

テストシナリオ期待されるエージェントの動作
マージ済みPRが0件の静かな週完全なクエリ後にゼロを報告し、ハイライトを捏造したり古いPRを引っ張ったりしない。
期間の1分外でマージされたPRマージ済みセクションから除外される。
クローズ済みで未マージのPRマージ済み作業から除外される。
説明のないPR(例:「bump version」)生の変更を要約し、影響を未文書化として明示的にフラグする。
対象の見出しがNotionに既に存在する既存のセクションを確認し、認可された操作に従う。置換が認可されていない場合は、どのように進めるかを尋ねる。
アクセスできないリポジトリまたはページリポジトリが空であるふりをせず、不足している権限を明確に報告する。

エージェントが2回目の実行で古い日付を繰り返す場合は、日付範囲が指示にハードコードされていないことを確認してください。顧客への影響を幻覚する場合は、要約ルールを厳格にしてください。

チームと共有して自動化する

2回目の実行を確認した後、スキルパッケージのインストール手順、またはエージェント環境がサポートするインポートメカニズムに従ってください。ファイルをダウンロードするだけではインストールされません。ディレクトリワークフローについてはLeinaでスキルを使用するを参照してください。

  • インタラクティブな使用: チームメイトはチャットで自然に起動できます。 「@Leina バックエンド/apiのweekly-pr-reportを2026年9月28日から10月4日までAmerica/Los_Angelesで実行して。ここにドラフトを返して。」
  • 権限: 各チームメイトはGitHub接続を使用する権限が必要で、レポートを保存する場合はNotion接続も必要です。それらのアカウントをConnectionsで確認してください。
  • スケジュール実行: タイムゾーン、レポート期間、配信場所を指定して定期的なタスクをリクエストします。Leinaが設定するスケジュールを確認し、最初のスケジュール出力をレビューします。スキルを保存してもスケジュールは作成されません。

確認済みのファイルを、必要なApps、サンプルレポート、バージョンまたは改訂日とともに共有してください。チームがレポートルールを変更したら、そのファイルを更新し、別の実行を確認してください。