jpskill.com
🛠️ 開発・MCP コミュニティ

skill-search-optimizer

ClawdHub/MoltHubでスキルを見つけやすくするために、検索順位を上げたり、説明文を最適化したり、検索の仕組みを理解したりして、スキルの検索性を高めるSkill。

📜 元の英語説明(参考)

Optimize agent skills for discoverability on ClawdHub/MoltHub. Use when improving search ranking, writing descriptions for semantic search, understanding how the registry indexes skills, testing search visibility, or analyzing why a skill isn't being found.

🇯🇵 日本人クリエイター向け解説

一言でいうと

ClawdHub/MoltHubでスキルを見つけやすくするために、検索順位を上げたり、説明文を最適化したり、検索の仕組みを理解したりして、スキルの検索性を高めるSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o skill-search-optimizer.zip https://jpskill.com/download/8242.zip && unzip -o skill-search-optimizer.zip && rm skill-search-optimizer.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8242.zip -OutFile "$d\skill-search-optimizer.zip"; Expand-Archive "$d\skill-search-optimizer.zip" -DestinationPath $d -Force; ri "$d\skill-search-optimizer.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して skill-search-optimizer.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → skill-search-optimizer フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Skill Search Optimizer

ClawdHub レジストリでの発見可能性を高めるためにスキルを最適化します。検索の仕組み、上位表示される説明の書き方、セマンティックマッチングのためのコンテンツ戦略、可視性のテスト、競合とのポジショニングについて説明します。

使用するタイミング

  • 公開されたスキルが関連する検索に表示されない場合
  • 最大限の発見可能性のためにスキルの説明を作成する場合
  • ClawdHub の検索がスキルをどのようにインデックス化し、ランク付けするかを理解する場合
  • スキルの可視性を競合他社と比較する場合
  • 既存のスキルの検索パフォーマンスを向上させる場合

ClawdHub 検索の仕組み

アーキテクチャ

ClawdHub は、キーワードマッチングではなく、ベクトルベースのセマンティック検索を使用します。

ユーザーのクエリ → OpenAI embedding → ベクトル類似度検索 → ランク付けされた結果
             (text-embedding-*)    (Convex vector index)

主な意味合い:

  1. 意味は正確なキーワードよりも重要 — 「container debugging」は「Docker troubleshooting」に一致します
  2. ただし、キーワードも役立ちます — 埋め込みモデルは、高いシグナルを持つ特定の用語をエンコードします
  3. 説明は主要なインデックス付きフィールド — コンテンツは貢献する可能性がありますが、説明が支配的です
  4. 短いクエリは幅広い説明に一致 — 「docker」はコンテナに関するスキル全般に一致します
  5. 特定のクエリは特定の説明に一致 — 「debug crashed Docker container」は、デバッグとクラッシュについて言及しているスキルを優先します

インデックスされるもの

PRIMARY:   description フィールド (frontmatter)
SECONDARY: name/slug フィールド
TERTIARY:  skill content (body markdown) — 埋め込み前に要約または切り捨てられる可能性が高い

description フィールドが検索ランキングです。その他はすべて二次的なものです。

Search API

# 検索が内部的にどのように呼び出されるか
# POST https://clawdhub.com/api/cli/search
# Body: { "query": "ユーザーの検索語句", "limit": 10 }
# Returns: 類似度スコアを持つランク付けされたスキルのリスト

# CLI 検索
npx molthub@latest search "あなたのクエリ"

説明の最適化

上位にランク付けされる説明の構造

# パターン:
# [アクション動詞] + [特定の範囲]。[トリガー 1]、[トリガー 2]、[トリガー 3] の場合に使用します。
# また、[関連トピック] もカバーします。

# 例 (強力):
description: >-
  cron および systemd タイマーを使用して、定期的なタスクをスケジュールおよび管理します。
  cron ジョブの設定、systemd タイマーユニットの作成、
  タイムゾーンを考慮したスケジュールの処理、失敗したジョブの監視、
  再試行パターンの実装、またはスケジュールされたタスクが実行されなかった理由のデバッグを行う場合に使用します。

