Best for
- Use when an agent needs cross-source synthesis with citations, exploratory expansion of an unfamiliar topic, chain-of-thought reasoning over evidence, or fast conversational lookups grounded in live web search.
yoloshii/gigaxity-deep-research/SKILL.md
Deep research MCP server wrapping Qwen3-30B-A3B-Thinking via OpenRouter. Use when an agent needs cross-source synthesis with citations, exploratory expansion of an unfamiliar topic, chain-of-thought reasoning over evidence, or fast conversational lookups grounded in live web search. Exposes six MCP tools — two primitives (search, research) plus four deep-research tools (discover, synthesize, reason, ask) — with matching REST endpoints for each.
Decision brief
A skill-format reference for any agent (Claude Code, Codex, Cursor, Hermes, plain-MCP) calling this server. For human-readable installation instructions, see README.md. For harness-agnostic routing logic and the pasteable instruction block (drop into your harness's global CLAUDE…
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/yoloshii/gigaxity-deep-researchInspect the Agent Skill "gigaxity-deep-research" from https://github.com/yoloshii/gigaxity-deep-research/blob/46d75921824d25829feb0c666bde68d7e74637a6/SKILL.md at commit 46d75921824d25829feb0c666bde68d7e74637a6. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
The MCP server exposes six tools — two primitives plus four deep-research tools. Pick one based on query type, call it, return the result to the user verbatim.
Token budget: 500–1500. Latency: 2–5 s.
Review the “Phase 1: Classify the query” section in the pinned source before continuing.
Token budget: 500–1500. Latency: 2–5 s.
discovered = mcpgigaxity-deep-researchdiscover( query="", focusmode="general", or academic, documentation, comparison, debugging, tutorial, news identifygaps=True )
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 90/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 47 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
A skill-format reference for any agent (Claude Code, Codex, Cursor, Hermes, plain-MCP) calling this server. For human-readable installation instructions, see README.md. For harness-agnostic routing logic and the pasteable instruction block (drop into your harness's global CLAUDE.md / AGENTS.md or a standalone agent's system prompt), see CLAUDE.md.
The MCP server exposes six tools — two primitives plus four deep-research tools. Pick one based on query type, call it, return the result to the user verbatim.
# Primitives — raw and combined behavior in one call
search(query) # Multi-source aggregation, no LLM
research(query) # Search + synthesis with citations, single call
# Deep-research tools — discrete steps, drive each independently
ask(query) # Fast conversational answer (direct LLM, no search)
discover(query) # Exploratory expansion + gap detection
synthesize(query, sources) # Citation-aware fusion of pre-gathered content
reason(query, sources) # Synthesize + explicit chain-of-thought depth control
Query class?
├── "what is X right now / when was X / latest version"
│ → Phase 2A (ask)
│
├── "tell me about X" (cold start, no prior context)
│ → Phase 2B (discover → read → synthesize)
│
├── "compare X vs Y" or "best practice for X"
│ → Phase 2C (parallel search → synthesize)
│
└── "why did X happen" or "explain reasoning behind X"
→ Phase 2D (reason)
result = mcp__gigaxity-deep-research__ask(query="<query>")
return result
Token budget: ~500–1500. Latency: ~2–5 s.
discovered = mcp__gigaxity-deep-research__discover(
query="<query>",
focus_mode="general", # or academic, documentation, comparison, debugging, tutorial, news
identify_gaps=True
)
# discovered.sources is a ranked list. Pick top 3-5 URLs.
top_urls = [s.url for s in discovered.sources[:5]]
# Read full content (use a parallel reader if your environment has one)
contents = parallel_read(top_urls) # e.g. mcp__jina__parallel_read_url
# Fold into a citation-backed synthesis
result = mcp__gigaxity-deep-research__synthesize(
query="<query>",
sources=contents,
preset="comprehensive" # or fast, tutorial, academic, contracrow
)
return result
Token budget: ~5000–10000. Latency: ~10–20 s.
# Gather in parallel from multiple search providers
results = await asyncio.gather(
docs_search(query), # e.g. Context7 MCP
code_search(query), # e.g. Exa get_code_context
web_search(query), # e.g. Jina search_web
)
# Optional free middleware: rerank + dedup
ranked = jina_sort_by_relevance(query, results)
deduped = jina_deduplicate_strings(ranked)
result = mcp__gigaxity-deep-research__synthesize(
query="<query>",
sources=deduped,
preset="contracrow" # surfaces disagreements rather than averaging
)
return result
Token budget: ~5000–10000. Latency: ~10–20 s.
# Sources-aware: chain-of-thought synthesis over the pre-gathered evidence.
result = mcp__gigaxity-deep-research__reason(
query="<query>",
sources=evidence_list,
)
return result # markdown text — the synthesized answer (the CoT is
# consumed by the prompt and not echoed back; if the model
# fails to emit the expected tags, the full raw response is
# returned as a fallback)
Token budget: ~5000–15000. Latency: ~15–30 s.
If you do not have pre-gathered sources, drop the sources argument and use depth-controlled CoT instead:
result = mcp__gigaxity-deep-research__reason(
query="<query>",
context="<optional background>",
reasoning_depth="deep" # shallow / moderate / deep
)
All six tools return markdown strings, not JSON. Every tool also accepts an optional openrouter_api_key: str | None = None for per-request key override (omitted from the signatures below for brevity).
mcp__gigaxity-deep-research__search(
query: str,
top_k: int = 10
) -> str # markdown ranked results, no LLM call
mcp__gigaxity-deep-research__research(
query: str,
top_k: int = 10,
reasoning_effort: Literal["low", "medium", "high"] = "medium"
) -> str # markdown: search + synthesis + citations
mcp__gigaxity-deep-research__ask(
query: str,
context: str = ""
) -> str # the LLM's response text, direct call (no search)
mcp__gigaxity-deep-research__discover(
query: str,
top_k: int = 10,
identify_gaps: bool = True,
focus_mode: Literal["general","academic","documentation","comparison","debugging","tutorial","news"] = "general"
) -> str # markdown: knowledge landscape + gaps + sources
mcp__gigaxity-deep-research__synthesize(
query: str,
sources: list[dict], # {title, content, url?, origin?, source_type?}
style: Literal["comprehensive","concise","comparative","academic","tutorial"] = "comprehensive",
preset: Literal["comprehensive","fast","contracrow","academic","tutorial"] | None = None
) -> str # markdown: synthesis + citations (+ contradictions if preset enables)
mcp__gigaxity-deep-research__reason(
query: str,
context: str = "",
sources: list[dict] | None = None,
style: Literal["comprehensive","concise","comparative","academic","tutorial"] = "comprehensive",
reasoning_depth: Literal["shallow", "moderate", "deep"] = "moderate"
) -> str # markdown: CoT response. If `sources` is provided,
# synthesizes over them; otherwise depth-controlled CoT
# over the model's own knowledge plus optional `context`.
For the JSON / typed shape, call the matching REST endpoints (/api/v1/<tool>) — see docs/reference/rest-api.md.
Base URL: http://localhost:8000 (configurable via RESEARCH_HOST / RESEARCH_PORT).
| Method | Path | Body | Notes |
|---|---|---|---|
| GET | /api/v1/health | — | Health + active connectors |
| POST | /api/v1/search | {query, top_k?, connectors?} | Multi-source search only, no LLM |
| POST | /api/v1/research | {query, top_k?, reasoning_effort?, preset?, focus_mode?} | Combined search + synthesis |
| POST | /api/v1/ask | {query, context?, api_key?} | Direct LLM, no search hop |
| POST | /api/v1/discover | {query, focus_mode?, identify_gaps?, top_k?} | Exploratory expansion + gap detection |
| POST | /api/v1/synthesize | {query, sources, style?, max_tokens?} | Citation-aware synthesis over pre-gathered content |
| POST | /api/v1/reason | {query, sources, api_key?} | CoT synthesis over pre-gathered sources (no style — see synthesize for variants) |
| GET | /api/v1/presets | — | List the five synthesis presets |
| GET | /api/v1/focus-modes | — | List the seven focus modes |
All POST endpoints accept the optional header X-OpenRouter-Api-Key: <key> to override RESEARCH_LLM_API_KEY for that request.
| Preset | Use for | Latency | LLM calls |
|---|---|---|---|
fast | Quick answers, single-call synthesis | ~2–5 s | 1 |
tutorial | Step-by-step explanations with outline | ~5–10 s | 1 |
comprehensive | Multi-pass synthesis with quality gate | ~15–30 s | 2–3 |
contracrow | Comparison queries — surfaces disagreements | ~10–20 s | 2 |
academic | Citation-heavy, formal structure | ~15–25 s | 2 |
| Mode | Tunes |
|---|---|
general | Default, balanced |
academic | Prioritizes peer-reviewed and .edu sources |
documentation | Prioritizes official docs and reference sites |
comparison | Tunes synthesis to surface differences |
debugging | Prioritizes Stack Overflow, GitHub issues, error-message matches |
tutorial | Prioritizes step-by-step content, blog posts |
news | Date-bounded, recent-first |
| Layer | Path |
|---|---|
| MCP entry | run_mcp.py → src/mcp_server.py |
| REST entry | src/main.py → src/api/routes.py |
| LLM client | src/llm_client.py (OpenRouter on main, generic OpenAI-compat on local-inference branch) |
| Discovery | src/discovery/ |
| Synthesis | src/synthesis/ |
| Connectors | src/connectors/ (SearXNG, Tavily, LinkUp, Brave) |
| Config | src/config.py (pydantic settings, RESEARCH_* env vars) |
| Error | Action |
|---|---|
RESEARCH_LLM_API_KEY missing | Fail fast at startup with clear message |
| 401 from OpenRouter | Propagate as 401 to caller; do not retry with same key |
| 429 from OpenRouter | Exponential backoff (3 attempts), then propagate |
| SearXNG host unreachable | Fail open — fall back to Tavily/LinkUp if configured |
| All search sources fail | Return empty sources with error field — let the agent decide |
| LLM timeout | Honor RESEARCH_LLM_TIMEOUT; return partial result if streaming, else 504 |
| Per-request key invalid | 401 to caller; the env-configured key remains usable for other tenants |
This skill works alone for synthesis. For the full deep research workflow, pair with the other six MCPs in the stack:
mcp__exa-answer__exa_answer — quick factual lookups (1–2 s, citation-backed)mcp__context7__resolve-library-id → mcp__context7__query-docs — official library/API docsmcp__exa__get_code_context_exa — code-context examplesmcp__exa__web_search_advanced_exa — category-filtered search (company, people, financial report, news, github, pdf)mcp__jina__search_web / mcp__jina__parallel_read_url — free-tier web accessmcp__jina__extract_pdf / mcp__jina__guess_datetime_url — PDF layout, URL freshnessmcp__brightdata_fallback__scrape_as_markdown — blocked-URL fallback (CAPTCHA / paywall / Cloudflare)mcp__gptr-mcp__quick_search / deep_research — social-first research (Reddit, X, YouTube)Routing logic across all seven is in skills/research-workflow/SKILL.md. Sanitized JSON configs for all seven in docs/reference/mcp-configs.md.
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for engineering and operations tasks; the detail page covers purpose, installation, and practical steps.