oma-search · git:20260909.093aa3d · 2026-09-09 · sha256 0d920eef70ab2736
oma-search git:20260909.093aa3dA
Immutable. This exact content is served forever at /api/v1/blob/0d920eef70ab2736.
--- name: oma-search description: Intent-based search router with trust scoring. Routes queries to optimal channels (Context7 docs, native web search, gh/glab code search, configured local code intelligence) and attaches domain trust labels. Use for search, find, lookup, reference, docs, code search, and web research. --- # Search Router ## Scheduling ### Goal Route an information request to the appropriate channel and return relevant sources with trust labels. ### Intent signature - Search, find, look up, reference docs, inspect official APIs, or search remote code. - Another skill requests docs, web, code, or local search with a query and constraints. ### When to use - Library documentation, web research, GitHub/GitLab implementation patterns, or unclear search channels. ### When NOT to use - Pure local code exploration -> use configured code intelligence under the shared contract. - Git history/blame -> `oma-scm`; architecture analysis -> `oma-architecture`. ### Expected inputs Query, optional route hint (`docs`, `web`, `code`, `local`), source/recency constraints, and flags. Explicit `--docs`, `--code`, or `--web` selects the route; `--strict` filters trust, `--wide` retains labeled results, and `--gitlab` selects the remote code host. ### Expected outputs Ranked sources with URL or file reference, route, relevance, trust level/score, and material fallback limits. Do not invent sources when no reliable result is found. ### Dependencies Context7 for docs, runtime web search, `oma search`/`gh`/`glab` for remote code, and configured code intelligence or native local search. ## Structural Flow ### Routes | Route | Primary | Fallback | Use for | |---|---|---|---| | `docs` | Context7 `resolve-library-id` → `query-docs` | Web search | Official API/framework documentation | | `web` | Runtime web search | `oma search fetch <url>` for known result URLs | Web sources | | `code` | `oma search code` | Report unavailable host/auth | Remote repository patterns | | `local` | Configured code-intelligence provider | Native search and scoped reads | Current project files and symbols | ### Failure and recovery - Missing/empty documentation lookup: use web search and state the fallback. - A known URL cannot be fetched: use the fetch strategies in the route reference; retain authentication/blocking errors if all strategies fail. - Configured local tools unavailable or timed out: follow `../_shared/core/code-intelligence.md`. - Unknown trust: retain the result as `unknown` with score `—`; do not imply verification. - No result satisfies `--strict`: report that outcome and offer a wider or narrower query. ### Exit Return evidence-backed results and disclose failed routes or source limitations. A domain score alone does not verify an individual claim. ## Logical Operations ### Canonical workflow path 1. Parse the query and explicit flags. Use `resources/intent-rules.md` only when classification is needed; select one route unless ambiguity requires more. 2. Dispatch using Routes. Load `resources/execution-protocol.md` for the selected channel's command flags, fetch strategies, or normalization details. 3. Collect source references and deduplicate by URL. For non-local results, resolve domain trust using `resources/trust-registry.md`; reuse the current session cache. Apply `--strict` after scoring. 4. Rank by relevance, using trust as a tiebreaker. Return the requested answer or source list with supporting references and fallback limitations. ### CLI entry points ```bash oma search code "<query>" [--host gitlab] [--language <lang>] [--repo <owner/repo>] oma search trust <domain> oma search fetch <url> ``` The CLI also exposes `api`, `api:search`, `meta`, `rss`, `rss:google`, `media`, `archive`, and `doctor`; use a primitive only when the selected route needs it. ### Guardrails - Explicit route/source constraints take precedence over automatic classification. - Score at domain level, not URL-path or page level. Use the CLI registry and the documented Context7/official-site exceptions; do not invent scores. - Do not duplicate successful routes or search locally via the web. - Use available runtime web tools and the configured local provider; do not install or track a repository automatically. ### Resource scope and effects Search may contact external services or inspect local code and spawn `gh`/`glab` processes. Query constraints, selected sources, and trust metadata are session context; persistent caches belong in generated state, not skill definitions. ## References - Intent classifier: `resources/intent-rules.md` (no explicit route or ambiguous query) - Route execution detail: `resources/execution-protocol.md` (selected channel only) - Trust resolution and cache rules: `resources/trust-registry.md` (non-local sources) - Recovery detail: `resources/error-playbook.md` (route failures) - Result checklist: `resources/checklist.md` (applicable route checks) - Examples: `resources/examples.md` (unfamiliar input/output contracts) - Local code-intelligence contract: `../_shared/core/code-intelligence.md`