{
  "schemaVersion": "1.0",
  "item": {
    "slug": "fred-navigator",
    "name": "FRED-Navigator",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/kiszly/fred-navigator",
    "canonicalUrl": "https://clawhub.ai/kiszly/fred-navigator",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/fred-navigator",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=fred-navigator",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "requirements.txt",
      "README.md",
      "SKILL.md",
      "scripts/build_paths.py",
      "scripts/fred_query.py",
      "references/category_paths.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. 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/fred-navigator"
    },
    "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/fred-navigator",
    "agentPageUrl": "https://openagent3.xyz/skills/fred-navigator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fred-navigator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fred-navigator/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": "Purpose",
        "body": "Provide a reliable workflow to navigate FRED categories and series, with support for:\n\nDirect category_id\nDirect series_id\nNatural-language query → intent recognition → double validation"
      },
      {
        "title": "Inputs",
        "body": "category_id: FRED category id\nseries_id: FRED series id\nquery: natural language request\nlimit: number of candidates to return (default 5)\napi_key: read from environment FRED_API_KEY only"
      },
      {
        "title": "Required Resources",
        "body": "references/fred_categories_tree.json\nreferences/fred_categories_flat.json\nOptional: references/category_paths.json (precomputed)\nOptional: references/synonyms.json\nHelper script: scripts/fred_query.py\nPath builder: scripts/build_paths.py"
      },
      {
        "title": "Optional Resource Structure Notes",
        "body": "references/category_paths.json format:\n\n{ \"category_id\": { \"id\": <int>, \"name\": \"<str>\", \"path\": \"<str>\" }, ... }\n\n\nreferences/synonyms.json format:\n\n{ \"concept\": [\"alias1\", \"alias2\", ...], ... }"
      },
      {
        "title": "1. Category Exploration",
        "body": "Load fred_categories_tree.json for hierarchical browsing.\nIf user provides category_id, validate it exists.\nIf user provides category_name, fuzzy match against flat names and return candidates."
      },
      {
        "title": "2. Series Discovery",
        "body": "Use search_by_category(category_id) to list available series.\nPrefer scripts/fred_query.py category <id> for consistent output.\nReturn key columns:\n\nid, title, frequency, units, seasonal_adjustment, last_updated."
      },
      {
        "title": "3. Series Retrieval",
        "body": "Use get_series(series_id) for time series.\nUse get_series_info(series_id) for metadata.\nPrefer scripts/fred_query.py series <id> and scripts/fred_query.py series-info <id>.\nProvide:\n\ndata head/tail\nmissing counts\nlatest value and date"
      },
      {
        "title": "4. Natural Language Query",
        "body": "4.1 Intent Identification (Top-K)\n\nUse the IDE agent (Codex) to interpret the natural-language intent.\nSelect the single best-matching category.\nIf confidence is low, ask the user to confirm the category before proceeding.\nUse references/category_paths.json and references/synonyms.json as supporting context if available.\n\n4.2 Double Validation\n\nStructural validation\n\nCandidate must exist in fred_categories_tree.json.\nPass if at least one:\n\nchildren non-empty\nsearch_by_category(id) returns >= 1 series\nPrefer scripts/fred_query.py check-category <id> for a quick check\n\nSemantic validation (agent)\n\nCompare query with candidate name/path.\nReturn pass/fail or numeric relevance score.\n\n4.3 Decision\n\nIf structural + semantic validation both pass → accept category.\nOtherwise:\n\nreturn Top-5 candidates\nask user to choose one explicitly"
      },
      {
        "title": "Failure Handling",
        "body": "Always provide Top-5 candidates when uncertain.\nNever proceed to series retrieval if category validation fails."
      },
      {
        "title": "Notes",
        "body": "Do not hardcode API keys.\nKeep heavy reference data in references/, not in this file.\nWhen running Python functions for querying, execute them inside the sandbox environment."
      },
      {
        "title": "Maintenance",
        "body": "Update workflow or constraints: edit SKILL.md.\nUpdate category data: replace files in references/.\nImprove natural-language matching: add or edit references/synonyms.json (key → list of related terms).\nRegenerate precomputed paths (optional): run scripts/build_paths.py.\nAdd helper scripts (optional): place in scripts/ and document usage here."
      }
    ],
    "body": "FRED Navigator\nPurpose\n\nProvide a reliable workflow to navigate FRED categories and series, with support for:\n\nDirect category_id\nDirect series_id\nNatural-language query → intent recognition → double validation\nInputs\ncategory_id: FRED category id\nseries_id: FRED series id\nquery: natural language request\nlimit: number of candidates to return (default 5)\napi_key: read from environment FRED_API_KEY only\nRequired Resources\nreferences/fred_categories_tree.json\nreferences/fred_categories_flat.json\nOptional: references/category_paths.json (precomputed)\nOptional: references/synonyms.json\nHelper script: scripts/fred_query.py\nPath builder: scripts/build_paths.py\nOptional Resource Structure Notes\nreferences/category_paths.json format:\n{ \"category_id\": { \"id\": <int>, \"name\": \"<str>\", \"path\": \"<str>\" }, ... }\nreferences/synonyms.json format:\n{ \"concept\": [\"alias1\", \"alias2\", ...], ... }\nWorkflow\n1. Category Exploration\nLoad fred_categories_tree.json for hierarchical browsing.\nIf user provides category_id, validate it exists.\nIf user provides category_name, fuzzy match against flat names and return candidates.\n2. Series Discovery\nUse search_by_category(category_id) to list available series.\nPrefer scripts/fred_query.py category <id> for consistent output.\nReturn key columns:\nid, title, frequency, units, seasonal_adjustment, last_updated.\n3. Series Retrieval\nUse get_series(series_id) for time series.\nUse get_series_info(series_id) for metadata.\nPrefer scripts/fred_query.py series <id> and scripts/fred_query.py series-info <id>.\nProvide:\ndata head/tail\nmissing counts\nlatest value and date\n4. Natural Language Query\n4.1 Intent Identification (Top-K)\nUse the IDE agent (Codex) to interpret the natural-language intent.\nSelect the single best-matching category.\nIf confidence is low, ask the user to confirm the category before proceeding.\nUse references/category_paths.json and references/synonyms.json as supporting context if available.\n4.2 Double Validation\n\nStructural validation\n\nCandidate must exist in fred_categories_tree.json.\nPass if at least one:\nchildren non-empty\nsearch_by_category(id) returns >= 1 series\nPrefer scripts/fred_query.py check-category <id> for a quick check\n\nSemantic validation (agent)\n\nCompare query with candidate name/path.\nReturn pass/fail or numeric relevance score.\n4.3 Decision\nIf structural + semantic validation both pass → accept category.\nOtherwise:\nreturn Top-5 candidates\nask user to choose one explicitly\nFailure Handling\nAlways provide Top-5 candidates when uncertain.\nNever proceed to series retrieval if category validation fails.\nNotes\nDo not hardcode API keys.\nKeep heavy reference data in references/, not in this file.\nWhen running Python functions for querying, execute them inside the sandbox environment.\nMaintenance\nUpdate workflow or constraints: edit SKILL.md.\nUpdate category data: replace files in references/.\nImprove natural-language matching: add or edit references/synonyms.json (key → list of related terms).\nRegenerate precomputed paths (optional): run scripts/build_paths.py.\nAdd helper scripts (optional): place in scripts/ and document usage here."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/kiszly/fred-navigator",
    "publisherUrl": "https://clawhub.ai/kiszly/fred-navigator",
    "owner": "kiszly",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/fred-navigator",
    "downloadUrl": "https://openagent3.xyz/downloads/fred-navigator",
    "agentUrl": "https://openagent3.xyz/skills/fred-navigator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fred-navigator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fred-navigator/agent.md"
  }
}