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:
CODEBLOCK0
Key implications:
- 1. Meaning matters more than exact keywords — "container debugging" matches "Docker troubleshooting"
- But keywords still help — the embedding model encodes specific terms with high signal
- Description is the primary indexed field — content may contribute but description is dominant
- Short queries match broad descriptions — "docker" matches skills about containers generally
- Specific queries match specific descriptions — "debug crashed Docker container" favors skills that mention debugging and crashes
What Gets Indexed
CODEBLOCK1
Search API
CODEBLOCK2
Description Optimization
The anatomy of a high-ranking description
CODEBLOCK3
Description formulas
Formula 1: Tool-focused skill
CODEBLOCK4
Example:
CODEBLOCK5
Formula 2: Pattern/reference skill
CODEBLOCK6
Example:
CODEBLOCK7
Formula 3: Workflow/process skill
CODEBLOCK8
Example:
CODEBLOCK9
Keyword strategy
Semantic search understands synonyms, but being explicit helps:
CODEBLOCK10
Terms to include:
- - Primary tool names:
docker, git, curl, INLINECODE3 - Action verbs:
debug, test, deploy, monitor, INLINECODE8 - Common synonyms:
container / Docker, CI/CD / pipeline / INLINECODE13 - Problem descriptions:
debugging why X doesn't work, INLINECODE15
Description length
CODEBLOCK11
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
- 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)
CODEBLOCK12
First paragraph optimization
The first paragraph after the title is prime search real estate:
CODEBLOCK13
Testing Search Visibility
Manual testing
CODEBLOCK14
Test matrix
Build a test matrix for your skill:
CODEBLOCK15
Iterative improvement
CODEBLOCK16
Competitive Positioning
Analyzing competing skills
CODEBLOCK17
Differentiation strategies
CODEBLOCK18
Filling gaps vs. competing head-on
CODEBLOCK19
Registry Dynamics
Search behavior patterns
CODEBLOCK20
Timing and freshness
CODEBLOCK21
Optimization Checklist
CODEBLOCK22
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.
技能搜索优化器
优化技能在ClawdHub注册表中的可发现性。涵盖搜索工作原理、如何编写排名靠前的描述、语义匹配的内容策略、测试可见性以及竞争定位。
使用时机
- - 已发布的技能未出现在相关搜索中
- 编写技能描述以最大化可发现性
- 了解ClawdHub如何索引和排名技能
- 对比你的技能与竞争对手的可见性
- 改进现有技能的搜索表现
ClawdHub搜索工作原理
架构
ClawdHub使用基于向量的语义搜索,而非关键词匹配:
用户查询 → OpenAI嵌入 → 向量相似度搜索 → 排序结果
(text-embedding-*) (Convex向量索引)
关键影响:
- 1. 含义比精确关键词更重要 — 容器调试匹配Docker故障排查
- 但关键词仍有帮助 — 嵌入模型会编码具有高信号的具体术语
- 描述是主要索引字段 — 内容可能有贡献,但描述占主导地位
- 短查询匹配宽泛描述 — docker匹配关于容器的技能
- 具体查询匹配具体描述 — 调试崩溃的Docker容器偏向提到调试和崩溃的技能
被索引的内容
主要: 描述字段(前置元数据)
次要: 名称/别名字段
第三: 技能内容(主体Markdown)— 可能在嵌入前被摘要或截断
描述字段就是你的搜索排名。其他一切均为次要。
搜索API
bash
内部调用搜索的方式
POST https://clawdhub.com/api/cli/search
请求体:{ query: 用户搜索词, limit: 10 }
返回:按相似度排序的技能列表
CLI搜索
npx molthub@latest search 你的查询
描述优化
高排名描述的构成
yaml
模式:
[动作动词] + [具体范围]。适用于[触发场景1]、[触发场景2]、[触发场景3]。
也涵盖[相关主题]。
示例(强):
description: >-
使用cron和systemd定时器调度和管理重复任务。
适用于设置cron作业、编写systemd定时器单元、
处理时区感知调度、监控失败作业、
实现重试模式,或调试定时任务未运行的原因。
为什么有效:
- 调度和管理重复任务 → 宽泛匹配调度相关查询
- cron和systemd定时器 → 精确匹配特定工具查询
- 适用于...触发场景 → 匹配自然语言问题
- 调试定时任务未运行的原因 → 匹配故障排查查询
描述公式
公式1:工具聚焦型技能
yaml
description: >-
[动词]使用[工具/技术]。适用于[任务1]、[任务2]、[任务3]。
涵盖[子主题1]、[子主题2]和[子主题3]。
示例:
yaml
description: >-
调试Docker容器和Compose堆栈。适用于检查
容器日志、诊断网络问题、排查
构建失败,或调查资源使用情况。涵盖exec、
健康检查、多阶段构建和精简容器。
公式2:模式/参考型技能
yaml
description: >-
[主题]模式用于[范围]。适用于[任务1]、[任务2]、[任务3]。
也涵盖[相关范围]。
示例:
yaml
description: >-
用于JavaScript、Python、Go和grep中验证、解析和文本提取的正则表达式模式。
适用于为电子邮件、URL、IP、日期或自定义格式编写正则表达式。
也涵盖前瞻、后顾和代码重构的搜索替换。
公式3:工作流/流程型技能
yaml
description: >-
[流程描述]从[开始]到[结束]。适用于[场景1]、
[场景2]、[场景3]。
示例:
yaml
description: >-
从提交到部署的CI/CD流水线配置。适用于
设置GitHub Actions、创建矩阵构建、缓存
依赖项、构建Docker镜像或管理部署密钥。
关键词策略
语义搜索理解同义词,但明确表达仍有帮助:
yaml
同时包含正式术语和常见同义词
description: >-
用于远程访问的SSH隧道和端口转发。
适用于创建SSH隧道、设置端口转发、
通过跳板机(堡垒主机)连接、管理
SSH密钥,或使用scp和rsync传输文件。
tunneling和port forwarding是相关但不同的查询
jump hosts和bastion hosts是同义词 — 两者都包含
scp和rsync捕获文件传输查询
应包含的术语:
- - 主要工具名称:docker、git、curl、make
- 动作动词:debug、test、deploy、monitor、parse
- 常见同义词:container/Docker、CI/CD/pipeline/GitHub Actions
- 问题描述:调试X不工作的原因、排查Y
描述长度
过短(< 50字符):
用Makefile做事情
→ 嵌入模型的语义表面不足
最佳范围(80-200字符):
为任何项目类型编写Makefile。适用于设置构建
自动化、定义多目标构建,或为Go、Python、Docker
和Node.js使用Make。也涵盖Just和Task。
→ 丰富的语义内容,多个匹配角度
过长(> 250字符):
[试图列举所有内容的长段落]
→ 在搜索结果展示中被截断
→ 用低信号词稀释嵌入
→ 在列表中难以阅读
内容优化
正文内容如何影响搜索
技能主体(前置元数据后的Markdown内容)可能通过两种方式影响搜索:
- 1. 技能预览/摘要:注册表可能提取或摘要内容用于展示
- 次要嵌入信号:完整内容可能被单独嵌入或附加到描述后
优化策略:
- - 在标题后的第一段前置重要术语
- 使用匹配搜索查询的标题 — ## 编码和解码比## 第二节匹配更好
- 在文档中自然地重复关键术语(不要堆砌,但也不要刻意回避)
markdown
好:标题匹配可能的搜索查询
端口转发
密钥管理
连接调试
差:无搜索价值的通用标题
入门指南
高级用法
杂项
第一段优化
标题后的第一段是搜索的黄金位置:
markdown
好
SSH隧道
创建和管理用于安全远程访问的SSH隧道。涵盖本地、
远程和动态端口转发、跳板机、密钥管理、
代理转发以及使用scp和rsync的文件传输。
差
SSH隧道
本技能提供关于SSH的信息。
测试搜索可见性
手动测试
bash
使用用户可能输入的确切查询进行测试
宽泛查询(你的技能应该出现吗?)
npx molthub@latest search docker
npx molthub@latest search testing
npx molthub@latest search build automation
具体查询(你的技能应该排名第一吗?)
npx molthub@latest search debug docker container
npx molthub@latest search write makefile for go project
npx molthub@latest search cron job not running
问题导向查询(你的技能匹配故障排查吗?)
npx molthub@latest search container networking not working
npx molthub@latest search why is my cron job not executing
同义词查询(你的技能匹配替代术语吗?)
npx molthub@latest search bastion host # 应匹配ssh-tunnel
npx molthub@latest search scheduled task # 应匹配cron-scheduling
测试矩阵
为你的技能构建测试矩阵:
搜索可见性矩阵
技能:[你的技能别名]
查询 | 出现? | 排名 | 竞争对手
─────────────────────────────────────────────────────────────────
[宽泛术语] | 是/否 | # | [谁排名更高]
[具体用例] | 是/否 | # | [谁排名更高]
[问题/故障排查查询] | 是/否 | # | [谁排名更高]
[主要主题的同义词] | 是/否 | # | [谁排名更高]
[相关但不同的主题] | 是/否 | # | [预期中?]
目标:具体查询进入前3,宽泛查询进入前10