profile.yaml¶
.reyn/agents/<name>/profile.yaml に格納される agent ごとのメタデータ。reyn agent new で作成され、すべての reyn chat 起動時に読み込まれます。
スキーマ¶
name: researcher # 必須(== ディレクトリ名)
role: | # 省略可能、デフォルト ""
Deep technical research, prefers
primary sources (arxiv, RFCs).
created_at: 2026-05-01T12:00:00+00:00 # ISO-8601 UTC、`reyn agent new` が設定
allowed_skills: # 省略可能、デフォルト null(無制限)
- web_search
- recall_docs
フィールド¶
name(文字列、必須)¶
agent 名。^[a-z0-9][a-z0-9_-]{0,31}$ に一致し、親ディレクトリ名と等しくなければなりません。default agent は予約済みで、最初の reyn chat 時に自動作成されます。
role(文字列、デフォルト "")¶
agent の LLM システムプロンプトに ━━━ AGENT ROLE ━━━ ブロックとして注入される自由形式のテキスト。短く、行動的に具体的に書いてください。Skill を変更せずに agent をピアと差別化するのがこれです。
空のロールでも問題ありません。その場合、agent は追加のペルソナなしのジェネラリストとして振る舞います。
created_at(文字列、デフォルト "")¶
reyn agent new が実行されたときに設定される ISO-8601 UTC タイムスタンプ。装飾的; ランタイムでは参照されません。
allowed_skills(list[str] | null、デフォルト null)¶
Skill の allowlist。3 つの状態とそれぞれの意味:
| 値 | 意味 |
|---|---|
なし / null |
無制限。 すべてのプロジェクト + stdlib Skill がルーター LLM に提供されます。 |
[](空リスト) |
ルーターのみ。 Skill の起動は行われません。ルーターは直接返信またはピアへの委任はできます。 |
[a, b, c] |
Allowlist。 リストされた Skill 名のみが提供されます。 |
stdlib ルーター(skill_router)、コンパクター(chat_compactor)、ナレーター(skill_narrator)は常に有効であり、このリストの対象外です。これらはシステム Skill であり、agent が選択する Skill ではありません。
二重レイヤーの強制:
- ルーター側のフィルター —
_invoke_routerは LLM がカタログを見る前にavailable_skillsを allowlist に絞り込みます。 - 多層防御 —
_spawn_skillは起動時に再チェックします。ブロックされた起動はアウトボックスのerrorとreason="allowlist"のskill_spawn_refusedイベントとして現れます。
編集¶
reyn agent new --role が新しいプロファイルを書き込みます。その後に allowed_skills(または他のフィールド)を変更するには、ファイルを直接編集してください。まだ reyn agent set-skills CLI はありません(残課題)。フォーマットは順序や末尾のキーについて寛容です。
関連情報¶
- リファレンス: agent CLI
- コンセプト: multi-agent
- リファレンス: skill_router —
available_skillsが LLM に届く方法