# その理由:
# - "Schedule and manage recurring tasks" → スケジュールクエリの幅広い一致
# - "cron and systemd timers" → 特定のツールクエリの正確な一致
# - "Use when..." トリガー → 自然言語の質問に一致
# - "debugging why a scheduled task didn't run" → トラブルシューティングクエリに一致

説明の公式

公式 1: ツールに焦点を当てたスキル

description: >-
  [ツール/テクノロジー] で [動詞] します。[タスク 1]、[タスク 2]、[タスク 3] の場合に使用します。
  [サブトピック 1]、[サブトピック 2]、および [サブトピック 3] をカバーします。

例:

description: >-
  Docker コンテナと Compose スタックをデバッグします。検査時に使用します
  コンテナログ、ネットワークの問題の診断、トラブルシューティング
  ビルドの失敗、またはリソースの使用状況の調査。 exec、
  ヘルスチェック、マルチステージビルド、および distroless コンテナをカバーします。

公式 2: パターン/リファレンススキル

description: >-
  [範囲] の [トピック] パターン。[タスク 1]、[タスク 2]、[タスク 3] の場合に使用します。
  また、[関連範囲] もカバーします。

例:

description: >-
  JavaScript、Python、Go、および grep 全体での検証、解析、およびテキスト抽出のための Regex パターン。
  メール、URL、IP、日付、またはカスタム形式の正規表現を作成する場合に使用します。
  また、コードリファクタリングのための先読み、後読み、および検索と置換もカバーします。

公式 3: ワークフロー/プロセススキル

description: >-
  [開始] から [終了] までの [プロセス説明]。[シナリオ 1] の場合に使用します。
  [シナリオ 2]、[シナリオ 3]。

例:

description: >-
  コミットからデプロイまでの CI/CD パイプライン構成。
  GitHub Actions の設定、マトリックスビルドの作成、キャッシュ
  依存関係、Docker イメージの構築、またはデプロイメントシークレットの管理。

キーワード戦略

セマンティック検索は同義語を理解しますが、明示的にすることが役立ちます。

# 正式な用語と一般的な同義語の両方を含める
description: >-
  リモートアクセスのための SSH トンネリングとポートフォワーディング。
  SSH トンネルの作成、ポートフォワードの設定、
  ジャンプホスト (bastion hosts) を介した接続、管理
  SSH キー、または scp および rsync を使用したファイルの転送。

# "tunneling" と "port forwarding" は関連していますが、異なるクエリです
# "jump hosts" と "bastion hosts" は同義語です — 両方を含めます
# "scp and rsync" はファイル転送クエリをキャッチします

含める用語:

  • 主要なツール名: dockergitcurlmake
  • アクション動詞: debugtestdeploymonitorparse
  • 一般的な同義語: container / DockerCI/CD / pipeline / GitHub Actions
  • 問題の説明: debugging why X doesn't worktroubleshooting Y

説明の長さ

短すぎる (< 50 文字):
  "Makefiles で何かを作る"
  → 埋め込みモデルに十分なセマンティックサーフェスがない

適切なスポット (80-200 文字):
  "あらゆるプロジェクトタイプの Makefiles を作成します。ビルドの設定時に使用します
   自動化、マルチターゲットビルドの定義、または Go、
   Python、Docker、および Node.js 用の Make の使用。また、Just と Task もカバーします。"
  → 豊富なセマンティックコンテンツ、複数のマッチアングル

長すぎる (> 250 文字):
  [すべてをリストしようとする長い段落]
  → 検索結果の表示で切り捨てられます
  → 低シグナルワードで埋め込みが希釈されます
  → リストで読みにくい

コンテンツの最適化

本文コンテンツが検索に与える影響

スキル本文 (frontmatter 後の markdown コンテンツ) は、次の 2 つの方法で検索に貢献する可能性があります。

  1. スキルのプレビュー/概要: レジストリは表示のためにコンテンツを抽出または要約する場合があります
  2. 二次的な埋め込みシグナル: フルコンテンツは個別に埋め込まれるか、説明に追加される場合があります

最適化戦略:

  • **Fron

