Skip to main content

cli-recipes

This skill should be used when the user asks about "firecrawl CLI", "jina CLI", "firecrawl command line", "jina command line", "scrape from terminal", "search from shell", or needs ready-to-use CLI commands for web scraping and search.

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
November 1, 2026 at 02:46
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cli-recipes
description
This skill should be used when the user asks about "firecrawl CLI", "jina CLI", "firecrawl command line", "jina command line", "scrape from terminal", "search from shell", or needs ready-to-use CLI commands for web scraping and search.
# Web Search CLI Recipes CLI commands for Firecrawl and Jina — the two services with official CLIs. ## Firecrawl CLI ### Installation ```bash npm install -g firecrawl-cli # or run without install: npx -y firecrawl-cli@latest ``` ### Authentication ```bash firecrawl login # Interactive (browser by default) firecrawl login --method browser # Browser-based login firecrawl login --api-key fc-YOUR_KEY # Direct key export FIRECRAWL_API_KEY=fc-YOUR_KEY # Or via environment variable firecrawl view-config # Show current auth/config firecrawl logout # Sign out ``` ### Scrape a Page ```bash firecrawl https://example.com/page firecrawl scrape https://example.com/page --format markdown,links firecrawl scrape https://example.com/spa --wait-for 3000 # JS rendering firecrawl scrape https://example.com --screenshot # Capture screenshot firecrawl scrape https://example.com -o output.md # Save to file firecrawl scrape https://example.com --json --pretty # JSON output # Structured data from one page (JSON format + schema) firecrawl scrape https://example.com/pricing --format json --schema-file schema.json -o pricing.json --pretty ``` ### Search the Web ```bash firecrawl search "Next.js server components tutorial" firecrawl search "React hooks" --limit 20 firecrawl search "TypeScript patterns" --scrape # Search + scrape results firecrawl search "AI news" --tbs qdr:d # Last 24 hours firecrawl search "tech startups" --location "San Francisco" firecrawl search "axum middleware ordering" --categories developer # Developer index next to web results ``` ### Crawl a Site ```bash firecrawl crawl https://docs.example.com --wait --progress firecrawl crawl https://docs.example.com --limit 50 --max-depth 3 firecrawl crawl https://docs.example.com --include-paths "/docs/*" firecrawl crawl https://docs.example.com --exclude-paths "/blog/*" firecrawl crawl JOB_ID # Check existing crawl status ``` ### Map Site URLs ```bash firecrawl map https://example.com firecrawl map https://example.com --limit 200 firecrawl map https://example.com --include-subdomains # (--allow-subdomains belongs to `crawl`) ``` ### Autonomous Agent ```bash firecrawl agent "Find top 5 headless CMS and compare pricing" firecrawl agent "Research React state management libraries" --wait firecrawl agent "Find API rate limits" --urls https://docs.example.com --schema-file schema.json --wait firecrawl agent "Compare pricing of the top 3 CMS" --effort medium --max-credits 200 --wait # cap the spend firecrawl agent JOB_ID --wait # Check or wait for an existing job ``` Agent tasks take minutes and spend credits — set `--max-credits`. ### Interact (live browser) Drive dynamic pages with natural language or code. `interact` works on the **last scrape** (or a scrape id with `-s`), so scrape first: ```bash firecrawl scrape https://example.com/login # 1. scrape the page firecrawl interact "log in and open the dashboard" # 2. act on it (prompt) firecrawl interact -c "await page.title()" # code (Node/Playwright by default; --python, --bash) firecrawl interact -s SCRAPE_ID "extract the table" # target a specific scrape firecrawl interact stop # 3. close the session ``` Persist logins between scrapes with `--profile <name>` on `firecrawl scrape`. ### Monitor Changes Recurring scrapes with change detection: ```bash firecrawl monitor create --name "Pricing" \ --goal "Notify me when plans or prices change" \ --schedule "every 30 minutes" \ --page https://example.com/pricing firecrawl monitor list firecrawl monitor run MONITOR_ID firecrawl monitor checks MONITOR_ID firecrawl monitor update MONITOR_ID --state paused ``` Advanced targets (JSON-mode change tracking) go in a JSON file: `firecrawl monitor create monitor.json`. Monitors schedule future network calls — confirm before creating one. ### Developer Index Search Search GitHub issues, PRs, READMEs, and docs: ```bash firecrawl developer "nextjs hydration mismatch" firecrawl developer "tokio select cancellation safety" --limit 10 --json ``` Research papers and credits: ```bash firecrawl research search-papers "large language models" --json firecrawl credit-usage firecrawl --status # version, auth, concurrency, credits ``` ### Useful Flags | Flag | Description | |------|-------------| | `--json` | Output as JSON | | `--pretty` | Pretty-print JSON | | `-o FILE` | Save output to file | | `--timing` | Show request timing | | `--only-main-content` | Strip boilerplate | | `--api-key KEY` | Override API key | --- ## Jina CLI ### Installation ```bash pip install jina-cli # or uv pip install jina-cli ``` ### Authentication ```bash export JINA_API_KEY=jina_xxx ``` ### Read a Page ```bash jina read https://example.com/page jina read https://example.com --json # Structured output ``` ### Search the Web ```bash jina search "React hooks best practices" jina search "React hooks" -n 10 # Number of results jina search "AI news" --time d # Past day (d/w/m) jina search "tech" --gl us --hl en # Geo/language targeting ``` ### Specialized Search ```bash jina search "transformer models" --arxiv # Search arXiv jina search "financial analysis" --ssrn # Search SSRN jina search "UI components" --images # Image search jina search "Jina releases" --blog # Jina blog ``` ### Text Processing ```bash jina embed "text to embed" jina rerank "query" < documents.txt jina classify "product review text" --labels positive,negative,neutral jina dedup < urls.txt # Deduplicate ``` ### Utilities ```bash jina screenshot https://example.com -o screenshot.png jina screenshot https://example.com --full-page jina bibtex "attention is all you need" jina expand "machine learning optimization" jina pdf https://arxiv.org/pdf/2301.00001 --type figure,table jina datetime https://example.com/article # Guess publish date ``` ### Pipe Composability Jina CLI follows Unix philosophy — pipe commands together: ```bash # Search and rerank jina search "transformer models" | jina rerank "efficient inference" # Read multiple URLs cat urls.txt | jina read # Search and deduplicate jina search "attention mechanism" | jina dedup # Search, read, and save jina search "React patterns" -n 5 | jina read > research.md ``` ### Local Mode (Apple Silicon) Run embed, rerank, classify, and dedup locally without API key: ```bash pip install jina-grep jina grep serve start # Start local embedding server jina embed --local "hello world" jina classify --local "text" --labels positive,negative ``` **Caveat:** `jina-grep` is not currently published on PyPI, so `pip install jina-grep` fails as of 2026-08 (upstream `jina-cli` docs give this same instruction; an npm package named `jina-grep` exists but is an empty placeholder). Check https://github.com/jina-ai/jina-grep-cli for the actual install method before relying on local mode. ### Useful Flags | Flag | Description | |------|-------------| | `--json` | Structured JSON output | | `-n NUM` | Number of results | | `--time d/w/m` | Time filter (day/week/month) | | `--gl CODE` | Geographic location | | `--local` | Run locally (Apple Silicon) | --- ## Cross-CLI Workflow Examples ### Scrape and process content pipeline ```bash # Use Firecrawl to find URLs, Jina to process firecrawl map https://docs.example.com --json | \ jq -r '.urls[]' | \ head -10 | \ while read url; do jina read "$url"; done > all_docs.md ``` ### Search with both engines and compare ```bash firecrawl search "React server components" --json > firecrawl_results.json jina search "React server components" --json > jina_results.json ```
View on GitHub