app-searchlisted
Install: claude install-skill Nioris/project-forge
# App Search — поиск как primary interaction
## Зачем
Для **tools / reference apps** search is THE feature:
- Нумерология: search by number/name
- Садовник: search by plant
- Словарь: search by word
- Документация / wiki: search by topic
Без качественного search:
- D7 retention падает на 30-40% (юзер не находит → уходит)
- Search success rate < 70% = product failure для этой категории
- Каждая search query без result = потенциальная feature request
## Когда вызывать
- **Tools / reference apps** — обязательно после `$start` Step 6.5+
- **Any app with >50 records** — productivity apps, business apps когда списки большие
- **Existing apps** — если search есть но performance страдает или результаты плохие
## Pipeline
### Шаг 1 — Read context
```
wiki/_map.md # category, type
wiki/architecture/data-model.md # what entities to search
wiki/architecture/metrics.md # search success rate target
```
### Шаг 2 — Choose search strategy
3 levels по сложности:
#### Level 1: Linear filter (для <500 records)
```typescript
// Brute force, runs on every keystroke
function search(query: string, items: T[]): T[] {
const q = query.toLowerCase();
return items.filter(item =>
item.title.toLowerCase().includes(q) ||
item.description?.toLowerCase().includes(q)
);
}
```
Pros: zero deps, instant, easy.
Cons: slow on >500 records, no fuzzy match (typo = no result).
Good for: small datasets (settings list, recent items).
#### Level 2: Fuse.js (fuzz