Deep Research
sanjay3290/ai-skills
Execute autonomous multi-step research using Google Gemini Deep Research Agent.
Build sourced JSON dossiers on people, companies, or topics with DeepAPI.
$ npx skills add davidondrej/skills --skill deep-scrape -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install davidondrej/skills deep-scrape --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research-and-web/deep-scrape .claude/skills/deep-scrape && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "deep-scrape" agent skill from https://github.com/davidondrej/skills/tree/main/skills/research-and-web/deep-scrape into .claude/skills/deep-scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-scrape", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/davidondrej/skills/tree/main/skills/research-and-web/deep-scrapeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add davidondrej/skills --skill deep-scrape -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install davidondrej/skills deep-scrape --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/research-and-web/deep-scrape .agents/skills/deep-scrape && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deep-scrape" agent skill from https://github.com/davidondrej/skills/tree/main/skills/research-and-web/deep-scrape into .agents/skills/deep-scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-scrape", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davidondrej/skills --skill deep-scrape -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install davidondrej/skills deep-scrape --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/research-and-web/deep-scrape .cursor/skills/deep-scrape && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "deep-scrape" agent skill from https://github.com/davidondrej/skills/tree/main/skills/research-and-web/deep-scrape into .cursor/skills/deep-scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-scrape", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/davidondrej/skills.git --path skills/research-and-web/deep-scrape--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add davidondrej/skills --skill deep-scrape -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install davidondrej/skills deep-scrape --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/research-and-web/deep-scrape .gemini/skills/deep-scrape && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "deep-scrape" agent skill from https://github.com/davidondrej/skills/tree/main/skills/research-and-web/deep-scrape into .gemini/skills/deep-scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-scrape", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install davidondrej/skills deep-scrapeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add davidondrej/skills --skill deep-scrape -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/research-and-web/deep-scrape .github/skills/deep-scrape && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "deep-scrape" agent skill from https://github.com/davidondrej/skills/tree/main/skills/research-and-web/deep-scrape into .github/skills/deep-scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-scrape", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davidondrej/skills --skill deep-scrape -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install davidondrej/skills deep-scrape --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/research-and-web/deep-scrape .opencode/skills/deep-scrape && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "deep-scrape" agent skill from https://github.com/davidondrej/skills/tree/main/skills/research-and-web/deep-scrape into .opencode/skills/deep-scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-scrape", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
deep-scrapeBuild sourced JSON dossiers on people, companies, or topics with DeepAPI.
Deep Scrape is an agent skill from davidondrej/skills. Build sourced JSON dossiers on people, companies, or topics with DeepAPI. Use for profiles, prospects, vendor due diligence, or customer research across sources; use deep-research for recommendations.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Research & Science, covering Web scraping, Deep research and Market research. The repository describes itself as: access to david ondrej's personal agent skills. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ba8e24c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curljqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
hubspot.comresend.comvercel.comgithub.comstripe.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Deep Scrape loads about 2.3k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,017 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from davidondrej/skills at commit ba8e24c, republished under its MIT licence (© davidondrej). 1,017 words, ~2,275 tokens.
.claude/skills/deep-scrape/SKILL.md (or your agent's skills folder).Collect structured evidence about one subject across public sources. Use
deep-research for detailed answers or recommendations, and a dedicated scraper
for one known page or platform.
Read deepapi for credentials, headers, and shared protocol.
Use POST /v1/scrape/deep with an API key scoped to scrape:deep.
query: required, 500 characters maximum. Name one subject, add identifying
context, and state needed information; keep longer instructions for your synthesis.urls: optional public website/profile seeds to reduce namesake mistakes.
They anchor discovery without limiting results to those URLs.sources: optional source-type filter, e.g. ["website", "github", "twitter"].
Omit for broad discovery. It filters types, not domains, and may exclude a seed's type.maxCostUsd: "0.50" default, "5.00" maximum per request. A spending
ceiling, not a quoted charge; respect the total budget across calls.dryRun: true: previews the credit hold without scraping, charging, or returning
a dossier. Omit dryRun or set false for the paid call.Send only documented fields: there are no model, provider, depth, maxItems,
outputSchema, or separate instructions controls. Asking for a fact in query
does not guarantee discovery or add a response field.
For unclear schema, pricing, scope, or availability, fetch
GET /v1/capabilities?capability=scrape.deep; its live contract takes precedence.
Requires curl, jq, and uuidgen. Adapt the body. Load the documented credential
setup file only when setup variables are missing; never source ~/.zshrc or print the key.
if [ -z "${API_KEY:-}" ] || [ -z "${DEEPAPI_API_BASE_URL:-}" ]; then
. "$CREDENTIALS_FILE"
fi
: "${API_KEY:?DeepAPI setup is required}"
: "${DEEPAPI_API_BASE_URL:?DeepAPI setup is required}"
DEEP_SCRAPE_BASE="${DEEPAPI_API_BASE_URL%/}"
DEEP_SCRAPE_VERSION=$(cat "$HOME/.agents/skills/deepapi/VERSION.txt")
mkdir -p tmp
DEEP_SCRAPE_DIR=$(mktemp -d tmp/deep-scrape.XXXXXX)
uuidgen > "$DEEP_SCRAPE_DIR/idempotency.txt"
cat > "$DEEP_SCRAPE_DIR/body.json" <<'JSON'
{
"query": "Stripe, the payments company. Collect its products, intended customers, public team profiles, and recent product announcements.",
"urls": ["https://stripe.com"],
"maxCostUsd": "0.50"
}
JSON
curl --silent --show-error --connect-timeout 10 --max-time 90 \
"$DEEP_SCRAPE_BASE/v1/scrape/deep" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "X-DeepAPI-Skill-Version: $DEEP_SCRAPE_VERSION" \
-H "Idempotency-Key: $(cat "$DEEP_SCRAPE_DIR/idempotency.txt")" \
--data-binary @"$DEEP_SCRAPE_DIR/body.json" \
--output "$DEEP_SCRAPE_DIR/start.json" --write-out '%{http_code}\n'
jq '{requestId, status, next, error}' "$DEEP_SCRAPE_DIR/start.json"Keep the run directory, body, idempotency key, and requestId. On Windows,
load the documented credential setup file and send the same headers/JSON through PowerShell.
Adjust the deepapi skill path if installed elsewhere.
Expect HTTP 202, status: "running", output: null, and a polling next action.
next.method is GET and next.path starts with /v1/requests/, wait
next.afterSecs, then GET that path on the same API base with the same
bearer key. Preserve query parameters; allow at least 90 seconds per polling HTTP request.status: "succeeded"
with output: null. Stop on terminal failure or no remaining polling action.POST next action. For an already authorized
scrape, remove dryRun and submit within budget. Polling must not start a paid request.GET /v1/requests/{requestId}; do not restart a slow scrape.output.subject, profiles, posts, people, websites, and sources,
including item extra fields. Retain each claim's sourceUrl.confidence, conflicts, errors, and partial.
partial: false can coexist with failed sources in errors.confidence: "high",
partial: false, and errors: []; a URL alone is not coverage.Save final JSON in the run directory; keep raw responses out of version control.
Deliver source links, uncertainty, and gaps in the requested brief or analysis;
add a Markdown report if reuse would help. Report costs only when asked and relay
low-balance notices under the shared deepapi rules.
For consequential gaps, make targeted follow-up scrapes. Use deep-research for
questions or comparisons; preserve the original dossier as evidence.
Task patterns; returned coverage is not guaranteed.
/deep-scrape HubSpot. Use https://www.hubspot.com. Collect its products, intended customers, business locations, and dated expansion or hiring announcements relevant to our prospect criteria. Match verified facts to the user's criteria. Label inferred needs; public activity does not prove buying intent./deep-scrape Resend. Use https://resend.com. Collect public pricing, API capabilities, documentation, SDK licensing, and integration limits before we consider using it. Build a sourced checklist, verify decisive details on official pages, and use deep research for the recommendation./deep-scrape Vercel, Netlify, and Cloudflare for a developer tooling landscape. Use one request and official URL per company; compare positioning, products, and announcements locally. Three $0.50 caps can reserve $1.50; fit the total budget first./deep-scrape Vercel and its relationship to Next.js. Use https://vercel.com and https://github.com/vercel/next.js. Collect the company, repository, public maintainers, and product connections. Use dedicated GitHub calls for missing exact statistics or history./deep-scrape PostgreSQL replication slot failover. Collect official documentation, relevant projects, and substantive technical discussions. Map terminology and open questions; use deep research for a design decision./deep-scrape Small-business invoicing software. Collect public reviews and substantive discussions about recurring complaints, objections, workarounds, and requested features. Group sourced themes. Separate reported problems from inferred opportunities; the sample does not establish prevalence.requestId if known; otherwise resend the identical
body with the same idempotency key. Never use a new key to recover an uncertain submission.Retry-After
or error.retryAfterSecs. Do not issue another POST.error.fix, correct the body, and use a new key.
Deliberately changed tasks also need new keys; reuse can replay the old body.error.code, error.hint, and error.retryable.
Retry automatically at most once, only if retryable and within budget, using a
new key after the prescribed delay. Do not repeatedly retry resource_not_found.© davidondrej, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/research-and-web/deep-scrape of davidondrej/skills.
Open the folder on GitHubat commit ba8e24c
Deep Scrape next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Deep Scrape this skilldavidondrej/skills | 4.1k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Deep Researchsanjay3290/ai-skills | 431 | 10 repos | ~683 | Automated safety check: Notes | Apache-2.0 | |
| Deep Researchaffaan-m/ECC | 275k | — | ~1.5k | Automated safety check: Warn | MIT | |
| Vc Industry Researchzebbern/claude-code-guide | 4.7k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Consulting Analysisbytedance/deer-flow | 83k | 5 repos | ~8.4k | Automated safety check: Pass | MIT | |
| Firecrawl Workflowsfirecrawl/skills | 116 | — | ~1.3k | Automated safety check: Pass | ISC |
sanjay3290/ai-skills
Execute autonomous multi-step research using Google Gemini Deep Research Agent.
affaan-m/ECC
Produce cited research reports from multiple web sources using firecrawl and exa MCP tools — plan sub-questions, search and deep-read sources, then synthesize findings with inline citations and…
zebbern/claude-code-guide
Generate professional primary market / venture capital industry research reports, including sector deep-dives, investment memos, and market analysis.
bytedance/deer-flow
A skill your agent uses when the user requests to generate, create, or write professional research reports including but not limited to market analysis, consumer insights, brand analysis, financial…
firecrawl/skills
Run outcome-focused Firecrawl workflows that produce deliverables such as research reports, literature reviews over published papers, SEO audits, QA reports, lead lists, knowledge bases, website…
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
davidondrej/skills
Launch a new bb worker thread with the right project, model, worktree, and task brief.
davidondrej/skills
Direct browser control via CDP. An agent skill from davidondrej/skills.
davidondrej/skills
Manage persistent dev servers, APIs, and other local processes on a port using macOS LaunchAgents.
davidondrej/skills
Reset a stuck Cursor ACP thread in <chat-system and reload its configuration.
davidondrej/skills
Keep a Mac awake for a set duration or while a process runs.
davidondrej/skills
Use this when controlling bb. An agent skill from davidondrej/skills.
Categories
Build sourced JSON dossiers on people, companies, or topics with DeepAPI. Deep Scrape is an agent skill from davidondrej/skills. Build sourced JSON dossiers on people, companies, or topics with DeepAPI.
Deep Scrape fits situations like: vendor due diligence; customer research across sources; use deep-research for recommendations.
Run `npx skills add davidondrej/skills --skill deep-scrape -a claude-code`. Or copy the skill folder (skills/research-and-web/deep-scrape in davidondrej/skills) into .claude/skills/deep-scrape in your project. Claude Code loads it when a task matches its description.
Run `npx skills add davidondrej/skills --skill deep-scrape -a codex`. Or copy the skill folder (skills/research-and-web/deep-scrape in davidondrej/skills) into .agents/skills/deep-scrape in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davidondrej/skills --skill deep-scrape -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deep-scrape, .gemini/skills/deep-scrape, .github/skills/deep-scrape and .opencode/skills/deep-scrape in your project.
Going by SKILL.md and its folder, Deep Scrape needs the command-line tools its instructions call (curl and jq) and credentials named API_KEY. Our summary lists: A credential in API_KEY.
SKILL.md names 5 domains. In commands or code: hubspot.com, resend.com, vercel.com, github.com and stripe.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Deep Scrape is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Deep Scrape: Deep Research (sanjay3290/ai-skills, 431 stars), Deep Research (affaan-m/ECC, 275k stars), Vc Industry Research (zebbern/claude-code-guide, 4.7k stars) and Consulting Analysis (bytedance/deer-flow, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
davidondrej (a GitHub user) maintains it in davidondrej/skills, which has 4,107 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on October 7, 2026.
Source: davidondrej/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.