カスタムスキル開発
スキルは YAML で定義される動作拡張で、キーワードトリガーまたはスケジュール実行が可能です。
スキルファイルの場所
.yaml ファイルを agent/skills/ に配置。起動時に自動的にロードされます。
スキルタイプ
インストラクションスキル(キーワードトリガー)
トリガー時に LLM にインストラクションを提供するシンプルなスキル:
name: explain_code
description: コードを送った時に自動で説明
trigger:
type: keyword
keywords: ["コード説明", "explain code"]
instruction: |
コードをステップバイステップで説明してください:
1. コードの機能を一文で要約
2. キーロジックを行ごとに説明
3. 改善点を指摘
enabled: true
ワークフロースキル(スケジュール)
cron スケジュールで実行されるスキル:
name: weekly_summary
description: 毎週日曜日に週末の挨拶を送信
trigger:
type: schedule
cron: "0 20 * * 0" # 毎週日曜 20:00
steps:
- respond: |
短く温かい週末の挨拶を書いてください。
enabled: true
フィールドリファレンス
| フィールド | 必須 | 説明 |
|---|---|---|
name |
はい | スキルの一意識別子 |
description |
はい | スキルの機能説明(LLM がいつ使うか判断に使用) |
trigger.type |
はい | keyword または schedule |
trigger.keywords |
keyword タイプ時 | トリガーフレーズのリスト |
trigger.cron |
schedule タイプ時 | cron 式 |
instruction |
keyword タイプ時 | LLM へのインストラクション |
steps |
schedule タイプ時 | 実行するアクションのリスト |
enabled |
はい | true / false |
variables |
いいえ | テンプレートで使用可能なキー値マップ |
チャットでスキルを作成
Bot に直接話しかけるだけ:
「スキルを作って、2時間ごとに水を飲むよう思い出させて」
「毎晩9時に一日のまとめを送るスキルを作って」
Bot が自動的に YAML を生成し、agent/skills/ に保存します。
Tip
Telegram のスケジュールスキルには job queue 拡張のインストールが必要です:pip install "python-telegram-bot[job-queue]"