(原文がここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Skill Search Optimizer

Optimize skills for discoverability on the ClawdHub registry. Covers how search works, how to write descriptions that rank well, content strategies for semantic matching, testing visibility, and competitive positioning.

When to Use

  • A published skill isn't appearing in relevant searches
  • Writing a skill description for maximum discoverability
  • Understanding how ClawdHub's search indexes and ranks skills
  • Comparing your skill's visibility against competitors
  • Improving an existing skill's search performance

How ClawdHub Search Works

Architecture

ClawdHub uses vector-based semantic search, not keyword matching:

User query → OpenAI embedding → Vector similarity search → Ranked results
             (text-embedding-*)    (Convex vector index)

Key implications:

  1. Meaning matters more than exact keywords — "container debugging" matches "Docker troubleshooting"
  2. But keywords still help — the embedding model encodes specific terms with high signal
  3. Description is the primary indexed field — content may contribute but description is dominant
  4. Short queries match broad descriptions — "docker" matches skills about containers generally
  5. Specific queries match specific descriptions — "debug crashed Docker container" favors skills that mention debugging and crashes

What Gets Indexed

PRIMARY:   description field (frontmatter)
SECONDARY: name/slug field
TERTIARY:  skill content (body markdown) — likely summarized or truncated before embedding

The description field is your search ranking. Everything else is secondary.

Search API

# How search is called internally
# POST https://clawdhub.com/api/cli/search
# Body: { "query": "user search terms", "limit": 10 }
# Returns: ranked list of skills with similarity scores

# CLI search
npx molthub@latest search "your query"

Description Optimization

The anatomy of a high-ranking description

# Pattern:
# [Action verb] + [specific scope]. Use when [trigger 1], [trigger 2], [trigger 3].
# Also covers [related topic].

# Example (strong):
description: >-
  Schedule and manage recurring tasks with cron and systemd timers.
  Use when setting up cron jobs, writing systemd timer units,
  handling timezone-aware scheduling, monitoring failed jobs,
  implementing retry patterns, or debugging why a scheduled task didn't run.

# Why it works:
# - "Schedule and manage recurring tasks" → broad match for scheduling queries
# - "cron and systemd timers" → exact match for specific tool queries
# - "Use when..." triggers → matches natural-language questions
# - "debugging why a scheduled task didn't run" → matches troubleshooting queries

Description formulas

Formula 1: Tool-focused skill

description: >-
  [Verb] with [tool/technology]. Use when [task 1], [task 2], [task 3].
  Covers [sub-topic 1], [sub-topic 2], and [sub-topic 3].

Example:

description: >-
  Debug Docker containers and Compose stacks. Use when inspecting
  container logs, diagnosing networking issues, troubleshooting
  build failures, or investigating resource usage. Covers exec,
  health checks, multi-stage builds, and distroless containers.

Formula 2: Pattern/reference skill

description: >-
  [Topic] patterns for [scope]. Use when [task 1], [task 2], [task 3].
  Also covers [related scope].

Example:

description: >-
  Regex patterns for validation, parsing, and text extraction across
  JavaScript, Python, Go, and grep. Use when writing regex for emails,
  URLs, IPs, dates, or custom formats. Also covers lookahead,
  lookbehind, and search-and-replace for code refactoring.

Formula 3: Workflow/process skill

description: >-
  [Process description] from [start] to [end]. Use when [scenario 1],
  [scenario 2], [scenario 3].

Example:

description: >-
  CI/CD pipeline configuration from commit to deployment. Use when
  setting up GitHub Actions, creating matrix builds, caching
  dependencies, building Docker images, or managing deployment secrets.

Keyword strategy

Semantic search understands synonyms, but being explicit helps:

# Include both the formal term AND common synonyms
description: >-
  SSH tunneling and port forwarding for remote access.
  Use when creating SSH tunnels, setting up port forwards,
  connecting through jump hosts (bastion hosts), managing
  SSH keys, or transferring files with scp and rsync.

# "tunneling" and "port forwarding" are related but distinct queries
# "jump hosts" and "bastion hosts" are synonyms — include both
# "scp and rsync" catches file transfer queries

Terms to include:

  • Primary tool names: docker, git, curl, make
  • Action verbs: debug, test, deploy, monitor, parse
  • Common synonyms: container / Docker, CI/CD / pipeline / GitHub Actions
  • Problem descriptions: debugging why X doesn't work, troubleshooting Y

Description length

TOO SHORT (< 50 chars):
  "Make things with Makefiles"
  → Not enough semantic surface for the embedding model

SWEET SPOT (80-200 chars):
  "Write Makefiles for any project type. Use when setting up build
   automation, defining multi-target builds, or using Make for Go,
   Python, Docker, and Node.js. Also covers Just and Task."
  → Rich semantic content, multiple match angles

TOO LONG (> 250 chars):
  [Long paragraph trying to list everything]
  → Gets truncated in search results display
  → Dilutes the embedding with low-signal words
  → Harder to read in listings

Content Optimization

How body content affects search

The skill body (markdown content after frontmatter) likely contributes to search in two ways:

  1. Skill preview/summary: The registry may extract or summarize content for display
  2. Secondary embedding signal: Full content may be embedded separately or appended to description

Optimization strategy:

  • Front-load important terms in the first paragraph after the title
  • Use headings that match search queries — "## Encode and Decode" matches better than "## Section 2"
  • Repeat key terms naturally throughout the document (don't stuff, but don't avoid them either)
# GOOD: Heading matches likely search query
## Port Forwarding
## Key Management
## Connection Debugging

# BAD: Generic headings with no search value
## Getting Started
## Advanced Usage
## Miscellaneous

First paragraph optimization

The first paragraph after the title is prime search real estate:

# GOOD
# SSH Tunnel

Create and manage SSH tunnels for secure remote access. Covers local,
remote, and dynamic port forwarding, jump hosts, key management,
agent forwarding, and file transfers with scp and rsync.

# BAD
# SSH Tunnel

This skill provides information about SSH.

Testing Search Visibility

Manual testing

# Test with the exact queries users would type

# Broad query (should your skill appear?)
npx molthub@latest search "docker"
npx molthub@latest search "testing"
npx molthub@latest search "build automation"

# Specific query (should your skill rank #1?)
npx molthub@latest search "debug docker container"
npx molthub@latest search "write makefile for go project"
npx molthub@latest search "cron job not running"

# Problem-oriented query (does your skill match troubleshooting?)
npx molthub@latest search "container networking not working"
npx molthub@latest search "why is my cron job not executing"

# Synonym query (does your skill match alternative terms?)
npx molthub@latest search "bastion host" # should match ssh-tunnel
npx molthub@latest search "scheduled task" # should match cron-scheduling

Test matrix

Build a test matrix for your skill:

SEARCH VISIBILITY MATRIX
Skill: [your-skill-slug]

Query                              | Appears? | Rank | Competitor
─────────────────────────────────────────────────────────────────
[broad term]                       | Y/N      | #__  | [who ranks above]
[specific use case]                | Y/N      | #__  | [who ranks above]
[problem/troubleshooting query]    | Y/N      | #__  | [who ranks above]
[synonym for main topic]           | Y/N      | #__  | [who ranks above]
[related but different topic]      | Y/N      | #__  | [expected?]

TARGET: Appear in top 3 for specific queries, top 10 for broad queries

Iterative improvement

# 1. Publish initial version
npx molthub@latest publish ./skills/my-skill \
  --slug my-skill --name "My Skill" --version 1.0.0

# 2. Test search visibility
npx molthub@latest search "primary query"
npx molthub@latest search "secondary query"

# 3. If ranking is poor, update the description
# Edit SKILL.md frontmatter

# 4. Publish updated version
npx molthub@latest publish ./skills/my-skill \
  --slug my-skill --name "My Skill" --version 1.0.1 \
  --changelog "Improve description for search visibility"

# 5. Re-test (embeddings update on publish)
npx molthub@latest search "primary query"

Competitive Positioning

Analyzing competing skills

# Find skills in your category
npx molthub@latest search "your topic"

# For each competing skill:
# 1. Install it
npx molthub@latest install competitor-skill

# 2. Read the description
head -10 skills/competitor-skill/SKILL.md

# 3. Compare:
#    - Does their description cover queries yours doesn't?
#    - Are they using terms you should add?
#    - What's their content depth vs. yours?

Differentiation strategies

STRATEGY 1: Broader scope
  Competitor covers Docker. You cover Docker + Podman + containerd.
  Your description mentions all three → matches more queries.

STRATEGY 2: Deeper specificity
  Competitor covers "git commands". You cover "git workflows" with
  specific scenarios like bisect, worktree, and reflog recovery.
  Your description matches specific troubleshooting queries.

STRATEGY 3: Problem-oriented framing
  Competitor: "Docker container management"
  You: "Debug Docker containers — logs, networking, crashes, resource issues"
  Problem-oriented descriptions match how people actually search.

STRATEGY 4: Cross-tool coverage
  Competitor covers Make only. You cover Make + Just + Task.
  Your description mentions all three → broader match surface.

Filling gaps vs. competing head-on

MARKET ANALYSIS:

1. Search for your intended topic
2. Count results:
   0 results → Blue ocean. Any reasonable skill will rank #1.
   1-2 results → Low competition. A better skill wins easily.
   3+ results → Competitive. Need clear differentiation.

For competitive categories, check the existing skills' quality:
- Are their descriptions optimized? (Many aren't)
- Are their examples working? (Test a few)
- Do they cover the full scope? (Often they're narrow)

A well-written skill with an optimized description will outrank
a mediocre skill even in a competitive category.

Registry Dynamics

Search behavior patterns

COMMON SEARCH PATTERNS:

1. Tool name: "docker", "git", "terraform"
   → Match with explicit tool name in description

2. Task description: "deploy to production", "parse CSV"
   → Match with action verbs and task phrases

3. Problem statement: "container not starting", "cron job failed"
   → Match with troubleshooting language in description

4. Comparison: "jest vs vitest", "make vs just"
   → Match by mentioning multiple tools in description

5. How-to: "how to set up CI/CD", "how to forward ports"
   → Match with "Use when setting up..." pattern

Timing and freshness

- New skills get indexed immediately on publish
- Updated skills get re-indexed on version bump
- No known freshness bias (older skills don't rank lower)
- The registry is young — early publishers have first-mover advantage
- Slug ownership is permanent — claim good slugs early

Optimization Checklist

PRE-PUBLISH SEARCH OPTIMIZATION:

[ ] Description follows the [Action] + [Scope] + [Use when] pattern
[ ] Description is 80-200 characters
[ ] Primary tool/topic names are in the description explicitly
[ ] Common synonyms are included (jump host / bastion host)
[ ] Troubleshooting/problem language is included
[ ] Action verbs match how users search (debug, test, deploy, parse)
[ ] First paragraph after title reinforces key terms
[ ] Section headings use searchable phrases, not generic labels
[ ] Slug is descriptive and matches the primary search term
[ ] No competing skill has a clearly better description for the same queries

POST-PUBLISH VERIFICATION:

[ ] Skill appears in top 3 for its primary specific query
[ ] Skill appears in top 10 for its broad category query
[ ] Skill appears for at least one synonym/alternative query
[ ] Skill appears for at least one problem-oriented query

Tips

  • The description field is worth more than the entire rest of the skill for search ranking. Spend 30% of your optimization effort on those 1-2 sentences.
  • "Use when..." phrases in descriptions are powerful because they match how users naturally frame searches: "I need something for when X happens."
  • Include both the specific tool name AND the general category. "Docker containers" matches both "docker" queries and "container" queries. Just "Docker" misses people searching for "container debugging."
  • Problem-oriented language ("debugging why X fails", "troubleshooting Y") matches a huge category of searches that purely descriptive skills miss entirely.
  • Test with at least 5 different search queries before publishing. If your skill doesn't appear for its own primary topic, the description needs work.
  • Slug names contribute to search matching. container-debug is better than cd-tool because the slug itself contains searchable terms.
  • Don't optimize for queries your skill can't actually answer. Ranking for a query and then disappointing the user is worse than not ranking at all — it leads to reports and uninstalls.
  • The registry is young. First-mover advantage is real — claim descriptive slugs and publish quality content now while competition is low.
  • Re-publish with a version bump after optimizing your description. The embedding is regenerated on each publish, so description changes take effect immediately.