crw-67e65c — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited crw-67e65c (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when:
crw fastcrw.comThis installs the CRW skill and MCP server to all detected AI agents (Claude Code, Cursor, Gemini CLI, Codex, OpenCode, Windsurf, Roo Code).
CRW_API_KEY=crw_live_... and CRW_API_URL=https://api.fastcrw.com. Get a free key at https://fastcrw.com with 500 one-time lifetime credits (never resets, not monthly).Output bounds: By default, content is truncated to ~15 000 chars (crw_scrape,crw_check_crawl_status,crw_parse_file) andcrw_mapreturns ≤ 100 URLs. Truncated results carry atruncated: truemarker (crw_mapalso addstotalDiscovered). PassmaxLength: 0orlimit: 0to opt out of bounding.
Scrape a single URL and return clean content.
Parameters:
url (required) — The URL to scrapeformats — Output formats: markdown (default), html, linksonlyMainContent — Strip navs/footers/sidebars. Default: trueincludeTags — Only include content matching these CSS selectors (e.g. ["article", "main"])excludeTags — Exclude content matching these CSS selectors (e.g. ["nav", "footer"])renderJs — Force JavaScript rendering. Default: auto-detect (null)waitFor — Milliseconds to wait after page load before capturingrenderer — Renderer override (e.g. "playwright")maxLength — Truncate output to this many chars. 0 = unbounded. Default: ~15 000Start an async BFS crawl from a URL. Returns a job ID — poll with crw_check_crawl_status.
Parameters:
url (required) — Starting URLmaxDepth — Maximum link depth. Default: 2maxPages — Maximum pages to crawljsonSchema — JSON schema for structured extraction per pagerenderJs — Force JavaScript renderingwaitFor — Milliseconds to wait after page load before capturingrenderer — Renderer overrideReturns: { "id": "job-uuid" } — use this ID with crw_check_crawl_status.
Poll an async crawl job for results.
Parameters:
id (required) — The crawl job ID from crw_crawlmaxLength — Truncate each page's content fields to this many chars. 0 = unbounded. Default: ~15 000Returns: { "status": "scraping|completed|failed", "data": [...] }
Browser Automation: Full interactive browser control (JavaScript rendering, click, fill, etc.) requires the separate crw-browse MCP server binary (command: crw-browse). It exposes its own tools (goto,tree, and others) and is not part of this MCP server. Do not callcrw_browsehere — it is not a tool in crw-mcp and will return a JSON-RPC -32602 "Unknown tool" error.
Search the web and return relevant results with titles, URLs, and descriptions. Always available in proxy/cloud mode; in embedded mode only when a SearXNG backend is configured.
Parameters:
query (required) — The search querylimit — Maximum number of results to return. Default: 5lang — Language code for results (e.g. "en", "tr")tbs — Time filter: qdr:h|qdr:d|qdr:w|qdr:m|qdr:y (past hour/day/week/month/year)sources — If set, group results by source: web, news, imagescategories — Bias toward a category (e.g. "pdf", "github", "research", or a native SearXNG category)scrapeOptions — Options for scraping each result page (e.g. {"formats": ["markdown"]})Discover all URLs on a website via sitemap + link extraction, without scraping content.
Parameters:
url (required) — The URL to mapmaxDepth — Discovery depth. Default: 2useSitemap — Check sitemap.xml. Default: truecrawlFallback — Supplement sitemap discovery with a short BFS crawl. Default: true (false = sitemap-only)limit — Maximum URLs to return. 0 = unbounded. Default: 100Returns: { "links": ["url1", "url2", ...] }
Parse a local file (PDF) into markdown or structured output without fetching from the web.
Parameters:
contentBase64 (required) — Base64-encoded file contentsfilename — Original filename (optional, e.g. "report.pdf")formats — Output formats: markdown (default), plainText, links, json, summary (json/summary need a server LLM)jsonSchema — JSON schema for LLM extraction (when formats includes json)parsers — Document parsers to apply. Default: ["pdf"]maxLength — Truncate output to this many chars. 0 = unbounded. Default: ~15 000Scrape a page for context:
crw_scrape(url="https://example.com", formats=["markdown"])Crawl docs for RAG: First discover URLs, then crawl:
crw_map(url="https://docs.example.com") → get URL list
crw_crawl(url="https://docs.example.com", maxPages=50) → extract all content
crw_check_crawl_status(id="...") → poll until completedSearch the web:
crw_search(query="your search query", limit=5)Search from the CLI (one-shot LLM-ready output):
When the crw binary is available, prefer the native field projection over piping through jq — it's one call instead of two:
crw search "renewable energy 2024" --json --fields title,url,snippet --limit 3Available fields: title, url, description, snippet, position, score, category. --json is shorthand for --format json.
renderJs: true if the page is blank or returns a loading skeletonX-RateLimit-*crw_map first to estimate site size before committing to a large crw_crawlcrw_check_crawl_status regularly/v1/scrape, /v1/crawl, /v1/map, /v1/search~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.