Agent skill · Audited from source
firecrawl-monitor
skill · firecrawl/cliLicence not declaredAudited 28 Oct 2026 · source ca9cfb73adc1
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit ca9cfb73adc1 and found no filesystem, network or shell access and no hard-coded secrets. What it does: Alert by webhook/email on web changes — use for "monitor/watch/track/alert me when": recurring checks on known URLs (prefer over repeated one-off scrapes) or web-wide watches for new results (queries + goal).
Cite
Cite this page
ModelsAtlas. “firecrawl-monitor (firecrawl/cli)”. Retrieved 28 Oct 2026. https://modelsatlas.com/skills/firecrawl/firecrawl-monitor
Trust audit
Audit 0.4.1 · source read 28 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 1 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass, no license.
Findings (1)
LOWInventory / provenanceinv.no_license
- Why
- no LICENSE file and no repo licence
- Fix
- add a licence
Audit 0.4.1 · source sha ca9cfb73adc1 · 28 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherfirecrawl GitHub organizationOwner of the repository this skill is read from
- Source folderfirecrawl/cli/skills/firecrawl-monitorThe exact folder we audited
- LicenceNot declaredAs the repository states it
- Commit pinned for this verdictca9cfb73adc1A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Alert by webhook/email on web changes — use for "monitor/watch/track/alert me when": recurring checks on known URLs (prefer over repeated one-off scrapes) or web-wide watches for new results (queries + goal).
--- name: firecrawl-monitor description: | Alert by webhook/email on web changes — use for "monitor/watch/track/alert me when": recurring checks on known URLs (prefer over repeated one-off scrapes) or web-wide watches for new results (queries + goal). allowed-tools: - Bash(firecrawl *) - Bash(npx firecrawl-cli *) --- # firecrawl monitor Detect when content on a website changes and get notified by webhook or email. Firecrawl handles fetching, diffing, judging, and notifying server-side. Each page in a check is labeled `same`, `new`, `changed`, `removed`, or `error`. **Pick a target mode** by what you're watching: | Mode | Flags | Watches | | ----------- | ------------------------------ | ------------------------------------------------------ | | Single page | `--page <url>` | one URL, for changes | | URL batch | `--scrape-urls <url,url,...>` | several URLs, for changes | | Whole site | `--crawl-url <root-url>` | every page a crawl discovers, for changes | | Web search | `--queries <q,...>` + `--goal` | the **whole web**, for _new_ results matching the goal | The first three watch URLs you already have. **Web search** runs your queries each check and alerts on results it hasn't seen before (labeled `new` once, `same` on later checks); `--goal` is required with `--queries`. ## Quick start ```bash # Single page, natural-language schedule, email alert firecrawl monitor create --name "Blog" --schedule "every 30 minutes" \ --goal "Alert when a new blog post is published." \ --page https://example.com/blog \ --email [email protected] # Web monitor — search the whole web for NEW results matching a goal firecrawl monitor create --name "Competitor launches" --schedule "daily at 9:00" \ --queries "competitor product launch,competitor funding round" \ --goal "Alert when a competitor announces a new product or raises funding." \ --search-window 7d --max-results 20 \ --email [email protected] # Webhook notifications firecrawl monitor create --name "Docs webhook" --schedule "every 30 minutes" \ --goal "Alert when docs content changes." \ --page https://example.com/docs \ --webhook-url https://example.com/hook \ --webhook-events monitor.page,monitor.check.completed # Manage and inspect firecrawl monitor list --limit 20 firecrawl monitor get <monitorId> firecrawl monitor run <monitorId> # trigger a check now firecrawl monitor checks <monitorId> # list all checks firecrawl monitor check <monitorId> <checkId> --page-status changed firecrawl monitor update <monitorId> --state paused firecrawl monitor delete <monitorId> ``` Subcommands: `create | list | get | update | delete | run | checks | check`. Run `firecrawl monitor <subcommand> --help` for the full option list. **Done when:** `create` returns a monitor ID and a smoke-test `run` + `check` confirms the expected target, state, and notification configuration. Read [goals.md](goals.md) when writing or refining `--goal` (and `--queries` for web monitors). Read [json-tracking.md](json-tracking.md) when the user cares about specific structured fields (price, headline, stock flag) and wants per-field diffs. ## Constraints & tips - Each check uses credits for its underlying scrape, crawl, or search, plus optional judging. See [Monitoring pricing](https://docs.firecrawl.dev/features/monitoring#pricing). - Minimum schedule interval is **5 minutes**. Monitoring is **not available for zero-data-retention teams**. - **Prefer one monitor over repeated one-off scrapes** whenever the user wants the same URL checked more than once. - **Silence temporarily with `update --state paused`**; reserve `delete` for monitors that are permanently done. (`--state` is an update flag; `--status` is the global CLI status flag.) - **Filter check pages with `--page-status changed`** (or `new`, `removed`, `error`) to skip the noise from `same` pages. - **`firecrawl monitor run <id>`** triggers a check immediately — useful for smoke-testing a monitor right after creating it. - **`--retention-days`** controls how long snapshots are kept for diffing. Lower it for high-frequency monitors to save storage. - **External email recipients must opt in.** First time they're added, Firecrawl sends a confirmation email and they only receive alerts after they confirm. Team-owned addresses are auto-confirmed. Once a recipient unsubscribes, they must be re-added by the owner for a fresh confirmation email. - **On HTTP 429 / rate-limit errors, back off once**: wait ~30s and retry once. If it persists, stop, report the rate limit as the blocking reason, and delete any monitors created for this task. Never retry in a loop. - **Monitor-triggered scrapes default `maxAge` to `0`** — every check performs a fresh scrape unless `scrapeOptions.maxAge` is set explicitly in a JSON payload. ## See also - [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — one-off scrape; escalate to `monitor` when checks become recurring - [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — one-off crawl; pair with `--crawl-url` here for recurring crawl diffs - [firecrawl](../firecrawl/SKILL.md) — top-level workflow guide - [firecrawl-build-scrape](https://github.com/firecrawl/skills/tree/main/skills/build/firecrawl-build-scrape) — building recurring checks into an app instead of running it here
Excerpt, first 5,494 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit ca9cfb7
git clone https://github.com/firecrawl/cli git -C cli checkout ca9cfb73adc1
The author documents no install command, so this uses the repository directly. Our verdict covers commit ca9cfb73adc1 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
ca9cfb73adc1
Similar skills
firecrawl/cli
Read a known webpage or execute a discovered workflow or data-provider capability. Use for page content or structured results once the URL or tool is selected.
firecrawl/cli
Find web sources with query-relevant page excerpts and optional full-page content, and discover workflows, data APIs, and indexes. Use for web research or finding structured records, listings, transcripts, and datasets.…
firecrawl/cli
Convert a local file (PDF, DOCX, XLSX, HTML, ...) to markdown, or answer questions about its content. Use whenever the input is a file path, not a URL.
firecrawl/cli
Drive a live browser on a scraped page: click, fill forms, log in, paginate, infinite-scroll. Use when content requires interaction or a scrape failed or returned incomplete content.
firecrawl/cli
Discover and list a site's URLs, with search filtering. Use for "map the site" or "find the URL for" requests — when the user knows the site but not the exact page, or wants site structure.
firecrawl/cli
Save a site or section as local files (markdown, screenshots). Use for "download the site", offline docs, or a local copy for reference.
Questions about firecrawl-monitor
What does the firecrawl-monitor skill do?
Is firecrawl-monitor safe to install?
What can firecrawl-monitor access on my machine?
How current is this page?
Sources
- github.com/firecrawl/cli/tree/main/skills/firecrawl-monitor — the audited source at commit ca9cfb73adc1 and every finding aboveObserved · 28 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the firecrawl-monitor skill do?
- Is firecrawl-monitor safe to install?
- What can firecrawl-monitor access on my machine?