Initial commit with translated description

This commit is contained in:
2026-03-29 10:14:38 +08:00
commit 088f9a4d04
9 changed files with 924 additions and 0 deletions

135
search.md Normal file
View File

@@ -0,0 +1,135 @@
# Search Strategies — Skill Finder
Reference for skill finder, find skills, Skills.sh search, and ClawHub search requests.
## Search Sources
| Source | Search | Inspect | Install | Notes |
|--------|--------|---------|---------|-------|
| `ClawHub Search` | `npx clawhub search "query"` | `npx clawhub inspect <slug>` | `npx clawhub install <slug>` | Best for curated registry results and built-in metadata |
| `Skills.sh Search` | `npx skills find [query]` | Inspect returned page/repo | `npx skills add <owner/repo@skill>` | Best for wider open-ecosystem discovery |
Default mode is `both`. Search a single source only if `~/skill-finder/memory.md` says `sources: clawhub` or `sources: skills.sh`, or the user overrides it.
## Commands
```bash
# ClawHub
npx clawhub search "query"
npx clawhub search "react testing"
npx clawhub inspect <slug>
npx clawhub inspect <slug> --files # see all files
npx clawhub install <slug>
npx clawhub explore
npx clawhub list
# Skills.sh / skills CLI
npx skills find
npx skills find react performance
npx skills add vercel-labs/agent-skills@frontend-design
npx skills list
npx skills check
npx skills update
```
## Dual-Source Search Flow
For a new query:
1. Read `~/skill-finder/memory.md`
2. Check `Status.sources`
3. If mode is `both`, search both ecosystems with the same intent
4. Compare the strongest matches together before recommending
5. Keep the source and exact install command attached to each result
## Trigger Recognition
Search even when the user does not explicitly say "skill":
| User signal | What it usually means |
|-------------|------------------------|
| "How do I do X?" | A skill may already solve this |
| "Can you do this?" | Possible capability gap |
| "There must be a better way" | Search for a specialized workflow |
| "What should I install?" | Direct skill discovery request |
| "This current skill is weak" | Replacement search |
## Search by Need, Not Name
User says "I need help with PDFs" — don't just search "pdf".
Think about what they actually need:
| User Need | Better Search |
|-----------|--------------|
| Edit PDFs | `npx clawhub search "pdf edit"` + `npx skills find pdf edit` |
| Create PDFs | `npx clawhub search "pdf create"` + `npx skills find pdf generate` |
| Extract from PDFs | `npx clawhub search "pdf extract"` + `npx skills find pdf parse` |
| Fill PDF forms | `npx clawhub search "pdf form"` + `npx skills find pdf form` |
## Expand Search Terms
If first search yields poor results:
1. **Synonyms** — edit → modify, create → generate, check → validate
2. **Related tools** — pdf → document, docx → word
3. **Underlying task** — "pdf form" → "form filling"
4. **Domain name** — "stripe payments" → just "stripe"
## Interpret Results
Normalize each result into the same decision shape:
- Source
- Name / identifier
- What it does
- Install command
- Quality signals
Typical signals:
- `ClawHub`: name, description, downloads, author, update freshness
- `Skills.sh`: returned install string, source repo, skills.sh page, and project reputation
**Quick quality signals:**
- High downloads + recent update = well-maintained
- Clear description = probably well-structured
- Multiple skills by same author = established creator
- Recognizable repo or maintainer = safer bet in `Skills.sh`
- Vague description = likely low quality
## Multiple Results Strategy
When several skills match:
1. **Filter** — Apply quality criteria (see `evaluate.md`)
2. **Rank** — By fit to specific need, not just downloads
3. **Present top 3** — With reasoning for each
4. **Pick a winner** — Give a recommendation, not just options
5. **Let user choose** — Or ask clarifying questions
Example response:
> Found 3 options for React testing:
> 1. `react-testing` (ClawHub) — focuses on component tests, 5k downloads
> 2. `vercel-labs/agent-skills@frontend-design` (Skills.sh) — broader frontend workflow guidance
> 3. `testing` (ClawHub) — general testing, includes React section
>
> Which fits your project better?
## Query Refinement
| Situation | Action |
|-----------|--------|
| Too many results | Add specificity: "python" → "python async" |
| No results | Broaden: "fastapi oauth2" → "api auth" |
| Wrong domain | Clarify: "testing" → "unit testing" vs "e2e testing" |
| Tool-specific | Try tool name directly: "stripe", "twilio" |
| One source is empty | Keep the other source, but say that only one ecosystem produced matches |
## Search Operators
The search is semantic (meaning-based), not keyword-exact.
- `"react hooks"` finds skills about React patterns
- `"api testing"` finds REST, GraphQL testing skills
- `"deploy docker"` finds containerization + deployment
No special operators needed — describe what you want in natural language.