Communitygithub.com

JuanOrtizOvied/construir-portafolio

協助使用者逐步建立其投資組合,從帳單、截圖、PDF 和 Factsheets 中提取數據,按照模板分類至六大類別(直接投資、私募市場、俱樂部交易、公開市場、其他、現金),並提供可下載的 Excel 儀表板。

construir-portafolio 是什麼?

此 AI 技能專為逐步引導使用者建立個人化投資組合而設計。它能夠處理使用者上傳的各種文件,如對帳單、截圖和 Factsheets,並自動提取每筆投資的部位資訊(市值、貨幣、機構等)。關鍵優勢在於其分類能力:技能會根據預定義的規則和分類代碼,將每個產品歸類到六大主分類(直接投資、私募市場、俱樂部交易、公開市場、其他、現金)及其細項子類別中。對於無法立即識別的金融工具(如 Ticker、ISIN 或基金),技能會先嘗試查詢資訊後再進行分類。整個過程以會話形式進行,每一步處理後都會生成一個即時的 HTML 儀表板來顯示進度,並明確詢問使用者下一步所需資料。當所有分類完成後,技能會產出一個可直接下載的 Excel 檔案,內含完整的投資組合明細。此技能支援多種平台(如 Claude Code、Cursor 等),且要求所有數據必須來源於文件或用戶確認,禁止憑空臆測金額。

相容平台~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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

建立投資組合(引導模式)

目標是讓使用者最終獲得一個依模板六大分類及其所有子類別歸類好的投資組合儀表板,並可選擇下載 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.py產生 HTML 儀表板(也可在進度中途使用)。
scripts/llenar_plantilla.py根據填好的範本產生最終 Excel。
scripts/importar_excel.py從先前產生的 Excel 還原進度。

每個回合的流程

  1. 繼續或開始。

    • 如果工作目錄中已有 estado.json,請載入它。
    • 如果使用者上傳了之前由此插件產生的 Excel,則使用 python <dir-skill>/scripts/importar_excel.py archivo.xlsx estado.json 還原進度。
    • 如果都沒有,則建立一個包含 cliente、fecha_corte、secciones(6 項皆為 pendiente)及 posiciones: [] 的 estado.json,並根據指南中的方式進行歡迎與引導。
  2. 處理新資料。 讀取使用者所有於此回合上傳的檔案。提取每個部位及其市值、貨幣、機構與頁面或位置。同時檢查現金及「其他資產」部分。請勿猜測無法辨識的數字:應向使用者提問。

  3. 分類。 根據 references/reglas-clasificacion.md 的規則,為每個部位從 assets/categorias.json 中分配一個代碼。如果無法辨識 Ticker、ISIN 或基金,請先查詢資訊再進行分類。根據 Factsheets 將全球型或混合型基金拆分成細項。對於非顯而易見的分類,請在 nota 欄位中說明。

  4. 儲存。 將部位新增至 estado.json。如果收到同一帳戶的更新文件,則取代該帳戶的舊部位並通知使用者。僅在使用者確認後,才將 secciones 更新為 completa 或 no_aplica。

  5. 顯示進度。

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

    如果你有發布 artifacts 的工具,請將 dashboard.html 發布為 artifact(後續回合則更新同一個 artifact);否則,將其作為檔案發送。同時附上一份簡短摘要:新增了哪些內容、待澄清的問題以及下一步提問(根據指南中的檢查清單)。

  6. 完成 當所有 6 項分類狀態皆為 completa 或 no_aplica 時:

    python <dir-skill>/scripts/llenar_plantilla.py estado.json "Portafolio_<Nombre>_<AAAA-MM-DD>.xlsx"
    python <dir-skill>/scripts/generar_dashboard.py estado.json dashboard.html --excel "Portafolio_<Nombre>_<AAAA-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;請勿自行更改。

相關技能