Skip to content

Commit 32309be

Browse files
committed
Add workflows to cli!
1 parent f448fc2 commit 32309be

29 files changed

Lines changed: 107 additions & 4008 deletions

README.md

Lines changed: 13 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,30 @@ npx -y firecrawl-cli@1.16.2 init -y --browser
1818
- `--browser` opens the browser for Firecrawl authentication automatically
1919
- skills install globally to every detected AI coding agent by default
2020

21-
### Setup Skills and MCP
21+
### Setup Skills, Workflows, and MCP
2222

23-
If you are using an AI coding agent like Claude Code, you can also install the skills manually with:
23+
If you are using an AI coding agent like Claude Code, you can also install the skills manually:
2424

2525
```bash
2626
firecrawl setup skills
27+
firecrawl setup workflows
2728
```
2829

29-
This installs skills globally across all detected coding editors by default. Use `--agent <agent>` to scope it to one editor.
30+
These install globally across all detected coding editors by default. Use `--agent <agent>` to scope either command to one editor.
3031

3132
### Agent skills
3233

33-
The init command installs both sets of Firecrawl agent skills into AI coding agents (Cursor, Claude Code, Windsurf, etc.):
34+
The init command installs all Firecrawl agent skill segments into AI coding agents (Cursor, Claude Code, Windsurf, etc.):
3435

3536
- **CLI skills** — teach agents how to use the Firecrawl CLI for live web work (search, scrape, interact, map, crawl, agent)
3637
- **Build skills** — teach agents how to integrate Firecrawl into application code (choose endpoints, wire SDKs, set up API keys)
38+
- **Workflow skills** — teach agents how to produce Firecrawl-powered deliverables such as research briefs, SEO audits, QA reports, lead lists, knowledge bases, and design-system extraction
3739

3840
To reinstall skills manually:
3941

4042
```bash
4143
firecrawl setup skills
44+
firecrawl setup workflows
4245
```
4346

4447
To install the Firecrawl MCP server into your editors (Cursor, Claude Code, VS Code, etc.):
@@ -700,42 +703,17 @@ firecrawl x download https://docs.firecrawl.dev --screenshot --limit 20 -y
700703
firecrawl x download https://docs.firecrawl.dev --include-paths "/features,/sdks" -y
701704
```
702705

703-
### AI Workflows
706+
### Workflow Skills
704707

705-
Launch pre-built AI workflows that combine Firecrawl with your coding agent. One command spins up an interactive session with the right system prompt, tools, and instructions.
708+
The old experimental AI workflow commands have moved to the NPX-installable
709+
[`firecrawl/firecrawl-workflows`](https://github.com/firecrawl/firecrawl-workflows)
710+
skills package. Workflow skills infer from the user's request first and only ask
711+
short clarifying questions when required inputs are missing. Install them with:
706712

707713
```bash
708-
# Claude Code (available now)
709-
firecrawl x claude competitor-analysis https://firecrawl.dev
710-
firecrawl x claude deep-research "RAG pipeline data ingestion tools"
711-
firecrawl x claude lead-research "Vercel"
712-
firecrawl x claude seo-audit https://example.com
713-
firecrawl x claude qa https://myapp.com
714-
firecrawl x claude demo https://resend.com
715-
firecrawl x claude shop "best mechanical keyboard for developers"
716-
717-
# Natural language (no workflow name)
718-
firecrawl x claude "scrape the firecrawl docs and summarize"
719-
720-
# Codex and OpenCode -- coming soon
721-
firecrawl x codex competitor-analysis https://crawlee.dev
722-
firecrawl x opencode deep-research "browser automation frameworks"
714+
firecrawl setup workflows
723715
```
724716

725-
Add `-y` to auto-approve tool permissions.
726-
727-
See the full documentation: **[Experimental Workflows ->](src/commands/experimental/README.md)**
728-
729-
#### Prerequisites
730-
731-
Each backend requires its CLI to be installed separately:
732-
733-
| Backend | Install |
734-
| -------- | ----------------------------------------------------- |
735-
| Claude | `npm install -g @anthropic-ai/claude-code` |
736-
| Codex | `npm install -g @openai/codex` |
737-
| OpenCode | [opencode.ai/docs/cli](https://opencode.ai/docs/cli/) |
738-
739717
---
740718

741719
## Documentation

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "firecrawl-cli",
3-
"version": "1.17.0",
3+
"version": "1.17.1",
44
"description": "Command-line interface for Firecrawl. Scrape, crawl, and extract data from any website directly from your terminal.",
55
"main": "dist/index.js",
66
"bin": {

skills/firecrawl-cli/SKILL.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Search, scrape, and interact with the web. Returns clean markdown optimized for
1313

1414
Run `firecrawl --help` or `firecrawl <command> --help` for full option details.
1515

16-
If the task is to integrate Firecrawl into an application, add `FIRECRAWL_API_KEY` to a project, or choose endpoint usage in product code, use the `firecrawl-build` skills. They are already installed alongside this CLI skill when you run `firecrawl init`.
16+
If the task is to integrate Firecrawl into an application, add `FIRECRAWL_API_KEY` to a project, or choose endpoint usage in product code, use the `firecrawl-build` skills. If the task is an outcome workflow such as deep research, SEO audit, QA, lead generation, knowledge-base creation, dashboard reporting, shopping research, or website design-system extraction, use the `firecrawl-workflows` skills. They are already installed alongside this CLI skill when you run `firecrawl init`.
1717

1818
## Prerequisites
1919

@@ -90,6 +90,7 @@ For detailed command reference, run `firecrawl <command> --help`.
9090
- **Install, auth, or setup problems** -> [rules/install.md](rules/install.md)
9191
- **Output handling and safe file-reading patterns** -> [rules/security.md](rules/security.md)
9292
- **Integrating Firecrawl into an app, adding `FIRECRAWL_API_KEY` to `.env`, or choosing endpoint usage in product code** -> use the `firecrawl-build` skills (already installed alongside this CLI skill)
93+
- **Producing Firecrawl-powered deliverables such as research briefs, SEO audits, QA reports, lead lists, knowledge bases, or design-system extraction** -> use the `firecrawl-workflows` skills (already installed alongside this CLI skill). These skills infer from context first and ask only short blocking questions when needed.
9394

9495
## Output & Organization
9596

skills/firecrawl-cli/rules/install.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ description: |
1515
npx -y firecrawl-cli@1.16.2 init -y --browser
1616
```
1717

