.cursor/.agents/skills/exa-search/SKILL.md
Neural search via Exa MCP for web, code, and company research. Use when the user needs web search, code examples, company intel, people lookup, or AI-powered deep research with Exa's neural search engine.
npx skillsauth add LUAgam/stage-harness exa-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Neural search for web content, code, companies, and people via the Exa MCP server.
Exa MCP server must be configured. Add to ~/.claude.json:
"exa-web-search": {
"command": "npx",
"args": ["-y", "exa-mcp-server"],
"env": { "EXA_API_KEY": "YOUR_EXA_API_KEY_HERE" }
}
Get an API key at exa.ai.
General web search for current information, news, or facts.
web_search_exa(query: "latest AI developments 2026", numResults: 5)
Parameters:
| Param | Type | Default | Notes |
|-------|------|---------|-------|
| query | string | required | Search query |
| numResults | number | 8 | Number of results |
Filtered search with domain and date constraints.
web_search_advanced_exa(
query: "React Server Components best practices",
numResults: 5,
includeDomains: ["github.com", "react.dev"],
startPublishedDate: "2025-01-01"
)
Parameters:
| Param | Type | Default | Notes |
|-------|------|---------|-------|
| query | string | required | Search query |
| numResults | number | 8 | Number of results |
| includeDomains | string[] | none | Limit to specific domains |
| excludeDomains | string[] | none | Exclude specific domains |
| startPublishedDate | string | none | ISO date filter (start) |
| endPublishedDate | string | none | ISO date filter (end) |
Find code examples and documentation from GitHub, Stack Overflow, and docs sites.
get_code_context_exa(query: "Python asyncio patterns", tokensNum: 3000)
Parameters:
| Param | Type | Default | Notes |
|-------|------|---------|-------|
| query | string | required | Code or API search query |
| tokensNum | number | 5000 | Content tokens (1000-50000) |
Research companies for business intelligence and news.
company_research_exa(companyName: "Anthropic", numResults: 5)
Parameters:
| Param | Type | Default | Notes |
|-------|------|---------|-------|
| companyName | string | required | Company name |
| numResults | number | 5 | Number of results |
Find professional profiles and bios.
people_search_exa(query: "AI safety researchers at Anthropic", numResults: 5)
Extract full page content from a URL.
crawling_exa(url: "https://example.com/article", tokensNum: 5000)
Parameters:
| Param | Type | Default | Notes |
|-------|------|---------|-------|
| url | string | required | URL to extract |
| tokensNum | number | 5000 | Content tokens |
Start an AI research agent that runs asynchronously.
# Start research
deep_researcher_start(query: "comprehensive analysis of AI code editors in 2026")
# Check status (returns results when complete)
deep_researcher_check(researchId: "<id from start>")
web_search_exa(query: "Node.js 22 new features", numResults: 3)
get_code_context_exa(query: "Rust error handling patterns Result type", tokensNum: 3000)
company_research_exa(companyName: "Vercel", numResults: 5)
web_search_advanced_exa(query: "Vercel funding valuation 2026", numResults: 3)
# Start async research
deep_researcher_start(query: "WebAssembly component model status and adoption")
# ... do other work ...
deep_researcher_check(researchId: "<id>")
web_search_exa for broad queries, web_search_advanced_exa for filtered resultstokensNum (1000-2000) for focused code snippets, higher (5000+) for comprehensive contextcompany_research_exa with web_search_advanced_exa for thorough company analysiscrawling_exa to get full content from specific URLs found in search resultsdeep_researcher_start is best for comprehensive topics that benefit from AI synthesisdeep-research — Full research workflow using firecrawl + exa togethermarket-research — Business-oriented research with decision frameworksdevelopment
在 generate-test-cases 阶段之后执行,逐个验证测试用例并在失败时修复项目代码、重新编译部署、再次验证, 直到通过或达到最大修复次数。覆盖 UI / API / API+UI / 性能测试四个维度,UI 测试通过浏览器真实模拟用户操作并截图, API 测试根据项目代码生成可执行的接口脚本,性能测试调用现有性能/质量技能全量执行。 涉及真实用户登录信息(如手机号+验证码、账号密码、JWT)时必须中断要求用户提供,禁止编造无效凭证。 所有 case 状态变更必须通过 e2e-case-tracker.sh 脚本持久化,确保中途崩溃可恢复、无 case 遗漏。
development
# SKILL: e2e > **核心原则**: > 1. 测试范围跟着本次变动走。后端接口改了,对应的前端流程必须做联调验证;与本次需求无关的功能不测。对于涉及算法、转换准确率等质量敏感型需求,需额外生成专项质量测试。 > 2. **覆盖完整性优先于执行便利性**。不得以"链路复杂"、"需要外部依赖"为由跳过本次变动相关的用例;凡是受变动影响的接口和 UI 流程,都必须生成真实调用/操作用例。 > 3. **UI 测试必须模拟真实用户操作**(定位元素、点击、键入、等待渲染、断言可见文本/状态)。**禁止**将 UI 套件退化为浏览器上下文里的 `page.evaluate(fetch(...))` API 验证——那只是把 API 测试换了执行环境,没有额外价值,不算 UI 测试。 > 4. **通用性**:本 skill 不假设具体业务域,所有规则均以抽象变动面(文件、接口、页面、用户动作)为单位组织,不针对任何特定项目的数据库/领域词汇。 > 5. **E2E 套件必须验证运行时行为**。严禁把"读取源码/配置文件并做字符串/结构匹配"的检查封装成独立 E2E 套件——这类检
tools
# SKILL: deploy ## CLI Bootstrap 在执行任何 `harnessctl` 命令前,先解析本地 CLI 路径: ```bash if [ -z "${HARNESSCTL:-}" ]; then candidates=( "./stage-harness/scripts/harnessctl" "../stage-harness/scripts/harnessctl" "$(git rev-parse --show-toplevel 2>/dev/null)/stage-harness/scripts/harnessctl" ) for candidate in "${candidates[@]}"; do if [ -n "$candidate" ] && [ -x "$candidate" ]; then HARNESSCTL="$candidate" break fi done fi test -n "${HARNESSCTL:-}" && test -x "$H
tools
# SKILL: build ## CLI Bootstrap 在执行任何 `harnessctl` 命令前,先解析本地 CLI 路径: ```bash if [ -z "${HARNESSCTL:-}" ]; then candidates=( "./stage-harness/scripts/harnessctl" "../stage-harness/scripts/harnessctl" "$(git rev-parse --show-toplevel 2>/dev/null)/stage-harness/scripts/harnessctl" ) for candidate in "${candidates[@]}"; do if [ -n "$candidate" ] && [ -x "$candidate" ]; then HARNESSCTL="$candidate" break fi done fi test -n "${HARNESSCTL:-}" && test -x "$HA