---
name: oma-search-319514d6c395
description: "Find external documentation, web sources, or remote code with citations. Local code navigation uses the configured code tools."
---

# Search Router

## Scheduling

### Goal
Select the search or retrieval channel needed by the request and return sources
with supporting evidence and retrieval limits.

### Intent signature
- Find external documentation, web information, or remote implementation examples.
- Read a known external URL or supply external sources to another skill.

### When to use
Library documentation, web research, remote code search, known-URL reading, and
requests whose external source channel needs selection.

### When NOT to use
- Pure local code exploration -> use configured code intelligence directly under
  `../_shared/core/code-intelligence.md`; do not dispatch this skill.
- Git history/blame -> `oma-scm`; architecture analysis -> `oma-architecture`.

### Expected inputs
Query or known URL; optional route hint (`docs`, `web`, `code`, `fetch`); version,
recency, host, repository and source constraints; optional web-provider override.
Explicit `--docs`, `--code` or `--web` selects the search route. `--gitlab` selects
the remote code host. `--strict` requires suitable primary or official sources
with inspected supporting content; `--wide` includes broader results with their
limitations. These modifiers preserve the request's source constraints.

### Expected outputs
An answer or relevant source list with source URL/file reference, route, actual
provider, source type, content-read status, supporting evidence and material
limitations. Include publication, retrieval and version details when observed.
Do not invent results, dates, sources or certainty.

### Dependencies
Context7 for documentation; the configured `providers.web` (`native`, `brave` or
`exa`) for web discovery; `oma search code`/`gh`/`glab` for remote code; runtime
retrieval tools or `oma search fetch` for known URLs. `oma search providers`
reports registration, selection and credential metadata; `oma doctor` checks
credential presence without verifying validity or API reachability.

## Structural Flow

### Routes
| Route | Execution | Scope |
|---|---|---|
| `docs` | Context7 library resolution and queries; official-site discovery when needed | Official documentation within requested version constraints |
| `web` | Selected web provider: runtime tools for `native`, CLI adapter for `brave` or `exa` | Discover URLs relevant to a query |
| `code` | `oma search code` through the selected code host | Remote implementation matches within host/repository constraints |
| `fetch` | Available URL reader/browser or `oma search fetch <url>` | Read a URL already supplied or discovered |

### Failure and recovery
- Missing/empty documentation lookup: use official-site discovery while retaining
  the documentation route's version and source limits.
- Selected web provider unavailable, unauthenticated or rate-limited: report its
  failure. Do not silently replace an explicit provider choice with native search.
- Search returns no candidate URLs: refine within the original constraints or
  report no result. URL retrieval cannot replace missing search results.
- A known URL cannot be read: use the retrieval-specific recovery reference and
  preserve access/authentication errors and archive provenance.
- No source meets `--strict`: report the source or evidence gap. A broader result
  set does not automatically satisfy the strict request.

### Exit
Return supported results and disclose failed routes, unread sources, stale or
archived content, and version limits. A provider name or domain label does not
verify an individual claim.

## Logical Operations

### Canonical workflow path
1. Resolve the requested outcome and constraints. Hand pure local-code requests
   directly to configured code intelligence. For external work, select one primary
   route; use `resources/intent-rules.md` only when selection is unclear.
2. Execute that route using `resources/execution-protocol.md`. Resolve the web
   provider from configuration or the request override. Add another route only
   when the remaining evidence gap needs it; do not fan out by default.
3. Read the relevant content needed to support the answer. Retain URLs and
   inspection status, deduplicate results, and apply source/version constraints.
   Use `resources/trust-registry.md` for provenance rules or an explicitly needed
   optional domain diagnostic; no numeric lookup is required for ordinary results.
4. Rank by relevance and source suitability for the question. Return the requested
   answer or sources with evidence, the actual route/provider and material limits.

### CLI entry points
```bash
oma search providers
oma search web "<query>" [--provider <id>] [--limit <n>]
oma search code "<query>" [--host gitlab] [--language <lang>] [--repo <owner/repo>]
oma search fetch <url>
oma search trust <domain>
```
Use `api`, `rss`, `meta`, `media`, `archive` or `doctor` only when the selected
operation needs that primitive. `trust` remains an optional domain diagnostic.

### Guardrails
- Preserve explicit route, provider, source, host, version and date constraints.
- Keep query discovery separate from reading an existing URL.
- Treat search snippets and excerpts as limited evidence; identify unread sources.
- Do not manufacture trust scores or promote Context7/GitHub results to claim-level
  verification based on their provider or hosting domain.
- Do not repeat successful routes, search local project files via the web, install
  a provider or track a repository automatically.

### Resource scope and effects
Search may contact external services and spawn configured provider or code-host
processes. Retrieval may launch an available browser. Query constraints and
provenance are session context; persistent caches belong in generated state, not
skill definitions. Local source navigation belongs to the configured code tools.

## References
- Route selection: `resources/intent-rules.md` (unclear external request)
- Execution: `resources/execution-protocol.md` (selected route only)
- Provenance and optional domain diagnostics: `resources/trust-registry.md` (source/evidence interpretation)
- Recovery: `resources/error-playbook.md` (route failure)
- Result checks: `resources/checklist.md` (applicable source and evidence checks)
- Examples: `resources/examples.md` (unfamiliar input or boundary)
- Local-code handoff: `../_shared/core/code-intelligence.md` (local requests)


---
Source attribution: first-fluke
Original project: https://github.com/first-fluke/oh-my-agent/blob/5f0c34a8e7d0ea871e3793c12b89e91bd5e0628a/.agents/skills/oma-search/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Copyright (c) 2026 Eunkwang Shin, Gahyun Kim

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: first-fluke
Original project: https://github.com/first-fluke/oh-my-agent/blob/5f0c34a8e7d0ea871e3793c12b89e91bd5e0628a/.agents/skills/oma-search/SKILL.md
Attribution basis: Source repository record

Fields of work: Content & Media, Data & Analytics, Marketing, Product Management
Roles: Data Analyst, Growth Marketer, Market Research Analyst, Product Manager, Technical Writer
Specialties: API
Tools: GitHub, GitLab
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: 81ab4b5fe2140e9018d64282262a18e24dfc5ac8fa86cbe9a5794c508adf5ecb
