ガイド付きポートフォリオウォッチスキル
このスキルが構築するもの
ユーザーが提供するポートフォリオに対して、このスキルは以下を生成します。
- MonitoringConfig — 銘柄リスト、投資期間、ガイダンスモード、プレファレンスノートを一元管理する構造化JSONオブジェクト。ALFSに書き込まれます。
- 2つのフィード自動化 —
gpw-fundamentals(財務履歴)とgpw-monitor(日次イベント分析+プッシュアラート)。どちらも実行時に設定を読み取ります。 - 1つのプレイブック —
guided-portfolio-watch。https://alva.ai/u/{username}/playbooks/guided-portfolio-watchで公開されます。 - 毎日のアラート — 重要なイベント発生時に説明を最優先した通知。
このスキルは再利用可能です。config.json を変更しフィードを再実行するだけで、コードを変更することなく新しいポートフォリオ用のプレイブックとアラートパイプラインが完全に生成されます。
ステップ 1 — ユーザーの意図を解析する
src/intent-to-config.js を呼び出す(またはそのロジックを適用する)ことで、ユーザーのメッセージから MonitoringConfig を抽出します。質問をする前にこれを行ってください。
ティッカー抽出
1~5文字の大文字シーケンス、または BRK.B のようなパターンをスキャンします。米国上場株式のみを受け入れます。ETF、暗号通貨(例:BTC、ETH、SOL)、オプション、米国以外のティッカーは拒否し、その旨をユーザーに通知して受け入れたシンボルで続行します。
一般的な単語のブロックリスト(大文字でも拒否):I, A, AN, OR, FOR, AND, AT, IN, ON, MY, ME, THE。
ガイダンスモード(嗜好の推論 — 専門性の主張ではありません)
以下の優先順位を適用します。最初に一致したもので確定します。
1. 明示的な嗜好(常に優先):
"平易な英語で" / "私に説明してください" / "投資は初心者です"
"理解できません" / "理解するのを助けてください" → guided
"技術的な詳細が欲しい" / "金融知識はあるものとする"
"基本は省略" / "テクニカル分析"(嗜好として) → standard
2. 文脈シグナル(明示的な嗜好がない場合のみ):
EBITDA、FCF、NIM、P/E、ベーシスポイント、純利息マージン、
オペレーティングレバレッジ、CAGR を正しく使用 → standard
"心配すべきですか?" / "これは私にとって何を意味するの?" / "これは悪い?" → guided
3. デフォルト(混合、矛盾、またはシグナルなし):
→ neutral
「あなたは初心者ですか?」や「あなたの経験レベルは?」とは決して尋ねないでください。 NEUTRAL はデフォルトで guided レイアウトを使用します。ユーザーは AGENTS.md で変更できます。
投資期間
- キーワード: "長期", "3~5年", "ずっと保有", "リタイアメント" →
long-term - キーワード: "中期", "1~3年", "今後数年" →
medium-term - キーワード: "デイトレード", "スイングトレード", "短期", "1年未満" → 未サポート。ユーザーに通知し、続行する前に長期モニタリングが許容されるか確認します。
- デフォルト(シグナルなし):
long-term。
所有権分類
- "所有している", "購入した", "私のポジション", "持っている" →
holding - "ウォッチしている", "追跡している", "目を離さない" →
watchlist - 曖昧 →
holding(より安全なデフォルト。保有者に所有していないと伝えるのを避けます)
所有権はアラートの表現にのみ影響します。パイプラインはすべてのシンボルを同一に扱います。
ウェイト(オプション)
明示的なパーセンテージパターンを解析します: "50% NVDA, 30% TSLA, 20% AAPL"。提供された場合、weights オブジェクトとして保存します(値は0~1、合計は1.0 ± 0.02。丸め誤差がある場合は正規化します)。提供されない場合は、設定から weights を省略します。
ステップ 2 — 必要に応じて確認(最大1つの質問)
構築内容に実質的な影響がある場合のみ質問します。
| 状況 | 質問内容 |
|---|---|
| ティッカーが提供されていない | "どの企業を監視したいですか?" |
| 投資期間の競合(デイトレード) | 通知し、長期モニタリングが許容されるか確認する |
以下のことについては質問しないでください:株式数、原価、財務目標、経験レベル。 二つ目の質問はしないでください。
ステップ 3 — MonitoringConfig を組み立てる
完全な MonitoringConfig オブジェクトを構築します(config/monitoring-config.schema.json を参照)。
sectorFocusAreas — arrays-data-api-equity-fundamentals を介して各ティッカーの企業詳細を取得します。sector + industry フィールドと src/intent-to-config.js のルックアップテーブルを使用して、ティッカーごとに一文のフォーカスノートを生成します。API呼び出しが失敗した場合やセクターが不明な場合は、汎用フォールバックを使用します:"Watch: revenue, earnings, and business-specific developments."。フォーカスエリアを捏造しないでください。
preferencesNote — 設定フィールドから以下のテンプレートを使用して組み立てます。
ユーザーは [所有/追跡中] [ティッカーリスト]。投資期間: [期間]。
[GUIDED の場合:] 平易で専門用語のない英語を使用してください。財務用語が最初に登場したときに定義してください。
すべてを、ユーザーが何に注意を払うべきか、そしてその理由を中心に構成してください。
[STANDARD の場合:] 中級レベルの金融リテラシーを想定してください。標準的な財務用語を使用してください。
[NEUTRAL の場合:] 明確でわかりやすい言語を使用してください。説明のない専門用語は避けてください。
アラートポリシー: 重要な長期的なビジネスの進展のみに焦点を当てます。
除外: 純粋な価格変動、テクニカル分析、根拠のない噂。
含む: 収益/ガイダンスの変更、規制/法的イベント、戦略的発表、
および複数年にわたるビジネス影響を持つサプライチェーンや製品の変更。
[ウェイトが提供された場合:] 参考配分: [ティッカー] [割合]%、... (ユーザー提供のシナリオ。現在のウェイトは未確認。)
[ティッカーごとのフォーカスエリア:]
[ティッカー]: [sectorFocusArea]
...
[不明な入力がある場合:] 数量、原価、ポートフォリオ総額は不明です。ポートフォリオレベルのパフォーマンス数値を計算または暗示しないでください。
ステップ 4 — 設定を ALFS に書き込む
# 設定をローカルの一時ファイルにシリアライズし、ALFS に書き込む
alva fs write --path '~/feeds/gpw-monitor/v1/config.json' --file /tmp/gpw-config.json --mkdir-parents
書き込みが成功したことを確認します:
alva fs read --path '~/feeds/gpw-monitor/v1/config.json'
同じ設定を ~/feeds/gpw-fundamentals/v1/config.json にも書き込みます(両方のフィードがそれぞれのパスから読み取るため、疎結合を維持します)。
ステップ 5 — フィードをデプロイする(ユーザーの承認が必要)
デプロイする前に references/setup-workflow.md を読んでください。ユーザーが MonitoringConfig の内容を確認するまでデプロイしないでください。
フィード 1: gpw-fundamentals(テンプレート templates/gpw-fundamentals.stub.js を使用)
- Cron:
15 6 * * * - 出力:
fundamentals/snapshot(JSON ブロブ) - アラート出力なし
フィード 2: gpw-monitor(テンプレート templates/gpw-monitor.stub.js を使用)
- Cron:
30 6 * * * - 出力:
analysis/decision+alerts/daily(V2 alertOutput) --push-notifyを指定してデプロイ
ステップ 6 — プレイブックを構築して公開する(ユーザーの承認が必要)
テンプレート templates/gpw-playbook.stub.html を使用します。すべての [GPW-*] マーカーを埋めてください。完全なライフサイクルに従います:alva lint playbook → alva release playbook-draft → alva release playbook → alva screenshot。
ステップ 7 — アラート配信を有効にする(ユーザーの承認が必要)
公開すると、所有者の FEED アラートバインディングが自動的に作成されます。配信を確認します:
alva alert history --automation gpw-monitor
# 期待される結果: ステータスが "sent" の行が少なくとも1つあること
受け入れ基準
このスキルは以下の条件が満たされたときに完了します:
alva lint playbookがエラーなしでパスするalva screenshotに可視データが表示される(空白のフレームではない)alva alert historyに、スケジュール実行から24時間以内にsentの行が表示されるconfig.jsonのティッカーを変更し、gpw-fundamentals を再実行すると、古いティッカーの参照なしで新しい企業セクションが生成される
このスキルが構築しないもの
- 価格チャートや日中価格監視
- 買い/売り/保有の推奨
- 収益カレンダー
- ベンチマークとのパフォーマンス比較
- トレーディングまたは注文執行