{
  "schemaVersion": "1.0",
  "item": {
    "slug": "etf-finance",
    "name": "etf-finance",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/popwho/etf-finance",
    "canonicalUrl": "https://clawhub.ai/popwho/etf-finance",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/etf-finance",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=etf-finance",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "_meta.json",
      "scripts/add_alert.py",
      "scripts/add_position.py",
      "scripts/check_alerts.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/etf-finance"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/etf-finance",
    "agentPageUrl": "https://openagent3.xyz/skills/etf-finance/agent",
    "manifestUrl": "https://openagent3.xyz/skills/etf-finance/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/etf-finance/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "ETF Finance Skill",
        "body": "A comprehensive ETF and fund portfolio management tool with real-time price tracking, profit/loss calculations, and price alert functionality."
      },
      {
        "title": "功能概述",
        "body": "持仓管理：添加、删除、查看 ETF/基金持仓\n盈亏计算：实时计算持仓盈亏和收益率\n价格提醒：设置目标价格，达到时自动提醒\n行情监控：实时获取 ETF/基金价格数据"
      },
      {
        "title": "持仓管理",
        "body": "添加持仓\n\ncd ~/.openclaw/workspace/skills/etf-investor\npython3 scripts/add_position.py SPY 150.50 100 \"S&P 500 ETF\"\n\n参数：代码 | 买入价 | 数量 | 名称\n\n删除持仓\n\npython3 scripts/remove_position.py SPY\n\n查看持仓列表\n\npython3 scripts/list_positions.py\n\n查看持仓详情（含盈亏）\n\npython3 scripts/portfolio_summary.py"
      },
      {
        "title": "价格提醒",
        "body": "设置价格提醒\n\npython3 scripts/add_alert.py SPY 160.00 \"price_up\"\n# 或\npython3 scripts/add_alert.py SPY 140.00 \"price_down\"\n\n查看所有提醒\n\npython3 scripts/list_alerts.py\n\n删除提醒\n\npython3 scripts/remove_alert.py SPY\n\n检查提醒状态\n\npython3 scripts/check_alerts.py"
      },
      {
        "title": "行情查询",
        "body": "查询单个 ETF/基金价格\n\npython3 scripts/get_price.py SPY\n\n批量查询持仓价格\n\npython3 scripts/update_prices.py"
      },
      {
        "title": "持仓数据格式",
        "body": "持仓存储在 ~/.clawdbot/etf_investor/positions.json:\n\n[\n  {\n    \"symbol\": \"SPY\",\n    \"name\": \"S&P 500 ETF\",\n    \"buy_price\": 150.50,\n    \"quantity\": 100,\n    \"buy_date\": \"2026-02-23\",\n    \"current_price\": 155.20,\n    \"last_updated\": \"2026-02-23T10:30:00Z\"\n  }\n]"
      },
      {
        "title": "价格提醒数据格式",
        "body": "提醒存储在 ~/.clawdbot/etf_investor/alerts.json:\n\n[\n  {\n    \"symbol\": \"SPY\",\n    \"target_price\": 160.00,\n    \"condition\": \"price_up\",\n    \"created_at\": \"2026-02-23T10:00:00Z\",\n    \"triggered\": false\n  }\n]"
      },
      {
        "title": "盈亏计算公式",
        "body": "持仓市值: 当前价 × 数量\n成本: 买入价 × 数量\n盈亏金额: (当前价 - 买入价) × 数量\n盈亏比例: (当前价 - 买入价) / 买入价 × 100%"
      },
      {
        "title": "支持的代码格式",
        "body": "美股 ETF: SPY, QQQ, VOO, VTI, IVV, IWM\n国际 ETF: EFA, VEA, VWO, VXUS\n行业 ETF: XLF, XLK, XLV, XLE, XLB\n基金: 使用 Yahoo Finance 支持的任何基金代码"
      },
      {
        "title": "安装",
        "body": "cd ~/.openclaw/workspace/skills/etf-investor\nbash scripts/install.sh"
      },
      {
        "title": "卸载",
        "body": "bash scripts/uninstall.sh"
      },
      {
        "title": "自动提醒",
        "body": "可以将 check_alerts.py 加入系统定时任务（如 cron）实现自动提醒：\n\n# 每小时检查一次提醒\n0 * * * * cd ~/.openclaw/workspace/skills/etf-investor && python3 scripts/check_alerts.py"
      },
      {
        "title": "注意事项",
        "body": "数据来源：Yahoo Finance (免费，无 API Key)\n价格可能有 15 分钟延迟（美股）\n建议定期备份数据文件\n价格提醒仅在本地检查，不会推送通知"
      },
      {
        "title": "脚本说明",
        "body": "add_position.py - 添加持仓\nremove_position.py - 删除持仓\nlist_positions.py - 列出所有持仓\nportfolio_summary.py - 持仓摘要（含盈亏）\nadd_alert.py - 添加价格提醒\nremove_alert.py - 删除价格提醒\nlist_alerts.py - 列出所有提醒\ncheck_alerts.py - 检查提醒状态\nget_price.py - 获取单个价格\nupdate_prices.py - 批量更新价格\ninstall.sh - 安装脚本\nuninstall.sh - 卸载脚本"
      }
    ],
    "body": "ETF Finance Skill\n\nA comprehensive ETF and fund portfolio management tool with real-time price tracking, profit/loss calculations, and price alert functionality.\n\n功能概述\n持仓管理：添加、删除、查看 ETF/基金持仓\n盈亏计算：实时计算持仓盈亏和收益率\n价格提醒：设置目标价格，达到时自动提醒\n行情监控：实时获取 ETF/基金价格数据\n使用方法\n持仓管理\n添加持仓\ncd ~/.openclaw/workspace/skills/etf-investor\npython3 scripts/add_position.py SPY 150.50 100 \"S&P 500 ETF\"\n\n\n参数：代码 | 买入价 | 数量 | 名称\n\n删除持仓\npython3 scripts/remove_position.py SPY\n\n查看持仓列表\npython3 scripts/list_positions.py\n\n查看持仓详情（含盈亏）\npython3 scripts/portfolio_summary.py\n\n价格提醒\n设置价格提醒\npython3 scripts/add_alert.py SPY 160.00 \"price_up\"\n# 或\npython3 scripts/add_alert.py SPY 140.00 \"price_down\"\n\n查看所有提醒\npython3 scripts/list_alerts.py\n\n删除提醒\npython3 scripts/remove_alert.py SPY\n\n检查提醒状态\npython3 scripts/check_alerts.py\n\n行情查询\n查询单个 ETF/基金价格\npython3 scripts/get_price.py SPY\n\n批量查询持仓价格\npython3 scripts/update_prices.py\n\n持仓数据格式\n\n持仓存储在 ~/.clawdbot/etf_investor/positions.json:\n\n[\n  {\n    \"symbol\": \"SPY\",\n    \"name\": \"S&P 500 ETF\",\n    \"buy_price\": 150.50,\n    \"quantity\": 100,\n    \"buy_date\": \"2026-02-23\",\n    \"current_price\": 155.20,\n    \"last_updated\": \"2026-02-23T10:30:00Z\"\n  }\n]\n\n价格提醒数据格式\n\n提醒存储在 ~/.clawdbot/etf_investor/alerts.json:\n\n[\n  {\n    \"symbol\": \"SPY\",\n    \"target_price\": 160.00,\n    \"condition\": \"price_up\",\n    \"created_at\": \"2026-02-23T10:00:00Z\",\n    \"triggered\": false\n  }\n]\n\n盈亏计算公式\n持仓市值: 当前价 × 数量\n成本: 买入价 × 数量\n盈亏金额: (当前价 - 买入价) × 数量\n盈亏比例: (当前价 - 买入价) / 买入价 × 100%\n支持的代码格式\n美股 ETF: SPY, QQQ, VOO, VTI, IVV, IWM\n国际 ETF: EFA, VEA, VWO, VXUS\n行业 ETF: XLF, XLK, XLV, XLE, XLB\n基金: 使用 Yahoo Finance 支持的任何基金代码\n安装与卸载\n安装\ncd ~/.openclaw/workspace/skills/etf-investor\nbash scripts/install.sh\n\n卸载\nbash scripts/uninstall.sh\n\n自动提醒\n\n可以将 check_alerts.py 加入系统定时任务（如 cron）实现自动提醒：\n\n# 每小时检查一次提醒\n0 * * * * cd ~/.openclaw/workspace/skills/etf-investor && python3 scripts/check_alerts.py\n\n注意事项\n数据来源：Yahoo Finance (免费，无 API Key)\n价格可能有 15 分钟延迟（美股）\n建议定期备份数据文件\n价格提醒仅在本地检查，不会推送通知\n脚本说明\nadd_position.py - 添加持仓\nremove_position.py - 删除持仓\nlist_positions.py - 列出所有持仓\nportfolio_summary.py - 持仓摘要（含盈亏）\nadd_alert.py - 添加价格提醒\nremove_alert.py - 删除价格提醒\nlist_alerts.py - 列出所有提醒\ncheck_alerts.py - 检查提醒状态\nget_price.py - 获取单个价格\nupdate_prices.py - 批量更新价格\ninstall.sh - 安装脚本\nuninstall.sh - 卸载脚本"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/popwho/etf-finance",
    "publisherUrl": "https://clawhub.ai/popwho/etf-finance",
    "owner": "popwho",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/etf-finance",
    "downloadUrl": "https://openagent3.xyz/downloads/etf-finance",
    "agentUrl": "https://openagent3.xyz/skills/etf-finance/agent",
    "manifestUrl": "https://openagent3.xyz/skills/etf-finance/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/etf-finance/agent.md"
  }
}