{
  "schemaVersion": "1.0",
  "item": {
    "slug": "consortiumai-analysis",
    "name": "Consortium AI Analysis",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/WebCraft3r/consortiumai-analysis",
    "canonicalUrl": "https://clawhub.ai/WebCraft3r/consortiumai-analysis",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/consortiumai-analysis",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=consortiumai-analysis",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "scripts/trading-analysis.js",
      "SKILL.md",
      "package.json"
    ],
    "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. 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. 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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/consortiumai-analysis"
    },
    "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/consortiumai-analysis",
    "agentPageUrl": "https://openagent3.xyz/skills/consortiumai-analysis/agent",
    "manifestUrl": "https://openagent3.xyz/skills/consortiumai-analysis/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/consortiumai-analysis/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Instructions",
        "body": "This skill provides on-demand, read-only access to trading analysis generated by Consortium AI.\n\nIt calls an external API and returns the most recent trading decision.\nThe skill does not store data, schedule jobs, or send automatic notifications."
      },
      {
        "title": "How to run (implementation)",
        "body": "From the skill directory, you can call the Trading Analysis API either by making HTTP requests (see API Reference) or by running the bundled script:\n\nLatest analysis (any pair):\nnode scripts/trading-analysis.js\nor npm run latest\nLatest analysis for a token:\nnode scripts/trading-analysis.js <TOKEN>\nor npm run token -- <TOKEN>\nExample: node scripts/trading-analysis.js SOL\n\nThe script requires TRADING_ANALYSIS_API_KEY to be set. It prints the API response as JSON to stdout on success, or error JSON to stderr and exits non-zero on failure."
      },
      {
        "title": "Setup",
        "body": "Set the API key as an environment variable before using this skill:\n\nexport TRADING_ANALYSIS_API_KEY=your-secret-api-key\n\nTo get an API key, contact Consortium AI on X."
      },
      {
        "title": "API Reference",
        "body": "Backend API base URL: https://api.consortiumai.org\n\nEndpoint: GET https://api.consortiumai.org/api/trading-analysis\nReturns the latest trading-only AI analysis (no lending). Optional filter by base token."
      },
      {
        "title": "Authentication",
        "body": "API key only (no JWT). Send the key in one of:\n\nHeader: x-api-key: <TRADING_ANALYSIS_API_KEY>\nHeader: Authorization: Bearer <TRADING_ANALYSIS_API_KEY>\n\nMissing or invalid key → 401 with body { \"success\": false, \"message\": \"Invalid or missing API key\" }."
      },
      {
        "title": "Query parameters",
        "body": "ParameterTypeRequiredDescriptiontokenstringNoBase token symbol. When set, returns the latest analysis whose pair starts with that token (e.g. SOL → SOL_USDT, SOL_USD). Examples: SOL, ETH, JUP, BTC.\n\nNo token: latest trading analysis overall (any pair).\nWith token: latest trading analysis for that base token only. Token is normalized (trim + uppercase)."
      },
      {
        "title": "Success response (200)",
        "body": "Body is trading-only. Example:\n\n{\n  \"data\": {\n    \"id\": \"...\",\n    \"createdAt\": \"2026-02-09T14:00:00.000Z\",\n    \"trading\": {\n      \"action\": \"BUY\",\n      \"pair\": \"SOL_USDT\",\n      \"shouldExecute\": true,\n      \"confidence\": \"HIGH\",\n      \"setupScore\": 78,\n      \"reasoning\": {\n        \"marketCondition\": \"...\",\n        \"technicalAnalysis\": \"...\",\n        \"riskAssessment\": \"...\",\n        \"pairSelection\": \"...\",\n        \"comparativeAnalysis\": { ... },\n        \"sentimentAndNews\": { ... }\n      },\n      \"tradeSummary\": \"Dual-model: BUY SOL_USDT (score: 78) – ...\",\n      \"currentPositionsAnalysis\": []\n    }\n  }\n}\n\ndata.trading.action – BUY, SELL, or WAIT.\ndata.trading.pair – e.g. SOL_USDT.\ndata.trading.confidence, data.trading.setupScore, data.trading.reasoning, data.trading.tradeSummary – use these when summarizing for the user."
      },
      {
        "title": "Error responses",
        "body": "StatusWhenBody (example)401Missing or wrong API key{ \"success\": false, \"message\": \"Invalid or missing API key\" }404No analysis in DB, or no analysis for given token{ \"data\": { \"success\": false, \"message\": \"No trading analysis found\" } or \"No trading analysis found for token: SOL\"500Server/DB error{ \"data\": { \"success\": false, \"message\": \"Failed to fetch latest trading analysis\", \"error\": \"...\" } }"
      },
      {
        "title": "Example requests",
        "body": "GET https://api.consortiumai.org/api/trading-analysis\nx-api-key: <TRADING_ANALYSIS_API_KEY>\n\nGET https://api.consortiumai.org/api/trading-analysis?token=SOL\nx-api-key: <TRADING_ANALYSIS_API_KEY>\n\n# Latest overall\ncurl -H \"x-api-key: $TRADING_ANALYSIS_API_KEY\" \"https://api.consortiumai.org/api/trading-analysis\"\n\n# Latest for SOL\ncurl -H \"x-api-key: $TRADING_ANALYSIS_API_KEY\" \"https://api.consortiumai.org/api/trading-analysis?token=SOL\""
      },
      {
        "title": "Behaviour summary",
        "body": "ScenarioResultValid key, no token, at least one decision in DB200 – latest trading analysis (any pair).Valid key, token=SOL, at least one decision with pair like SOL_*200 – latest trading analysis for SOL.Valid key, token=XYZ, no decision with pair starting with XYZ_404 – \"No trading analysis found for token: XYZ\".Valid key, no decisions in DB404 – \"No trading analysis found\".Missing or wrong API key401 – \"Invalid or missing API key\".\n\nResponse always contains at most one decision (the most recent by createdAt). Trading only; no lending fields."
      },
      {
        "title": "getLatestTradingAnalysis()",
        "body": "Purpose\nRetrieve the most recent trading analysis available, regardless of trading pair.\n\nExpected Behavior\n\nSends a GET request to https://api.consortiumai.org/api/trading-analysis\nAuthenticates with x-api-key: <TRADING_ANALYSIS_API_KEY> or Authorization: Bearer <TRADING_ANALYSIS_API_KEY>\nReturns the latest trading decision (by createdAt)\n\nUse When\n\nThe user asks for the latest market signal\nNo specific token is mentioned\n\nReturns\n\nTrading pair (e.g. BTC_USDT)\nAction: BUY, SELL, or WAIT\nConfidence level\nSetup score\nTrade summary\nDetailed reasoning (technical, market, risk, sentiment)"
      },
      {
        "title": "getTradingAnalysisByToken(token)",
        "body": "Purpose\nRetrieve the most recent trading analysis for a specific base token.\n\nParameters\n\ntoken (string): Base token symbol (e.g. BTC, ETH, SOL, JUP)\n\nExpected Behavior\n\nNormalizes token (trim + uppercase)\nSends a GET request to https://api.consortiumai.org/api/trading-analysis?token=<TOKEN>\nAuthenticates with x-api-key or Authorization: Bearer using TRADING_ANALYSIS_API_KEY\nAPI matches any pair whose base is that token (e.g. SOL → SOL_USDT, SOL_USD); returns the most recent matching decision\n\nUse When\n\nThe user asks about a specific coin\nThe user wants a trading decision for a given token\n\nReturns\n\nTrading pair for the token\nAction: BUY, SELL, or WAIT\nConfidence level\nSetup score\nTrade summary\nDetailed reasoning"
      }
    ],
    "body": "Instructions\n\nThis skill provides on-demand, read-only access to trading analysis generated by Consortium AI.\n\nIt calls an external API and returns the most recent trading decision.\nThe skill does not store data, schedule jobs, or send automatic notifications.\n\nHow to run (implementation)\n\nFrom the skill directory, you can call the Trading Analysis API either by making HTTP requests (see API Reference) or by running the bundled script:\n\nLatest analysis (any pair):\nnode scripts/trading-analysis.js\nor npm run latest\nLatest analysis for a token:\nnode scripts/trading-analysis.js <TOKEN>\nor npm run token -- <TOKEN>\nExample: node scripts/trading-analysis.js SOL\n\nThe script requires TRADING_ANALYSIS_API_KEY to be set. It prints the API response as JSON to stdout on success, or error JSON to stderr and exits non-zero on failure.\n\nSetup\n\nSet the API key as an environment variable before using this skill:\n\nexport TRADING_ANALYSIS_API_KEY=your-secret-api-key\n\n\nTo get an API key, contact Consortium AI on X.\n\nAPI Reference\n\nBackend API base URL: https://api.consortiumai.org\n\nEndpoint: GET https://api.consortiumai.org/api/trading-analysis\nReturns the latest trading-only AI analysis (no lending). Optional filter by base token.\n\nAuthentication\n\nAPI key only (no JWT). Send the key in one of:\n\nHeader: x-api-key: <TRADING_ANALYSIS_API_KEY>\nHeader: Authorization: Bearer <TRADING_ANALYSIS_API_KEY>\n\nMissing or invalid key → 401 with body { \"success\": false, \"message\": \"Invalid or missing API key\" }.\n\nQuery parameters\nParameter\tType\tRequired\tDescription\ntoken\tstring\tNo\tBase token symbol. When set, returns the latest analysis whose pair starts with that token (e.g. SOL → SOL_USDT, SOL_USD). Examples: SOL, ETH, JUP, BTC.\nNo token: latest trading analysis overall (any pair).\nWith token: latest trading analysis for that base token only. Token is normalized (trim + uppercase).\nSuccess response (200)\n\nBody is trading-only. Example:\n\n{\n  \"data\": {\n    \"id\": \"...\",\n    \"createdAt\": \"2026-02-09T14:00:00.000Z\",\n    \"trading\": {\n      \"action\": \"BUY\",\n      \"pair\": \"SOL_USDT\",\n      \"shouldExecute\": true,\n      \"confidence\": \"HIGH\",\n      \"setupScore\": 78,\n      \"reasoning\": {\n        \"marketCondition\": \"...\",\n        \"technicalAnalysis\": \"...\",\n        \"riskAssessment\": \"...\",\n        \"pairSelection\": \"...\",\n        \"comparativeAnalysis\": { ... },\n        \"sentimentAndNews\": { ... }\n      },\n      \"tradeSummary\": \"Dual-model: BUY SOL_USDT (score: 78) – ...\",\n      \"currentPositionsAnalysis\": []\n    }\n  }\n}\n\ndata.trading.action – BUY, SELL, or WAIT.\ndata.trading.pair – e.g. SOL_USDT.\ndata.trading.confidence, data.trading.setupScore, data.trading.reasoning, data.trading.tradeSummary – use these when summarizing for the user.\nError responses\nStatus\tWhen\tBody (example)\n401\tMissing or wrong API key\t{ \"success\": false, \"message\": \"Invalid or missing API key\" }\n404\tNo analysis in DB, or no analysis for given token\t{ \"data\": { \"success\": false, \"message\": \"No trading analysis found\" } or \"No trading analysis found for token: SOL\"\n500\tServer/DB error\t{ \"data\": { \"success\": false, \"message\": \"Failed to fetch latest trading analysis\", \"error\": \"...\" } }\nExample requests\nGET https://api.consortiumai.org/api/trading-analysis\nx-api-key: <TRADING_ANALYSIS_API_KEY>\n\nGET https://api.consortiumai.org/api/trading-analysis?token=SOL\nx-api-key: <TRADING_ANALYSIS_API_KEY>\n\n# Latest overall\ncurl -H \"x-api-key: $TRADING_ANALYSIS_API_KEY\" \"https://api.consortiumai.org/api/trading-analysis\"\n\n# Latest for SOL\ncurl -H \"x-api-key: $TRADING_ANALYSIS_API_KEY\" \"https://api.consortiumai.org/api/trading-analysis?token=SOL\"\n\nBehaviour summary\nScenario\tResult\nValid key, no token, at least one decision in DB\t200 – latest trading analysis (any pair).\nValid key, token=SOL, at least one decision with pair like SOL_*\t200 – latest trading analysis for SOL.\nValid key, token=XYZ, no decision with pair starting with XYZ_\t404 – \"No trading analysis found for token: XYZ\".\nValid key, no decisions in DB\t404 – \"No trading analysis found\".\nMissing or wrong API key\t401 – \"Invalid or missing API key\".\n\nResponse always contains at most one decision (the most recent by createdAt). Trading only; no lending fields.\n\nAvailable Functions\ngetLatestTradingAnalysis()\n\nPurpose\nRetrieve the most recent trading analysis available, regardless of trading pair.\n\nExpected Behavior\n\nSends a GET request to https://api.consortiumai.org/api/trading-analysis\nAuthenticates with x-api-key: <TRADING_ANALYSIS_API_KEY> or Authorization: Bearer <TRADING_ANALYSIS_API_KEY>\nReturns the latest trading decision (by createdAt)\n\nUse When\n\nThe user asks for the latest market signal\nNo specific token is mentioned\n\nReturns\n\nTrading pair (e.g. BTC_USDT)\nAction: BUY, SELL, or WAIT\nConfidence level\nSetup score\nTrade summary\nDetailed reasoning (technical, market, risk, sentiment)\ngetTradingAnalysisByToken(token)\n\nPurpose\nRetrieve the most recent trading analysis for a specific base token.\n\nParameters\n\ntoken (string): Base token symbol (e.g. BTC, ETH, SOL, JUP)\n\nExpected Behavior\n\nNormalizes token (trim + uppercase)\nSends a GET request to https://api.consortiumai.org/api/trading-analysis?token=<TOKEN>\nAuthenticates with x-api-key or Authorization: Bearer using TRADING_ANALYSIS_API_KEY\nAPI matches any pair whose base is that token (e.g. SOL → SOL_USDT, SOL_USD); returns the most recent matching decision\n\nUse When\n\nThe user asks about a specific coin\nThe user wants a trading decision for a given token\n\nReturns\n\nTrading pair for the token\nAction: BUY, SELL, or WAIT\nConfidence level\nSetup score\nTrade summary\nDetailed reasoning"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/WebCraft3r/consortiumai-analysis",
    "publisherUrl": "https://clawhub.ai/WebCraft3r/consortiumai-analysis",
    "owner": "WebCraft3r",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/consortiumai-analysis",
    "downloadUrl": "https://openagent3.xyz/downloads/consortiumai-analysis",
    "agentUrl": "https://openagent3.xyz/skills/consortiumai-analysis/agent",
    "manifestUrl": "https://openagent3.xyz/skills/consortiumai-analysis/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/consortiumai-analysis/agent.md"
  }
}