Communitygithub.com

JuanOrtizOvied/construir-portafolio

投資ポートフォリオを構築するためのステップバイステップガイド。取引明細書、スクリーンショット、PDF、ファクトシートから資産を分類し、ダッシュボードとダウンロード可能なExcelファイルを提供します。

construir-portafolio とは?

このスキルは、ユーザーが提供する金融書類(取引明細書、PDF、スクリーンショット、ファクトシートなど)をもとに、投資ポートフォリオを体系的に構築するためのガイド付きツールです。資産を6つの主要カテゴリー(直接投資、非公開市場、クラブディール、公開市場、その他、現金)とそのサブカテゴリーに自動分類し、インタラクティブなHTMLダッシュボードと、テンプレートに基づいたExcelファイルを生成します。各ターンごとに新たな書類を処理し、進捗状況を表示しながら次のステップを促すため、情報が不完全な場合でも段階的にポートフォリオを完成できます。Claude Code/Cursor/CodexのようなAIエージェント上で動作し、Pythonスクリプトを用いてダッシュボードやExcelの生成・更新を行います。金融データの正確性を重視し、不明な金額は決して推測せず、ユーザーに確認するルールが組み込まれています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JuanOrtizOvied/portfolio-builder-claude-plugin/tree/HEAD/plugins/portafolio-builder/skills/construir-portafolio

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ポートフォリオ構築(ガイドモード)

目標は、ユーザーがテンプレートの6セクションとそのすべてのサブカテゴリーに分類されたポートフォリオのダッシュボードを手に入れ、オプションでExcelをダウンロードできるようにすることです。多くのユーザーは情報が不完全な状態でやってくるため、ポートフォリオは分割して構築します。各ターンごとにアップロードされたものを処理し、進捗を表示して次のものを要求します。

このスキルのファイル(ベースディレクトリからの相対パス):

ファイル用途
references/guia-paso-a-paso.mdユーザーのガイド方法:セクションの順序、質問、トーン。開始時に読むこと。
references/reglas-clasificacion.md各商品のカテゴリー決定方法。分類前に読むこと。
references/formato-entrada.mdestado.json(進捗ファイル)のフォーマット。
assets/categorias.json有効なカテゴリーコード ↔ テンプレートのセル。
assets/tema.jsonダッシュボードの色とブランド。
assets/plantilla-portafolio-final.xlsx公式テンプレート。手動で編集しないこと。
scripts/generar_dashboard.pyHTMLダッシュボードを生成(途中経過でも可)。
scripts/llenar_plantilla.pyテンプレートに値を入力して最終Excelを生成。
scripts/importar_excel.py以前生成したExcelから進捗を復元。

各ターンのサイクル

  1. 再開または開始。

    • 作業ディレクトリに既にestado.jsonが存在する場合は、それを読み込む。
    • ユーザーが以前このプラグインで生成したExcelをアップロードした場合は、python <dir-skill>/scripts/importar_excel.py ファイル.xlsx estado.jsonで進捗を復元する。
    • 何もない場合は、cliente、fecha_corte、secciones(6セクションすべてをpendienteに)、posiciones: []を含むestado.jsonを作成し、ガイドに従って歓迎メッセージを表示する。
  2. 新しい内容を処理する。 このターンにアップロードされたすべてのファイルを読み込む。各ポジションについて、時価評価額、通貨、機関、ページまたは場所を抽出する。現金セクションと「その他資産」セクションも確認する。判読不能な数値は推測せず、ユーザーに確認する。

  3. 分類する。 各ポジションに、references/reglas-clasificacion.mdに従ってassets/categorias.jsonのコードを割り当てる。Ticker、ISIN、ファンドが認識できない場合は、分類する前に検索する。グローバルファンドや混合ファンドは、ファクトシートに基づいて分割する。明白でない分類については、notaで説明する。

  4. 保存する。 ポジションをestado.jsonに追加する。同じ口座のより新しい書類が届いた場合は、その口座の以前のポジションを置き換え、その旨を通知する。seccionesは、ユーザーが確認したものだけを更新する。

  5. 進捗を表示する。

    python <dir-skill>/scripts/generar_dashboard.py estado.json dashboard.html
    

    アーティファクトツールがあればdashboard.htmlをアーティファクトとして公開し(以降のターンでは同じアーティファクトを更新する)、なければファイルとして送信する。短いサマリー(追加した内容、具体的な疑問点、ガイドのチェックリストからの次の質問)を添える。

  6. 6セクションすべてがcompletaまたはno_aplicaになったら終了する:

    python <dir-skill>/scripts/llenar_plantilla.py estado.json "Portafolio_<名前>_<YYYY-MM-DD>.xlsx"
    python <dir-skill>/scripts/generar_dashboard.py estado.json dashboard.html --excel "Portafolio_<名前>_<YYYY-MM-DD>.xlsx"
    
    • llenar_plantilla.pyがsuma_pctを100(±0.05)以外で出力した場合は、引き渡す前に確認する。
    • Excelスキル(xlsx)とrecalc.pyがある場合は、ファイルを再計算し、エラーがなくSheet1!D94が100%であることを確認する。
    • ダッシュボードを主な成果物として、内蔵の「Excelをダウンロード」ボタンとともに提供し、Excelも別ファイルとして提供する。
    • ユーザーに対し、Excelでは空白の列(リターンと希望ポートフォリオ)を自分で記入し、テンプレートの送付手順に従う必要があることを忘れずに伝える。

ユーザーはいつでも(不完全でも)Excelを要求できる。その場合は生成し、不足しているセクションを通知する。

ルール

  • 金額は決して創作しないこと。 すべての数字は書類またはユーザーから得ること。
  • 常に時価評価額を使用し(原価ではない)、基準日に基づくこと。
  • パーセンテージは投資ポートフォリオ全体に対して計算する。EMPRESA_PRIVADAとEXCLUIRはその合計に含めない。
  • セクションは、ユーザーが確認した場合のみcompletaまたはno_aplicaとマークする。
  • 書類には個人の財務データが含まれている。会話の外で共有しないこと。
  • ダッシュボードの色とブランドはassets/tema.jsonから取得する。独自に変更しないこと。

関連スキル