18-
This installs `firecrawl-cli` globally, authenticates via browser, and installs all skills.
18+
This installs `firecrawl-cli` globally, authenticates via browser, and installs core, build, and workflow skills.
1919

2020
This setup is safe to re-run when the CLI is missing, stale, or only partially configured.
2121

@@ -31,6 +31,7 @@ To install skills manually:
3131

3232
```bash
3333
firecrawl setup skills
34+
firecrawl setup workflows
3435
```
3536

3637
## Manual Install

src/__tests__/commands/init.test.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe('handleInitCommand', () => {
1717
vi.restoreAllMocks();
1818
});
1919

20-
it('installs skills from both repos globally across all detected agents in non-interactive mode', async () => {
20+
it('installs skills from all repos globally across all detected agents in non-interactive mode', async () => {
2121
await handleInitCommand({
2222
yes: true,
2323
skipInstall: true,
@@ -32,9 +32,13 @@ describe('handleInitCommand', () => {
3232
'npx -y skills add firecrawl/skills --full-depth --global --all --yes',
3333
expect.objectContaining({ stdio: ['ignore', 'pipe', 'pipe'] })
3434
);
35+
expect(execSync).toHaveBeenCalledWith(
36+
'npx -y skills add firecrawl/firecrawl-workflows --full-depth --global --all --yes',
37+
expect.objectContaining({ stdio: ['ignore', 'pipe', 'pipe'] })
38+
);
3539
});
3640

37-
it('scopes non-interactive skills install to one agent across both repos when provided', async () => {
41+
it('scopes non-interactive skills install to one agent across all repos when provided', async () => {
3842
await handleInitCommand({
3943
yes: true,
4044
skipInstall: true,
@@ -50,5 +54,9 @@ describe('handleInitCommand', () => {
5054
'npx -y skills add firecrawl/skills --full-depth --global --yes --agent cursor',
5155
expect.objectContaining({ stdio: ['ignore', 'pipe', 'pipe'] })
5256
);
57+
expect(execSync).toHaveBeenCalledWith(
58+
'npx -y skills add firecrawl/firecrawl-workflows --full-depth --global --yes --agent cursor',
59+
expect.objectContaining({ stdio: ['ignore', 'pipe', 'pipe'] })
60+
);
5361
});
5462
});

src/__tests__/commands/setup.test.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ describe('handleSetupCommand', () => {
1515
vi.restoreAllMocks();
1616
});
1717

18-
it('installs skills globally across all detected agents from both repos by default', async () => {
18+
it('installs core and build skills globally across all detected agents by default', async () => {
1919
await handleSetupCommand('skills', {});
2020

2121
expect(execSync).toHaveBeenCalledWith(
@@ -28,7 +28,7 @@ describe('handleSetupCommand', () => {
2828
);
2929
});
3030

31-
it('installs skills globally for a specific agent from both repos without using --all', async () => {
31+
it('installs core and build skills globally for a specific agent without using --all', async () => {
3232
await handleSetupCommand('skills', { agent: 'cursor' });
3333

3434
expect(execSync).toHaveBeenCalledWith(
@@ -41,6 +41,15 @@ describe('handleSetupCommand', () => {
4141
);
4242
});
4343

44+
it('installs workflow skills as a separate setup option', async () => {
45+
await handleSetupCommand('workflows', {});
46+
47+
expect(execSync).toHaveBeenCalledWith(
48+
'npx -y skills add firecrawl/firecrawl-workflows --full-depth --global --all',
49+
expect.objectContaining({ stdio: 'inherit' })
50+
);
51+
});
52+
4453
it('strips inherited npm_* env vars before nested npx calls', async () => {
4554
// Reproduces the bug where running this CLI under `npx -y firecrawl-cli@VERSION`
4655
// leaks npm_command/npm_lifecycle_event/npm_execpath into nested

src/commands/experimental/README.md

Lines changed: 0 additions & 194 deletions
This file was deleted.

0 commit comments

Comments
 (0)