{
  "schemaVersion": "1.0",
  "item": {
    "slug": "fitcheck-skill-search",
    "name": "Skill Search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/at6132/fitcheck-skill-search",
    "canonicalUrl": "https://clawhub.ai/at6132/fitcheck-skill-search",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/fitcheck-skill-search",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=fitcheck-skill-search",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "index/skills_index.json",
      "scripts/embeddings.py",
      "scripts/skill_search.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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/fitcheck-skill-search"
    },
    "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/fitcheck-skill-search",
    "agentPageUrl": "https://openagent3.xyz/skills/fitcheck-skill-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fitcheck-skill-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fitcheck-skill-search/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": "Skill Search V1.1",
        "body": "Find skills using keyword, semantic, or AI-powered task matching."
      },
      {
        "title": "Overview",
        "body": "This skill provides three search modes:\n\nKeyword Search (Fast BM25) — Match skill names and descriptions\nSemantic Search (Embeddings) — Find skills by meaning/concept similarity\nLLM Task Matching (AI-powered) — Describe your task, get skill recommendations"
      },
      {
        "title": "When to Use",
        "body": "Before starting a new task — check if a relevant skill exists\nWhen user asks for capabilities — \"what can you do with PDFs?\"\nTo avoid context bloat — find the right skill first, then load only that one\nWhen unsure which skill applies — use semantic or LLM matching for fuzzy matches"
      },
      {
        "title": "1. Keyword Search (Fast)",
        "body": "./scripts/skill_search.py keyword \"weather\"\n./scripts/skill_search.py keyword \"pdf\"\n./scripts/skill_search.py keyword \"image generation\""
      },
      {
        "title": "2. Semantic Search (Meaning-based)",
        "body": "./scripts/skill_search.py semantic \"automate web browsing\"\n./scripts/skill_search.py semantic \"create images with AI\"\n./scripts/skill_search.py semantic \"search my past conversations\""
      },
      {
        "title": "3. LLM Task Matching (AI-powered)",
        "body": "./scripts/skill_search.py suggest \"I need to transcribe a podcast episode\"\n./scripts/skill_search.py suggest \"Help me generate product photos\"\n./scripts/skill_search.py suggest \"Search through my old emails\""
      },
      {
        "title": "4. List All Skills",
        "body": "./scripts/skill_search.py list"
      },
      {
        "title": "Usage Pattern",
        "body": "Search: Find skills matching your need (keyword/semantic/LLM)\nPreview: Read SKILL.md metadata (description, triggers)\nLoad: If it's the right skill, read full body and execute"
      },
      {
        "title": "Example Workflows",
        "body": "User: \"I need to generate some images\"\n\nAgent: Uses semantic search\n\n./scripts/skill_search.py semantic \"generate images AI\"\n\nOutput:\n\nTop matches (semantic):\n1. openai-image-gen (0.87) — Batch-generate images via OpenAI Images API\n2. browser (0.65) — Control web browser via Playwright\n\nAgent: Reads SKILL.md, confirms fit, executes\n\nUser: \"What skill should I use for transcribing audio?\"\n\nAgent: Uses LLM suggest\n\n./scripts/skill_search.py suggest \"transcribe audio\"\n\nOutput:\n\nRecommended skills for \"transcribe audio\":\n\n1. openai-whisper-api — Transcribe audio via OpenAI Audio Transcriptions API (Whisper)\n   Confidence: High\n   Reason: Task explicitly matches skill purpose\n\n2. sag — ElevenLabs text-to-speech (inverse operation, may be related)\n   Confidence: Low\n   Reason: Related to audio processing but output not input"
      },
      {
        "title": "Search Index",
        "body": "The skill maintains a local search index at:\n\n~/.openclaw/workspace/skills/skill-search/index/skills_index.json — Skill metadata\n~/.openclaw/workspace/skills/skill-search/index/embeddings.json — Semantic embeddings (lazy-loaded)\n\nIndexing happens automatically on first semantic search if no index exists.\n\nForce reindex:\n\n./scripts/skill_search.py index"
      },
      {
        "title": "scripts/",
        "body": "skill_search.py — Main search interface (keyword/semantic/LLM)\nindexer.py — Build/update search index\nembeddings.py — Embedding generation (local miniLM)"
      },
      {
        "title": "index/",
        "body": "skills_index.json — Searchable skill metadata\nembeddings_cache.json — Pre-computed embeddings for semantic search"
      }
    ],
    "body": "Skill Search V1.1\n\nFind skills using keyword, semantic, or AI-powered task matching.\n\nOverview\n\nThis skill provides three search modes:\n\nKeyword Search (Fast BM25) — Match skill names and descriptions\nSemantic Search (Embeddings) — Find skills by meaning/concept similarity\nLLM Task Matching (AI-powered) — Describe your task, get skill recommendations\nWhen to Use\nBefore starting a new task — check if a relevant skill exists\nWhen user asks for capabilities — \"what can you do with PDFs?\"\nTo avoid context bloat — find the right skill first, then load only that one\nWhen unsure which skill applies — use semantic or LLM matching for fuzzy matches\nSearch Modes\n1. Keyword Search (Fast)\n./scripts/skill_search.py keyword \"weather\"\n./scripts/skill_search.py keyword \"pdf\"\n./scripts/skill_search.py keyword \"image generation\"\n\n2. Semantic Search (Meaning-based)\n./scripts/skill_search.py semantic \"automate web browsing\"\n./scripts/skill_search.py semantic \"create images with AI\"\n./scripts/skill_search.py semantic \"search my past conversations\"\n\n3. LLM Task Matching (AI-powered)\n./scripts/skill_search.py suggest \"I need to transcribe a podcast episode\"\n./scripts/skill_search.py suggest \"Help me generate product photos\"\n./scripts/skill_search.py suggest \"Search through my old emails\"\n\n4. List All Skills\n./scripts/skill_search.py list\n\nUsage Pattern\nSearch: Find skills matching your need (keyword/semantic/LLM)\nPreview: Read SKILL.md metadata (description, triggers)\nLoad: If it's the right skill, read full body and execute\nExample Workflows\n\nUser: \"I need to generate some images\"\n\nAgent: Uses semantic search\n\n./scripts/skill_search.py semantic \"generate images AI\"\n\n\nOutput:\n\nTop matches (semantic):\n1. openai-image-gen (0.87) — Batch-generate images via OpenAI Images API\n2. browser (0.65) — Control web browser via Playwright\n\n\nAgent: Reads SKILL.md, confirms fit, executes\n\nUser: \"What skill should I use for transcribing audio?\"\n\nAgent: Uses LLM suggest\n\n./scripts/skill_search.py suggest \"transcribe audio\"\n\n\nOutput:\n\nRecommended skills for \"transcribe audio\":\n\n1. openai-whisper-api — Transcribe audio via OpenAI Audio Transcriptions API (Whisper)\n   Confidence: High\n   Reason: Task explicitly matches skill purpose\n\n2. sag — ElevenLabs text-to-speech (inverse operation, may be related)\n   Confidence: Low\n   Reason: Related to audio processing but output not input\n\nSearch Index\n\nThe skill maintains a local search index at:\n\n~/.openclaw/workspace/skills/skill-search/index/skills_index.json — Skill metadata\n~/.openclaw/workspace/skills/skill-search/index/embeddings.json — Semantic embeddings (lazy-loaded)\n\nIndexing happens automatically on first semantic search if no index exists.\n\nForce reindex:\n\n./scripts/skill_search.py index\n\nResources\nscripts/\nskill_search.py — Main search interface (keyword/semantic/LLM)\nindexer.py — Build/update search index\nembeddings.py — Embedding generation (local miniLM)\nindex/\nskills_index.json — Searchable skill metadata\nembeddings_cache.json — Pre-computed embeddings for semantic search"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/at6132/fitcheck-skill-search",
    "publisherUrl": "https://clawhub.ai/at6132/fitcheck-skill-search",
    "owner": "at6132",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/fitcheck-skill-search",
    "downloadUrl": "https://openagent3.xyz/downloads/fitcheck-skill-search",
    "agentUrl": "https://openagent3.xyz/skills/fitcheck-skill-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fitcheck-skill-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fitcheck-skill-search/agent.md"
  }
}