ultimate-pi 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/ck-search/SKILL.md +99 -0
- package/.agents/skills/defuddle/SKILL.md +90 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/firecrawl/SKILL.md +150 -0
- package/.agents/skills/firecrawl/rules/install.md +82 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/firecrawl-agent/SKILL.md +57 -0
- package/.agents/skills/firecrawl-build-interact/SKILL.md +67 -0
- package/.agents/skills/firecrawl-build-onboarding/SKILL.md +102 -0
- package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/.agents/skills/firecrawl-build-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-build-search/SKILL.md +68 -0
- package/.agents/skills/firecrawl-crawl/SKILL.md +58 -0
- package/.agents/skills/firecrawl-download/SKILL.md +69 -0
- package/.agents/skills/firecrawl-interact/SKILL.md +83 -0
- package/.agents/skills/firecrawl-map/SKILL.md +50 -0
- package/.agents/skills/firecrawl-parse/SKILL.md +61 -0
- package/.agents/skills/firecrawl-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-search/SKILL.md +59 -0
- package/.agents/skills/obsidian-bases/SKILL.md +299 -0
- package/.agents/skills/obsidian-markdown/SKILL.md +237 -0
- package/.agents/skills/posthog-analyst/SKILL.md +306 -0
- package/.agents/skills/posthog-analyst/evals/evals.json +23 -0
- package/.agents/skills/wiki/SKILL.md +215 -0
- package/.agents/skills/wiki/references/css-snippets.md +122 -0
- package/.agents/skills/wiki/references/frontmatter.md +107 -0
- package/.agents/skills/wiki/references/git-setup.md +58 -0
- package/.agents/skills/wiki/references/mcp-setup.md +149 -0
- package/.agents/skills/wiki/references/modes.md +259 -0
- package/.agents/skills/wiki/references/plugins.md +96 -0
- package/.agents/skills/wiki/references/rest-api.md +124 -0
- package/.agents/skills/wiki-autoresearch/SKILL.md +211 -0
- package/.agents/skills/wiki-autoresearch/references/program.md +75 -0
- package/.agents/skills/wiki-fold/SKILL.md +204 -0
- package/.agents/skills/wiki-fold/references/fold-template.md +133 -0
- package/.agents/skills/wiki-ingest/SKILL.md +288 -0
- package/.agents/skills/wiki-lint/SKILL.md +183 -0
- package/.agents/skills/wiki-query/SKILL.md +176 -0
- package/.agents/skills/wiki-save/SKILL.md +128 -0
- package/.ckignore +41 -0
- package/.env.example +9 -0
- package/.github/workflows/lint.yml +33 -0
- package/.github/workflows/publish-github-packages.yml +35 -0
- package/.github/workflows/publish-npm.yml +1 -1
- package/.pi/SYSTEM.md +107 -40
- package/.pi/agents/pi-pi/agent-expert.md +205 -0
- package/.pi/agents/pi-pi/cli-expert.md +47 -0
- package/.pi/agents/pi-pi/config-expert.md +67 -0
- package/.pi/agents/pi-pi/ext-expert.md +53 -0
- package/.pi/agents/pi-pi/keybinding-expert.md +123 -0
- package/.pi/agents/pi-pi/pi-orchestrator.md +103 -0
- package/.pi/agents/pi-pi/prompt-expert.md +83 -0
- package/.pi/agents/pi-pi/skill-expert.md +52 -0
- package/.pi/agents/pi-pi/theme-expert.md +46 -0
- package/.pi/agents/pi-pi/tui-expert.md +100 -0
- package/.pi/agents/rethink.md +140 -0
- package/.pi/agents/wiki-ingest.md +67 -0
- package/.pi/agents/wiki-lint.md +75 -0
- package/.pi/auto-commit.json +20 -0
- package/.pi/extensions/banner.png +0 -0
- package/.pi/extensions/ck-enforce.ts +216 -0
- package/.pi/extensions/custom-footer.ts +308 -0
- package/.pi/extensions/custom-header.ts +116 -0
- package/.pi/extensions/dotenv-loader.ts +170 -0
- package/.pi/internal/cursor-sdk-transcript-parser.ts +59 -0
- package/.pi/model-router.json +95 -0
- package/.pi/npm/.gitignore +2 -0
- package/.pi/prompts/git-sync.md +124 -0
- package/.pi/prompts/harness-setup.md +509 -0
- package/.pi/prompts/save.md +16 -0
- package/.pi/prompts/wiki-autoresearch.md +19 -0
- package/.pi/prompts/wiki.md +23 -0
- package/.pi/providers/cursor-sdk-provider.test.mjs +476 -0
- package/.pi/providers/cursor-sdk-provider.ts +1085 -0
- package/.pi/settings.json +14 -4
- package/.pi/skills/agent-router/SKILL.md +174 -0
- package/.pi/sounds/alert/1-kaching-track.mp3 +0 -0
- package/.pi/sounds/error/1-ksi-wth-track.mp3 +0 -0
- package/.pi/sounds/error/2-smash-track.mp3 +0 -0
- package/.pi/sounds/error/3-buzzer-track.mp3 +0 -0
- package/.pi/sounds/notification/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/project-sounds.json +25 -0
- package/.pi/sounds/reminder/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/success/1-tada-track.mp3 +0 -0
- package/.pi/sounds/success/2-jobs-done-track.mp3 +0 -0
- package/.pi/sounds/success/3-yay-track.mp3 +0 -0
- package/CONTRIBUTING.md +116 -0
- package/README.md +32 -39
- package/biome.json +34 -0
- package/firecrawl/.env.template +58 -0
- package/firecrawl/README.md +49 -0
- package/firecrawl/docker-compose.yaml +201 -0
- package/firecrawl/searxng/searxng.env +3 -0
- package/firecrawl/searxng/settings.yml +85 -0
- package/lefthook.yml +8 -0
- package/package.json +55 -24
- package/vault/AGENTS.md +37 -0
- package/vault/wiki/_templates/comparison.md +39 -0
- package/vault/wiki/_templates/concept.md +40 -0
- package/vault/wiki/_templates/decision.md +21 -0
- package/vault/wiki/_templates/entity.md +32 -0
- package/vault/wiki/_templates/flow.md +14 -0
- package/vault/wiki/_templates/module.md +18 -0
- package/vault/wiki/_templates/question.md +31 -0
- package/vault/wiki/_templates/source.md +39 -0
- package/vault/wiki/concepts/AST-Aware Code Chunking.md +44 -0
- package/vault/wiki/concepts/Build-Time Prompt Compilation.md +107 -0
- package/vault/wiki/concepts/Context Engine (AI Coding).md +47 -0
- package/vault/wiki/concepts/Context-Aware System Reminders.md +61 -0
- package/vault/wiki/concepts/Contextualized Text Embedding.md +42 -0
- package/vault/wiki/concepts/Contractor vs Employee AI Model.md +55 -0
- package/vault/wiki/concepts/Dual-Model Agent Architecture.md +65 -0
- package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +43 -0
- package/vault/wiki/concepts/Majority Vote Ensembling.md +68 -0
- package/vault/wiki/concepts/Meta-Harness.md +16 -0
- package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +75 -0
- package/vault/wiki/concepts/Prompt Enhancement.md +90 -0
- package/vault/wiki/concepts/Prompt Renderer.md +89 -0
- package/vault/wiki/concepts/Semantic Codebase Indexing.md +67 -0
- package/vault/wiki/concepts/additive-config-hierarchy.md +16 -0
- package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +71 -0
- package/vault/wiki/concepts/agent-browser-browser-automation.md +99 -0
- package/vault/wiki/concepts/agent-codebase-interface.md +43 -0
- package/vault/wiki/concepts/agent-harness-architecture.md +67 -0
- package/vault/wiki/concepts/agent-loop-detection-patterns.md +133 -0
- package/vault/wiki/concepts/agent-search-enforcement.md +126 -0
- package/vault/wiki/concepts/agent-skills-ecosystem.md +74 -0
- package/vault/wiki/concepts/agent-skills-pattern.md +68 -0
- package/vault/wiki/concepts/agentic-harness-context-enforcement.md +91 -0
- package/vault/wiki/concepts/agentic-harness.md +34 -0
- package/vault/wiki/concepts/agentic-orchestration-pipeline.md +56 -0
- package/vault/wiki/concepts/agentic-search-no-embeddings.md +18 -0
- package/vault/wiki/concepts/anthropic-context-engineering.md +13 -0
- package/vault/wiki/concepts/antigravity-agent-first-architecture.md +61 -0
- package/vault/wiki/concepts/ast-compression.md +19 -0
- package/vault/wiki/concepts/ast-truncation.md +66 -0
- package/vault/wiki/concepts/barrel-files.md +37 -0
- package/vault/wiki/concepts/browser-harness-agent.md +41 -0
- package/vault/wiki/concepts/browser-subagent-visual-verification.md +82 -0
- package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +192 -0
- package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +161 -0
- package/vault/wiki/concepts/codebase-to-context-ingestion.md +46 -0
- package/vault/wiki/concepts/codex-harness-innovations.md +147 -0
- package/vault/wiki/concepts/consensus-debate-flow.md +17 -0
- package/vault/wiki/concepts/consensus-debate.md +206 -0
- package/vault/wiki/concepts/content-addressed-spec-identity.md +166 -0
- package/vault/wiki/concepts/context-anxiety.md +57 -0
- package/vault/wiki/concepts/context-compression-techniques.md +19 -0
- package/vault/wiki/concepts/context-continuity.md +22 -0
- package/vault/wiki/concepts/context-drift-in-agents.md +106 -0
- package/vault/wiki/concepts/context-engineering.md +62 -0
- package/vault/wiki/concepts/context-folding.md +67 -0
- package/vault/wiki/concepts/context-mode.md +38 -0
- package/vault/wiki/concepts/cursor-harness-innovations.md +107 -0
- package/vault/wiki/concepts/deterministic-session-compaction.md +79 -0
- package/vault/wiki/concepts/drift-detection-unified.md +296 -0
- package/vault/wiki/concepts/execution-feedback-loop.md +46 -0
- package/vault/wiki/concepts/feedforward-feedback-harness.md +60 -0
- package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +40 -0
- package/vault/wiki/concepts/fork-safe-spec-storage.md +89 -0
- package/vault/wiki/concepts/fts5-sandbox.md +19 -0
- package/vault/wiki/concepts/fuzzy-edit-matching.md +71 -0
- package/vault/wiki/concepts/gemini-cli-architecture.md +104 -0
- package/vault/wiki/concepts/generator-evaluator-architecture.md +64 -0
- package/vault/wiki/concepts/guardian-agent-pattern.md +67 -0
- package/vault/wiki/concepts/harness-configuration-layers.md +89 -0
- package/vault/wiki/concepts/harness-control-frameworks.md +155 -0
- package/vault/wiki/concepts/harness-engineering-first-principles.md +90 -0
- package/vault/wiki/concepts/harness-h-formalism.md +53 -0
- package/vault/wiki/concepts/hybrid-code-search.md +61 -0
- package/vault/wiki/concepts/inline-post-edit-validation.md +112 -0
- package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +110 -0
- package/vault/wiki/concepts/lifecycle-hooks.md +94 -0
- package/vault/wiki/concepts/mcp-tool-routing.md +102 -0
- package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +47 -0
- package/vault/wiki/concepts/meta-agent-context-pruning.md +151 -0
- package/vault/wiki/concepts/model-adaptive-harness.md +122 -0
- package/vault/wiki/concepts/model-routing-agents.md +101 -0
- package/vault/wiki/concepts/monorepo-architecture.md +45 -0
- package/vault/wiki/concepts/multi-agent-specialization.md +61 -0
- package/vault/wiki/concepts/permission-subsystem.md +16 -0
- package/vault/wiki/concepts/pi-messenger-analysis.md +243 -0
- package/vault/wiki/concepts/pi-vscode-extension-landscape.md +37 -0
- package/vault/wiki/concepts/policy-engine-pattern.md +78 -0
- package/vault/wiki/concepts/progressive-disclosure-agents.md +53 -0
- package/vault/wiki/concepts/progressive-skill-disclosure.md +17 -0
- package/vault/wiki/concepts/provider-native-prompting.md +203 -0
- package/vault/wiki/concepts/quality-signal-sentrux.md +37 -0
- package/vault/wiki/concepts/repo-map-ranking.md +42 -0
- package/vault/wiki/concepts/result-monad-error-handling.md +47 -0
- package/vault/wiki/concepts/safety-defense-in-depth.md +83 -0
- package/vault/wiki/concepts/sandbox-os-enforcement.md +18 -0
- package/vault/wiki/concepts/selective-debate-routing.md +70 -0
- package/vault/wiki/concepts/self-evolving-harness.md +60 -0
- package/vault/wiki/concepts/sentrux-mcp-integration.md +36 -0
- package/vault/wiki/concepts/sentrux-rules-engine.md +49 -0
- package/vault/wiki/concepts/shell-pattern-compression.md +24 -0
- package/vault/wiki/concepts/skill-first-architecture.md +166 -0
- package/vault/wiki/concepts/structured-compaction.md +78 -0
- package/vault/wiki/concepts/subagent-orchestration.md +17 -0
- package/vault/wiki/concepts/subagent-worktree-isolation.md +68 -0
- package/vault/wiki/concepts/superpowers-methodology.md +78 -0
- package/vault/wiki/concepts/think-in-code.md +73 -0
- package/vault/wiki/concepts/ts-execution-layer.md +100 -0
- package/vault/wiki/concepts/typescript-strict-mode.md +37 -0
- package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +51 -0
- package/vault/wiki/concepts/verification-drift-detection.md +19 -0
- package/vault/wiki/consensus/consensus-records.md +58 -0
- package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +122 -0
- package/vault/wiki/decisions/adr-008.md +40 -0
- package/vault/wiki/decisions/adr-009.md +46 -0
- package/vault/wiki/decisions/adr-010.md +55 -0
- package/vault/wiki/decisions/adr-011.md +165 -0
- package/vault/wiki/decisions/adr-012.md +102 -0
- package/vault/wiki/decisions/adr-013.md +59 -0
- package/vault/wiki/decisions/adr-014.md +73 -0
- package/vault/wiki/decisions/adr-015.md +81 -0
- package/vault/wiki/decisions/adr-016.md +91 -0
- package/vault/wiki/decisions/adr-017.md +79 -0
- package/vault/wiki/decisions/adr-018.md +100 -0
- package/vault/wiki/decisions/adr-019.md +75 -0
- package/vault/wiki/decisions/adr-020.md +106 -0
- package/vault/wiki/decisions/adr-021.md +86 -0
- package/vault/wiki/decisions/adr-022.md +113 -0
- package/vault/wiki/decisions/adr-023.md +113 -0
- package/vault/wiki/decisions/adr-024.md +73 -0
- package/vault/wiki/decisions/adr-025.md +130 -0
- package/vault/wiki/decisions/adr-026.md +56 -0
- package/vault/wiki/decisions/colocate-wiki.md +34 -0
- package/vault/wiki/entities/Anders Hejlsberg.md +29 -0
- package/vault/wiki/entities/Anthropic.md +17 -0
- package/vault/wiki/entities/Augment Code.md +49 -0
- package/vault/wiki/entities/Bjarne Stroustrup.md +26 -0
- package/vault/wiki/entities/Bolt.new (StackBlitz).md +39 -0
- package/vault/wiki/entities/Boris Cherny.md +11 -0
- package/vault/wiki/entities/Claude Code.md +19 -0
- package/vault/wiki/entities/Dennis Ritchie.md +26 -0
- package/vault/wiki/entities/Emergent Labs.md +32 -0
- package/vault/wiki/entities/Google Cloud.md +16 -0
- package/vault/wiki/entities/Guido van Rossum.md +28 -0
- package/vault/wiki/entities/Ken Thompson.md +28 -0
- package/vault/wiki/entities/Lee et al.md +16 -0
- package/vault/wiki/entities/Linus Torvalds.md +28 -0
- package/vault/wiki/entities/Lovable (company).md +40 -0
- package/vault/wiki/entities/Martin Fowler.md +16 -0
- package/vault/wiki/entities/Meng et al.md +16 -0
- package/vault/wiki/entities/OpenAI.md +16 -0
- package/vault/wiki/entities/Rocket.new.md +38 -0
- package/vault/wiki/entities/VILA-Lab.md +15 -0
- package/vault/wiki/entities/autodev-codebase.md +18 -0
- package/vault/wiki/entities/ck-tool.md +59 -0
- package/vault/wiki/entities/codesearch.md +18 -0
- package/vault/wiki/entities/disler-indydevdan.md +33 -0
- package/vault/wiki/entities/gsd-get-shit-done.md +56 -0
- package/vault/wiki/entities/javascript-runtimes.md +48 -0
- package/vault/wiki/entities/jesse-vincent.md +38 -0
- package/vault/wiki/entities/lean-ctx.md +32 -0
- package/vault/wiki/entities/opendev.md +41 -0
- package/vault/wiki/entities/ops-codegraph-tool.md +18 -0
- package/vault/wiki/entities/pi-coding-agent.md +53 -0
- package/vault/wiki/entities/sentrux.md +54 -0
- package/vault/wiki/entities/vgrep-tool.md +57 -0
- package/vault/wiki/entities/vitest.md +41 -0
- package/vault/wiki/flows/harness-wiki-pipeline.md +204 -0
- package/vault/wiki/hot.md +932 -0
- package/vault/wiki/index.md +437 -0
- package/vault/wiki/log.md +418 -0
- package/vault/wiki/meta/dashboard.md +30 -0
- package/vault/wiki/meta/lint-report-2026-04-30.md +86 -0
- package/vault/wiki/meta/lint-report-2026-05-02.md +251 -0
- package/vault/wiki/meta/overview.canvas +43 -0
- package/vault/wiki/modules/adversarial-verification.md +57 -0
- package/vault/wiki/modules/automated-observability.md +54 -0
- package/vault/wiki/modules/bench.md +20 -0
- package/vault/wiki/modules/extensions.md +23 -0
- package/vault/wiki/modules/grounding-checkpoints.md +62 -0
- package/vault/wiki/modules/harness-implementation-plan.md +345 -0
- package/vault/wiki/modules/harness-wiki-skill-mapping.md +135 -0
- package/vault/wiki/modules/harness.md +86 -0
- package/vault/wiki/modules/persistent-memory.md +85 -0
- package/vault/wiki/modules/schema-orchestration.md +68 -0
- package/vault/wiki/modules/skills.md +27 -0
- package/vault/wiki/modules/spec-hardening.md +58 -0
- package/vault/wiki/modules/structured-planning.md +53 -0
- package/vault/wiki/modules/think-in-code-enforcement.md +153 -0
- package/vault/wiki/modules/wiki-query-interface.md +64 -0
- package/vault/wiki/overview.md +51 -0
- package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +87 -0
- package/vault/wiki/questions/Research-sentrux-dev.md +123 -0
- package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +164 -0
- package/vault/wiki/questions/Research: Augment Code Context Engine.md +244 -0
- package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +112 -0
- package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +209 -0
- package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +99 -0
- package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +107 -0
- package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +72 -0
- package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +166 -0
- package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +188 -0
- package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +120 -0
- package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +236 -0
- package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +95 -0
- package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +165 -0
- package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +216 -0
- package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +91 -0
- package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +88 -0
- package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +81 -0
- package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +71 -0
- package/vault/wiki/questions/Research: claude-mem over obsidian wiki as the knowledge base for our agentic harness pipeline. think from first principles. does this replace or complement our current setup? no hard feelings about previous decisions. gimme accurate points.md +80 -0
- package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +72 -0
- package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +92 -0
- package/vault/wiki/questions/Research: executor.sh Harness Integration.md +170 -0
- package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +97 -0
- package/vault/wiki/questions/Research: how claude-mem fits into our workflow. and whether it should replace obsidian in the codebase. no hard feelings about previous actions, rethink from first principles always.md +80 -0
- package/vault/wiki/questions/Research: pi-vcc.md +113 -0
- package/vault/wiki/questions/Research: semantic code search tools.md +69 -0
- package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +73 -0
- package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +111 -0
- package/vault/wiki/questions/mvp-implementation-blueprint.md +552 -0
- package/vault/wiki/questions/research-agent-first-codebase-exploration.md +199 -0
- package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +142 -0
- package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +100 -0
- package/vault/wiki/questions/research-wozcode-token-reduction.md +67 -0
- package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +95 -0
- package/vault/wiki/questions/resolved-context-window-economics.md +167 -0
- package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +126 -0
- package/vault/wiki/questions/resolved-mcp-tool-preference.md +112 -0
- package/vault/wiki/questions/resolved-small-model-meta-agents.md +107 -0
- package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +95 -0
- package/vault/wiki/sources/Auggie Context MCP Server.md +63 -0
- package/vault/wiki/sources/Augment Code Codacy AI Giants.md +61 -0
- package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +49 -0
- package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +55 -0
- package/vault/wiki/sources/Augment Context Engine Official.md +71 -0
- package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +74 -0
- package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +58 -0
- package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +75 -0
- package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +85 -0
- package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +58 -0
- package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +100 -0
- package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +75 -0
- package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +107 -0
- package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +70 -0
- package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +88 -0
- package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +57 -0
- package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +53 -0
- package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +65 -0
- package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +83 -0
- package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +70 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +58 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +101 -0
- package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +100 -0
- package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +53 -0
- package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +70 -0
- package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +71 -0
- package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +89 -0
- package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +155 -0
- package/vault/wiki/sources/Source: browser-harness CDP Harness.md +126 -0
- package/vault/wiki/sources/agent-drift-academic-paper.md +79 -0
- package/vault/wiki/sources/aider-repomap-tree-sitter.md +42 -0
- package/vault/wiki/sources/anthropic-compaction-api.md +58 -0
- package/vault/wiki/sources/anthropic-effective-harnesses.md +42 -0
- package/vault/wiki/sources/anthropic-prompt-best-practices.md +100 -0
- package/vault/wiki/sources/anthropic2026-harness-design.md +63 -0
- package/vault/wiki/sources/barrel-files-tkdodo.md +38 -0
- package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +57 -0
- package/vault/wiki/sources/bockeler2026-harness-engineering.md +69 -0
- package/vault/wiki/sources/cast-code-chunking-paper.md +50 -0
- package/vault/wiki/sources/ck-semantic-search.md +78 -0
- package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +71 -0
- package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +50 -0
- package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +64 -0
- package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +70 -0
- package/vault/wiki/sources/claude-context-editing-docs.md +13 -0
- package/vault/wiki/sources/cloudflare-codemode.md +63 -0
- package/vault/wiki/sources/code-chunk-library-supermemory.md +63 -0
- package/vault/wiki/sources/codeact-apple-2024.md +62 -0
- package/vault/wiki/sources/codex-dsc-rfc-8573.md +41 -0
- package/vault/wiki/sources/codex-open-source-agent-2026.md +110 -0
- package/vault/wiki/sources/coir-code-retrieval-benchmark.md +51 -0
- package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +48 -0
- package/vault/wiki/sources/context-folding-paper.md +61 -0
- package/vault/wiki/sources/context-mode-website.md +63 -0
- package/vault/wiki/sources/cursor-agent-best-practices-2026.md +62 -0
- package/vault/wiki/sources/cursor-fork-29b-2025.md +50 -0
- package/vault/wiki/sources/cursor-harness-april-2026.md +76 -0
- package/vault/wiki/sources/cursor-instant-apply-2024.md +45 -0
- package/vault/wiki/sources/cursor-shadow-workspace-2024.md +52 -0
- package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +53 -0
- package/vault/wiki/sources/cursor-vs-antigravity-2026.md +51 -0
- package/vault/wiki/sources/disler-pi-vs-claude-code.md +69 -0
- package/vault/wiki/sources/distill-deterministic-context-compression.md +53 -0
- package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +48 -0
- package/vault/wiki/sources/executor-rhyssullivan.md +122 -0
- package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +125 -0
- package/vault/wiki/sources/fan2025-imad.md +60 -0
- package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +63 -0
- package/vault/wiki/sources/gemini-3-prompting-guide.md +78 -0
- package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +50 -0
- package/vault/wiki/sources/gh-sub-issue-extension.md +72 -0
- package/vault/wiki/sources/github-fork-issues-discussion.md +44 -0
- package/vault/wiki/sources/github-issue-dependencies-docs.md +49 -0
- package/vault/wiki/sources/github-sub-issues-docs.md +51 -0
- package/vault/wiki/sources/gitingest.md +91 -0
- package/vault/wiki/sources/gitreverse.md +63 -0
- package/vault/wiki/sources/google-antigravity-official-blog.md +47 -0
- package/vault/wiki/sources/google-antigravity-wikipedia.md +53 -0
- package/vault/wiki/sources/gsd-codecentric-deep-dive.md +57 -0
- package/vault/wiki/sources/gsd-github-repo.md +51 -0
- package/vault/wiki/sources/gsd-hn-discussion.md +59 -0
- package/vault/wiki/sources/guido-python-design-philosophy.md +56 -0
- package/vault/wiki/sources/hejlsberg-7-learnings.md +48 -0
- package/vault/wiki/sources/ironclaw-drift-monitor.md +80 -0
- package/vault/wiki/sources/langsight-loop-detection.md +80 -0
- package/vault/wiki/sources/leanctx-website.md +69 -0
- package/vault/wiki/sources/lee2026-meta-harness.md +59 -0
- package/vault/wiki/sources/linux-kernel-coding-workflow.md +50 -0
- package/vault/wiki/sources/lou2026-autoharness.md +53 -0
- package/vault/wiki/sources/martin-fowler-harness-engineering.md +73 -0
- package/vault/wiki/sources/mcp-architecture-docs.md +13 -0
- package/vault/wiki/sources/meng2026-agent-harness-survey.md +79 -0
- package/vault/wiki/sources/mindstudio-four-agent-types.md +68 -0
- package/vault/wiki/sources/ms-chat-history-management.md +13 -0
- package/vault/wiki/sources/openai-prompt-guidance.md +104 -0
- package/vault/wiki/sources/openclaw-session-pruning.md +13 -0
- package/vault/wiki/sources/opencode-dcp.md +13 -0
- package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +79 -0
- package/vault/wiki/sources/openhands-platform.md +39 -0
- package/vault/wiki/sources/oss-guide-codebase-exploration.md +53 -0
- package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +102 -0
- package/vault/wiki/sources/pi-context-prune-github-repo.md +38 -0
- package/vault/wiki/sources/pi-mono-compaction-docs.md +38 -0
- package/vault/wiki/sources/pi-omni-compact-github-repo.md +50 -0
- package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +45 -0
- package/vault/wiki/sources/pi-vcc-github-repo.md +69 -0
- package/vault/wiki/sources/pi-vscode-marketplace.md +41 -0
- package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +39 -0
- package/vault/wiki/sources/py-tree-sitter.md +13 -0
- package/vault/wiki/sources/sentrux-dev-landing.md +40 -0
- package/vault/wiki/sources/sentrux-docs-pro-architecture.md +75 -0
- package/vault/wiki/sources/sentrux-docs-quality-signal.md +46 -0
- package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +57 -0
- package/vault/wiki/sources/sentrux-docs-rules-engine.md +58 -0
- package/vault/wiki/sources/sentrux-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-release-blog.md +54 -0
- package/vault/wiki/sources/superpowers-termdock-analysis.md +45 -0
- package/vault/wiki/sources/swe-agent-aci.md +42 -0
- package/vault/wiki/sources/swe-bench.md +45 -0
- package/vault/wiki/sources/swe-pruner-context-pruning.md +13 -0
- package/vault/wiki/sources/think-in-code-blog.md +48 -0
- package/vault/wiki/sources/tree-sitter-docs.md +13 -0
- package/vault/wiki/sources/ts-best-practices-2025-devto.md +42 -0
- package/vault/wiki/sources/ts-folder-structure-mingyang.md +58 -0
- package/vault/wiki/sources/ts-monorepo-koerselman.md +44 -0
- package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +52 -0
- package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +42 -0
- package/vault/wiki/sources/ts-strict-mode-rishikc.md +43 -0
- package/vault/wiki/sources/unix-philosophy.md +48 -0
- package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +39 -0
- package/vault/wiki/sources/vectara-guardian-agents.md +79 -0
- package/vault/wiki/sources/vgrep-semantic-search.md +76 -0
- package/vault/wiki/sources/vitest-official.md +41 -0
- package/vault/wiki/sources/vscode-pi-community-extension.md +40 -0
- package/vault/wiki/sources/wozcode.md +79 -0
- package/.agents/skills/compress/SKILL.md +0 -111
- package/.agents/skills/compress/scripts/__init__.py +0 -9
- package/.agents/skills/compress/scripts/__main__.py +0 -3
- package/.agents/skills/compress/scripts/benchmark.py +0 -78
- package/.agents/skills/compress/scripts/cli.py +0 -73
- package/.agents/skills/compress/scripts/compress.py +0 -227
- package/.agents/skills/compress/scripts/detect.py +0 -121
- package/.agents/skills/compress/scripts/validate.py +0 -189
- package/.agents/skills/emil-design-eng/SKILL.md +0 -679
- package/.agents/skills/lean-ctx/SKILL.md +0 -149
- package/.agents/skills/lean-ctx/scripts/install.sh +0 -95
- package/.agents/skills/scrapling-official/LICENSE.txt +0 -28
- package/.agents/skills/scrapling-official/SKILL.md +0 -390
- package/.agents/skills/scrapling-official/examples/01_fetcher_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/02_dynamic_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/03_stealthy_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/04_spider.py +0 -58
- package/.agents/skills/scrapling-official/examples/README.md +0 -45
- package/.agents/skills/scrapling-official/references/fetching/choosing.md +0 -78
- package/.agents/skills/scrapling-official/references/fetching/dynamic.md +0 -352
- package/.agents/skills/scrapling-official/references/fetching/static.md +0 -432
- package/.agents/skills/scrapling-official/references/fetching/stealthy.md +0 -255
- package/.agents/skills/scrapling-official/references/mcp-server.md +0 -214
- package/.agents/skills/scrapling-official/references/migrating_from_beautifulsoup.md +0 -86
- package/.agents/skills/scrapling-official/references/parsing/adaptive.md +0 -212
- package/.agents/skills/scrapling-official/references/parsing/main_classes.md +0 -586
- package/.agents/skills/scrapling-official/references/parsing/selection.md +0 -494
- package/.agents/skills/scrapling-official/references/spiders/advanced.md +0 -344
- package/.agents/skills/scrapling-official/references/spiders/architecture.md +0 -94
- package/.agents/skills/scrapling-official/references/spiders/getting-started.md +0 -164
- package/.agents/skills/scrapling-official/references/spiders/proxy-blocking.md +0 -235
- package/.agents/skills/scrapling-official/references/spiders/requests-responses.md +0 -196
- package/.agents/skills/scrapling-official/references/spiders/sessions.md +0 -205
- package/PLAN.md +0 -11
- package/extensions/lean-ctx-enforce.ts +0 -166
- package/skills-lock.json +0 -35
- package/wiki/README.md +0 -19
- package/wiki/decisions/0001-establish-project-wiki-and-decision-record-format.md +0 -25
- package/wiki/decisions/0002-add-project-banner-to-readme.md +0 -26
- package/wiki/decisions/0003-remove-redundant-readme-title-heading.md +0 -26
- package/wiki/decisions/0004-publish-package-to-npm-as-ultimate-pi.md +0 -26
- package/wiki/decisions/0005-automate-npm-publish-with-github-actions.md +0 -27
- package/wiki/decisions/0006-switch-to-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0007-use-absolute-banner-url-for-npm-readme-rendering.md +0 -26
- package/wiki/decisions/0008-rename-banner-asset-for-cache-busting.md +0 -26
- package/wiki/decisions/0009-force-oidc-path-by-clearing-node-auth-token-in-publish-step.md +0 -25
- package/wiki/decisions/0010-simplify-setup-node-for-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0011-add-noop-workflow-change-to-force-fresh-publish-run.md +0 -25
- package/wiki/decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md +0 -26
- package/wiki/decisions/0013-add-package-repository-url-for-provenance-validation.md +0 -25
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-build-interact
|
|
3
|
+
description: Integrate Firecrawl `/interact` into product code for dynamic pages and browser actions after scraping. Use when a feature needs clicks, form fills, pagination, authentication-aware flows, or other multi-step interactions that plain `/scrape` cannot complete.
|
|
4
|
+
license: ISC
|
|
5
|
+
metadata:
|
|
6
|
+
author: firecrawl
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
homepage: https://www.firecrawl.dev
|
|
9
|
+
source: https://github.com/firecrawl/skills
|
|
10
|
+
inputs:
|
|
11
|
+
- name: FIRECRAWL_API_KEY
|
|
12
|
+
description: Firecrawl API key for hosted Firecrawl requests.
|
|
13
|
+
required: true
|
|
14
|
+
- name: FIRECRAWL_API_URL
|
|
15
|
+
description: Optional base URL for self-hosted Firecrawl deployments.
|
|
16
|
+
required: false
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Firecrawl Build Interact
|
|
20
|
+
|
|
21
|
+
Use this when `/scrape` is not enough because the feature needs to act on the page.
|
|
22
|
+
|
|
23
|
+
## Use This When
|
|
24
|
+
|
|
25
|
+
- content appears only after clicks, typing, or navigation
|
|
26
|
+
- the feature needs forms, pagination, filters, or multi-step flows
|
|
27
|
+
- the product must stay in the same browser context after scraping
|
|
28
|
+
|
|
29
|
+
## Default Recommendations
|
|
30
|
+
|
|
31
|
+
- Start with `/scrape`, then escalate to `/interact`.
|
|
32
|
+
- Keep `/interact` scoped to the smallest browser workflow that unlocks the data.
|
|
33
|
+
- Use persistent profiles only when the feature truly needs authenticated state across sessions.
|
|
34
|
+
|
|
35
|
+
## Common Product Patterns
|
|
36
|
+
|
|
37
|
+
- search forms and faceted filters
|
|
38
|
+
- paginated result sets
|
|
39
|
+
- login-gated dashboards or tools
|
|
40
|
+
- flows where the page must be explored before extraction is complete
|
|
41
|
+
|
|
42
|
+
## Implementation Notes
|
|
43
|
+
|
|
44
|
+
- `/interact` is the right tool when the page must be manipulated, not just read.
|
|
45
|
+
- Keep prompts or action code specific to the product flow.
|
|
46
|
+
- If the use case is fully open-ended browser automation, evaluate whether a browser sandbox is a better product fit.
|
|
47
|
+
|
|
48
|
+
## Escalation Rules
|
|
49
|
+
|
|
50
|
+
- If the page can be read directly, stay on [firecrawl-build-scrape](../firecrawl-build-scrape/SKILL.md).
|
|
51
|
+
|
|
52
|
+
## Docs (Source of Truth)
|
|
53
|
+
|
|
54
|
+
Read the source-of-truth page for your project language before writing integration code:
|
|
55
|
+
|
|
56
|
+
- **Node / TypeScript**: [docs.firecrawl.dev/agent-source-of-truth/node](https://docs.firecrawl.dev/agent-source-of-truth/node)
|
|
57
|
+
- **Python**: [docs.firecrawl.dev/agent-source-of-truth/python](https://docs.firecrawl.dev/agent-source-of-truth/python)
|
|
58
|
+
- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)
|
|
59
|
+
- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)
|
|
60
|
+
- **Elixir**: [docs.firecrawl.dev/agent-source-of-truth/elixir](https://docs.firecrawl.dev/agent-source-of-truth/elixir)
|
|
61
|
+
- **cURL / REST**: [docs.firecrawl.dev/agent-source-of-truth/curl](https://docs.firecrawl.dev/agent-source-of-truth/curl)
|
|
62
|
+
|
|
63
|
+
## See Also
|
|
64
|
+
|
|
65
|
+
- [firecrawl-build](../firecrawl-build/SKILL.md)
|
|
66
|
+
- [firecrawl-build-scrape](../firecrawl-build-scrape/SKILL.md)
|
|
67
|
+
- [firecrawl-build-search](../firecrawl-build-search/SKILL.md)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-build-onboarding
|
|
3
|
+
description: Get Firecrawl credentials and SDK setup into a project. Use when an application needs `FIRECRAWL_API_KEY`, when an agent should add Firecrawl to `.env`, when the user wants to authenticate Firecrawl for app code, or when choosing the first SDK and docs for a new Firecrawl integration. This skill includes its own browser auth flow, so it does not depend on the website onboarding skill.
|
|
4
|
+
license: ISC
|
|
5
|
+
metadata:
|
|
6
|
+
author: firecrawl
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
homepage: https://www.firecrawl.dev
|
|
9
|
+
source: https://github.com/firecrawl/skills
|
|
10
|
+
inputs:
|
|
11
|
+
- name: FIRECRAWL_API_KEY
|
|
12
|
+
description: Firecrawl API key used for hosted Firecrawl API requests.
|
|
13
|
+
required: true
|
|
14
|
+
- name: FIRECRAWL_API_URL
|
|
15
|
+
description: Optional base URL for self-hosted Firecrawl deployments.
|
|
16
|
+
required: false
|
|
17
|
+
references:
|
|
18
|
+
- references/auth-flow.md
|
|
19
|
+
- references/sdk-installation.md
|
|
20
|
+
- references/project-setup.md
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Firecrawl Build Onboarding
|
|
24
|
+
|
|
25
|
+
Use this skill for the application-integration path from Firecrawl's onboarding flow.
|
|
26
|
+
|
|
27
|
+
## Install
|
|
28
|
+
|
|
29
|
+
If you haven't installed yet, one command sets up both the CLI tools
|
|
30
|
+
(for live web work) and the build skills (for app integration):
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y firecrawl-cli@latest init --all --browser
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This installs the Firecrawl CLI, the CLI skills, and these build skills
|
|
37
|
+
together. It also opens browser auth so the human can sign in or create
|
|
38
|
+
an account. No separate `npx skills add` step is needed.
|
|
39
|
+
|
|
40
|
+
## Use This When
|
|
41
|
+
|
|
42
|
+
- a project needs `FIRECRAWL_API_KEY`
|
|
43
|
+
- the user wants Firecrawl wired into `.env`
|
|
44
|
+
- you are adding Firecrawl to an app for the first time
|
|
45
|
+
- you need to choose the first SDK or REST path
|
|
46
|
+
|
|
47
|
+
If the human still needs to sign up, sign in, or authorize access in the browser, use the auth flow reference in this skill.
|
|
48
|
+
|
|
49
|
+
## Quick Start
|
|
50
|
+
|
|
51
|
+
If the user already has an API key, place it in `.env`:
|
|
52
|
+
|
|
53
|
+
```dotenv
|
|
54
|
+
FIRECRAWL_API_KEY=fc-...
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
If the project is self-hosted, also set:
|
|
58
|
+
|
|
59
|
+
```dotenv
|
|
60
|
+
FIRECRAWL_API_URL=https://your-firecrawl-instance.example.com
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Then decide which integration path applies:
|
|
64
|
+
|
|
65
|
+
- **Fresh project** -> choose the target stack, install the SDK, add the first Firecrawl call, and run a smoke test
|
|
66
|
+
- **Existing project** -> inspect the repo first, then integrate Firecrawl where the project already handles third-party APIs and env vars
|
|
67
|
+
|
|
68
|
+
## What Do You Need?
|
|
69
|
+
|
|
70
|
+
| Task | Reference |
|
|
71
|
+
|---|---|
|
|
72
|
+
| **Run the browser auth flow and save `FIRECRAWL_API_KEY`** | [references/auth-flow.md](references/auth-flow.md) |
|
|
73
|
+
| **Install the right SDK** | [references/sdk-installation.md](references/sdk-installation.md) |
|
|
74
|
+
| **Put credentials into `.env` or project config** | [references/project-setup.md](references/project-setup.md) |
|
|
75
|
+
| **Choose the right endpoint after setup** | [firecrawl-build](../firecrawl-build/SKILL.md) |
|
|
76
|
+
| **Need live web tooling during this task** | The CLI skills are already installed from the same command |
|
|
77
|
+
| **Start implementation from a known URL** | [firecrawl-build-scrape](../firecrawl-build-scrape/SKILL.md) |
|
|
78
|
+
| **Start implementation from a query** | [firecrawl-build-search](../firecrawl-build-search/SKILL.md) |
|
|
79
|
+
|
|
80
|
+
## Docs (Source of Truth)
|
|
81
|
+
|
|
82
|
+
Read the source-of-truth page for your project language for SDK usage, schemas, and examples:
|
|
83
|
+
|
|
84
|
+
- **Node / TypeScript**: [docs.firecrawl.dev/agent-source-of-truth/node](https://docs.firecrawl.dev/agent-source-of-truth/node)
|
|
85
|
+
- **Python**: [docs.firecrawl.dev/agent-source-of-truth/python](https://docs.firecrawl.dev/agent-source-of-truth/python)
|
|
86
|
+
- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)
|
|
87
|
+
- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)
|
|
88
|
+
- **Elixir**: [docs.firecrawl.dev/agent-source-of-truth/elixir](https://docs.firecrawl.dev/agent-source-of-truth/elixir)
|
|
89
|
+
- **cURL / REST**: [docs.firecrawl.dev/agent-source-of-truth/curl](https://docs.firecrawl.dev/agent-source-of-truth/curl)
|
|
90
|
+
|
|
91
|
+
## After Setup
|
|
92
|
+
|
|
93
|
+
Once the key is present:
|
|
94
|
+
|
|
95
|
+
1. decide whether this is a fresh project or an existing codebase
|
|
96
|
+
2. ask what Firecrawl should do in the product
|
|
97
|
+
3. pick the narrowest endpoint that matches that behavior
|
|
98
|
+
4. read the source-of-truth page for the project language before writing code
|
|
99
|
+
5. add the SDK or REST call in code
|
|
100
|
+
6. run a smoke test that proves one real Firecrawl request succeeds
|
|
101
|
+
7. use the endpoint-specific skills in this repo for implementation guidance
|
|
102
|
+
8. if you also need live web tooling during the current task, the CLI skills are already installed — use `firecrawl/cli`
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Auth Flow
|
|
2
|
+
|
|
3
|
+
Use this browser flow when the user does not already have a Firecrawl API key.
|
|
4
|
+
|
|
5
|
+
## Step 1: Generate auth parameters
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
SESSION_ID=$(openssl rand -hex 32)
|
|
9
|
+
CODE_VERIFIER=$(openssl rand -base64 32 | tr '+/' '-_' | tr -d '=\n' | head -c 43)
|
|
10
|
+
CODE_CHALLENGE=$(printf '%s' "$CODE_VERIFIER" | openssl dgst -sha256 -binary | openssl base64 -A | tr '+/' '-_' | tr -d '=')
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Step 2: Ask the user to open this URL
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
https://www.firecrawl.dev/cli-auth?code_challenge=$CODE_CHALLENGE&source=coding-agent#session_id=$SESSION_ID
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The user completes the browser authorization flow. If successful, the API key becomes available through the polling endpoint.
|
|
20
|
+
|
|
21
|
+
## Step 3: Poll for completion
|
|
22
|
+
|
|
23
|
+
```http
|
|
24
|
+
POST https://www.firecrawl.dev/api/auth/cli/status
|
|
25
|
+
Content-Type: application/json
|
|
26
|
+
|
|
27
|
+
{"session_id":"$SESSION_ID","code_verifier":"$CODE_VERIFIER"}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Responses:
|
|
31
|
+
|
|
32
|
+
- `{"status":"pending"}` - continue polling
|
|
33
|
+
- `{"status":"complete","apiKey":"fc-...","teamName":"..."}`
|
|
34
|
+
|
|
35
|
+
## Step 4: Save the key
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
echo "FIRECRAWL_API_KEY=fc-..." >> .env
|
|
39
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Project Setup
|
|
2
|
+
|
|
3
|
+
For hosted Firecrawl, add this to `.env`:
|
|
4
|
+
|
|
5
|
+
```dotenv
|
|
6
|
+
FIRECRAWL_API_KEY=fc-...
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
For self-hosted Firecrawl, add:
|
|
10
|
+
|
|
11
|
+
```dotenv
|
|
12
|
+
FIRECRAWL_API_KEY=fc-...
|
|
13
|
+
FIRECRAWL_API_URL=https://your-firecrawl-instance.example.com
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Project setup guidance:
|
|
17
|
+
|
|
18
|
+
- Keep the key in environment variables or the platform secret manager.
|
|
19
|
+
- Do not hardcode credentials in source files.
|
|
20
|
+
- If the app has separate environments, mirror the key setup across development, preview, and production as needed.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# SDK Installation
|
|
2
|
+
|
|
3
|
+
Install the SDK that matches the project stack after `FIRECRAWL_API_KEY` is available.
|
|
4
|
+
|
|
5
|
+
## JavaScript / TypeScript
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @mendable/firecrawl-js
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Python
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pip install firecrawl-py
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
If the project already has a preferred HTTP client abstraction, direct REST calls are also fine.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-build-scrape
|
|
3
|
+
description: Integrate Firecrawl `/scrape` into product code for single-page extraction. Use when an app already has a URL and needs markdown, HTML, links, screenshots, metadata, or structured page output. Prefer this skill over broader crawl patterns when the feature is page-level.
|
|
4
|
+
license: ISC
|
|
5
|
+
metadata:
|
|
6
|
+
author: firecrawl
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
homepage: https://www.firecrawl.dev
|
|
9
|
+
source: https://github.com/firecrawl/skills
|
|
10
|
+
inputs:
|
|
11
|
+
- name: FIRECRAWL_API_KEY
|
|
12
|
+
description: Firecrawl API key for hosted Firecrawl requests.
|
|
13
|
+
required: true
|
|
14
|
+
- name: FIRECRAWL_API_URL
|
|
15
|
+
description: Optional base URL for self-hosted Firecrawl deployments.
|
|
16
|
+
required: false
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Firecrawl Build Scrape
|
|
20
|
+
|
|
21
|
+
Use this when the application already has the URL and needs content from one page.
|
|
22
|
+
|
|
23
|
+
## Use This When
|
|
24
|
+
|
|
25
|
+
- the feature starts from a known URL
|
|
26
|
+
- you need page content for retrieval, summarization, enrichment, or monitoring
|
|
27
|
+
- you want the default extraction primitive before considering `/interact`
|
|
28
|
+
|
|
29
|
+
## Default Recommendations
|
|
30
|
+
|
|
31
|
+
- Return `markdown` unless the feature truly needs another format.
|
|
32
|
+
- Use `onlyMainContent` for article-like pages where nav and chrome add noise.
|
|
33
|
+
- Add waits or other rendering options only when the page needs them.
|
|
34
|
+
|
|
35
|
+
## Common Product Patterns
|
|
36
|
+
|
|
37
|
+
- knowledge ingestion from known URLs
|
|
38
|
+
- enrichment from a company, product, or docs page
|
|
39
|
+
- pricing, changelog, and documentation extraction
|
|
40
|
+
- page-level quality checks or monitoring
|
|
41
|
+
|
|
42
|
+
## Escalation Rules
|
|
43
|
+
|
|
44
|
+
- If you do not have the URL yet, start with [firecrawl-build-search](../firecrawl-build-search/SKILL.md).
|
|
45
|
+
- If content requires clicks, typing, or multi-step navigation, escalate to [firecrawl-build-interact](../firecrawl-build-interact/SKILL.md).
|
|
46
|
+
|
|
47
|
+
## Implementation Notes
|
|
48
|
+
|
|
49
|
+
- Keep the integration narrow: one feature, one URL, one extraction contract.
|
|
50
|
+
- Treat `/scrape` as the default primitive for downstream LLM or indexing pipelines.
|
|
51
|
+
- Request richer formats only when the consumer needs them, such as links, screenshots, or branding data.
|
|
52
|
+
|
|
53
|
+
## Docs (Source of Truth)
|
|
54
|
+
|
|
55
|
+
Read the source-of-truth page for your project language before writing integration code:
|
|
56
|
+
|
|
57
|
+
- **Node / TypeScript**: [docs.firecrawl.dev/agent-source-of-truth/node](https://docs.firecrawl.dev/agent-source-of-truth/node)
|
|
58
|
+
- **Python**: [docs.firecrawl.dev/agent-source-of-truth/python](https://docs.firecrawl.dev/agent-source-of-truth/python)
|
|
59
|
+
- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)
|
|
60
|
+
- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)
|
|
61
|
+
- **Elixir**: [docs.firecrawl.dev/agent-source-of-truth/elixir](https://docs.firecrawl.dev/agent-source-of-truth/elixir)
|
|
62
|
+
- **cURL / REST**: [docs.firecrawl.dev/agent-source-of-truth/curl](https://docs.firecrawl.dev/agent-source-of-truth/curl)
|
|
63
|
+
|
|
64
|
+
## See Also
|
|
65
|
+
|
|
66
|
+
- [firecrawl-build](../firecrawl-build/SKILL.md)
|
|
67
|
+
- [firecrawl-build-search](../firecrawl-build-search/SKILL.md)
|
|
68
|
+
- [firecrawl-build-interact](../firecrawl-build-interact/SKILL.md)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-build-search
|
|
3
|
+
description: Integrate Firecrawl `/search` into product code and agent workflows. Use when an app needs discovery before extraction, when the feature starts with a query instead of a URL, or when the system should search the web and optionally hydrate result content.
|
|
4
|
+
license: ISC
|
|
5
|
+
metadata:
|
|
6
|
+
author: firecrawl
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
homepage: https://www.firecrawl.dev
|
|
9
|
+
source: https://github.com/firecrawl/skills
|
|
10
|
+
inputs:
|
|
11
|
+
- name: FIRECRAWL_API_KEY
|
|
12
|
+
description: Firecrawl API key for hosted Firecrawl requests.
|
|
13
|
+
required: true
|
|
14
|
+
- name: FIRECRAWL_API_URL
|
|
15
|
+
description: Optional base URL for self-hosted Firecrawl deployments.
|
|
16
|
+
required: false
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Firecrawl Build Search
|
|
20
|
+
|
|
21
|
+
Use this when the application starts with a query, not a URL.
|
|
22
|
+
|
|
23
|
+
## Use This When
|
|
24
|
+
|
|
25
|
+
- the user asks a question and the product must discover sources first
|
|
26
|
+
- the feature needs current web results
|
|
27
|
+
- you want to turn a search query into a shortlist of pages for later scraping
|
|
28
|
+
|
|
29
|
+
## Default Recommendations
|
|
30
|
+
|
|
31
|
+
- Use `/search` first when URL discovery is part of the product behavior.
|
|
32
|
+
- Keep search and extraction conceptually separate unless scraping search results is clearly required.
|
|
33
|
+
- Prefer selective follow-up extraction over broad hydration when cost or latency matters.
|
|
34
|
+
|
|
35
|
+
## Common Product Patterns
|
|
36
|
+
|
|
37
|
+
- answer generation with cited sources
|
|
38
|
+
- company, competitor, or topic discovery
|
|
39
|
+
- research workflows that produce a shortlist before deeper extraction
|
|
40
|
+
- query-to-URL pipelines for later `/scrape` or `/interact`
|
|
41
|
+
|
|
42
|
+
## Escalation Rules
|
|
43
|
+
|
|
44
|
+
- If you already have the URL, use [firecrawl-build-scrape](../firecrawl-build-scrape/SKILL.md).
|
|
45
|
+
- If the result page then requires clicks or form interaction, escalate to [firecrawl-build-interact](../firecrawl-build-interact/SKILL.md).
|
|
46
|
+
|
|
47
|
+
## Implementation Notes
|
|
48
|
+
|
|
49
|
+
- Treat `/search` as discovery, ranking, and source selection.
|
|
50
|
+
- Be explicit about whether the product needs snippets, URLs, or full result content.
|
|
51
|
+
- Keep the query contract stable so downstream scraping logic stays predictable.
|
|
52
|
+
|
|
53
|
+
## Docs (Source of Truth)
|
|
54
|
+
|
|
55
|
+
Read the source-of-truth page for your project language before writing integration code:
|
|
56
|
+
|
|
57
|
+
- **Node / TypeScript**: [docs.firecrawl.dev/agent-source-of-truth/node](https://docs.firecrawl.dev/agent-source-of-truth/node)
|
|
58
|
+
- **Python**: [docs.firecrawl.dev/agent-source-of-truth/python](https://docs.firecrawl.dev/agent-source-of-truth/python)
|
|
59
|
+
- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)
|
|
60
|
+
- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)
|
|
61
|
+
- **Elixir**: [docs.firecrawl.dev/agent-source-of-truth/elixir](https://docs.firecrawl.dev/agent-source-of-truth/elixir)
|
|
62
|
+
- **cURL / REST**: [docs.firecrawl.dev/agent-source-of-truth/curl](https://docs.firecrawl.dev/agent-source-of-truth/curl)
|
|
63
|
+
|
|
64
|
+
## See Also
|
|
65
|
+
|
|
66
|
+
- [firecrawl-build](../firecrawl-build/SKILL.md)
|
|
67
|
+
- [firecrawl-build-scrape](../firecrawl-build-scrape/SKILL.md)
|
|
68
|
+
- [firecrawl-build-interact](../firecrawl-build-interact/SKILL.md)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-crawl
|
|
3
|
+
description: |
|
|
4
|
+
Bulk extract content from an entire website or site section. Use this skill when the user wants to crawl a site, extract all pages from a docs section, bulk-scrape multiple pages following links, or says "crawl", "get all the pages", "extract everything under /docs", "bulk extract", or needs content from many pages on the same site. Handles depth limits, path filtering, and concurrent extraction.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Bash(firecrawl *)
|
|
7
|
+
- Bash(npx firecrawl *)
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# firecrawl crawl
|
|
11
|
+
|
|
12
|
+
Bulk extract content from a website. Crawls pages following links up to a depth/limit.
|
|
13
|
+
|
|
14
|
+
## When to use
|
|
15
|
+
|
|
16
|
+
- You need content from many pages on a site (e.g., all `/docs/`)
|
|
17
|
+
- You want to extract an entire site section
|
|
18
|
+
- Step 4 in the [workflow escalation pattern](firecrawl-cli): search → scrape → map → **crawl** → interact
|
|
19
|
+
|
|
20
|
+
## Quick start
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Crawl a docs section
|
|
24
|
+
firecrawl crawl "<url>" --include-paths /docs --limit 50 --wait -o .firecrawl/crawl.json
|
|
25
|
+
|
|
26
|
+
# Full crawl with depth limit
|
|
27
|
+
firecrawl crawl "<url>" --max-depth 3 --wait --progress -o .firecrawl/crawl.json
|
|
28
|
+
|
|
29
|
+
# Check status of a running crawl
|
|
30
|
+
firecrawl crawl <job-id>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Options
|
|
34
|
+
|
|
35
|
+
| Option | Description |
|
|
36
|
+
| ------------------------- | ------------------------------------------- |
|
|
37
|
+
| `--wait` | Wait for crawl to complete before returning |
|
|
38
|
+
| `--progress` | Show progress while waiting |
|
|
39
|
+
| `--limit <n>` | Max pages to crawl |
|
|
40
|
+
| `--max-depth <n>` | Max link depth to follow |
|
|
41
|
+
| `--include-paths <paths>` | Only crawl URLs matching these paths |
|
|
42
|
+
| `--exclude-paths <paths>` | Skip URLs matching these paths |
|
|
43
|
+
| `--delay <ms>` | Delay between requests |
|
|
44
|
+
| `--max-concurrency <n>` | Max parallel crawl workers |
|
|
45
|
+
| `--pretty` | Pretty print JSON output |
|
|
46
|
+
| `-o, --output <path>` | Output file path |
|
|
47
|
+
|
|
48
|
+
## Tips
|
|
49
|
+
|
|
50
|
+
- Always use `--wait` when you need the results immediately. Without it, crawl returns a job ID for async polling.
|
|
51
|
+
- Use `--include-paths` to scope the crawl — don't crawl an entire site when you only need one section.
|
|
52
|
+
- Crawl consumes credits per page. Check `firecrawl credit-usage` before large crawls.
|
|
53
|
+
|
|
54
|
+
## See also
|
|
55
|
+
|
|
56
|
+
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape individual pages
|
|
57
|
+
- [firecrawl-map](../firecrawl-map/SKILL.md) — discover URLs before deciding to crawl
|
|
58
|
+
- [firecrawl-download](../firecrawl-download/SKILL.md) — download site to local files (uses map + scrape)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-download
|
|
3
|
+
description: |
|
|
4
|
+
Download an entire website as local files — markdown, screenshots, or multiple formats per page. Use this skill when the user wants to save a site locally, download documentation for offline use, bulk-save pages as files, or says "download the site", "save as local files", "offline copy", "download all the docs", or "save for reference". Combines site mapping and scraping into organized local directories.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Bash(firecrawl *)
|
|
7
|
+
- Bash(npx firecrawl *)
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# firecrawl download
|
|
11
|
+
|
|
12
|
+
> **Experimental.** Convenience command that combines `map` + `scrape` to save an entire site as local files.
|
|
13
|
+
|
|
14
|
+
Maps the site first to discover pages, then scrapes each one into nested directories under `.firecrawl/`. All scrape options work with download. Always pass `-y` to skip the confirmation prompt.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- You want to save an entire site (or section) to local files
|
|
19
|
+
- You need offline access to documentation or content
|
|
20
|
+
- Bulk content extraction with organized file structure
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Interactive wizard (picks format, screenshots, paths for you)
|
|
26
|
+
firecrawl download https://docs.example.com
|
|
27
|
+
|
|
28
|
+
# With screenshots
|
|
29
|
+
firecrawl download https://docs.example.com --screenshot --limit 20 -y
|
|
30
|
+
|
|
31
|
+
# Multiple formats (each saved as its own file per page)
|
|
32
|
+
firecrawl download https://docs.example.com --format markdown,links --screenshot --limit 20 -y
|
|
33
|
+
# Creates per page: index.md + links.txt + screenshot.png
|
|
34
|
+
|
|
35
|
+
# Filter to specific sections
|
|
36
|
+
firecrawl download https://docs.example.com --include-paths "/features,/sdks"
|
|
37
|
+
|
|
38
|
+
# Skip translations
|
|
39
|
+
firecrawl download https://docs.example.com --exclude-paths "/zh,/ja,/fr,/es,/pt-BR"
|
|
40
|
+
|
|
41
|
+
# Full combo
|
|
42
|
+
firecrawl download https://docs.example.com \
|
|
43
|
+
--include-paths "/features,/sdks" \
|
|
44
|
+
--exclude-paths "/zh,/ja" \
|
|
45
|
+
--only-main-content \
|
|
46
|
+
--screenshot \
|
|
47
|
+
-y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Download options
|
|
51
|
+
|
|
52
|
+
| Option | Description |
|
|
53
|
+
| ------------------------- | -------------------------------------------------------- |
|
|
54
|
+
| `--limit <n>` | Max pages to download |
|
|
55
|
+
| `--search <query>` | Filter URLs by search query |
|
|
56
|
+
| `--include-paths <paths>` | Only download matching paths |
|
|
57
|
+
| `--exclude-paths <paths>` | Skip matching paths |
|
|
58
|
+
| `--allow-subdomains` | Include subdomain pages |
|
|
59
|
+
| `-y` | Skip confirmation prompt (always use in automated flows) |
|
|
60
|
+
|
|
61
|
+
## Scrape options (all work with download)
|
|
62
|
+
|
|
63
|
+
`-f <formats>`, `-H`, `-S`, `--screenshot`, `--full-page-screenshot`, `--only-main-content`, `--include-tags`, `--exclude-tags`, `--wait-for`, `--max-age`, `--country`, `--languages`
|
|
64
|
+
|
|
65
|
+
## See also
|
|
66
|
+
|
|
67
|
+
- [firecrawl-map](../firecrawl-map/SKILL.md) — just discover URLs without downloading
|
|
68
|
+
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape individual pages
|
|
69
|
+
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract as JSON (not local files)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-interact
|
|
3
|
+
description: |
|
|
4
|
+
Control and interact with a live browser session on any scraped page — click buttons, fill forms, navigate flows, and extract data using natural language prompts or code. Use when the user needs to interact with a webpage beyond simple scraping: logging into a site, submitting forms, clicking through pagination, handling infinite scroll, navigating multi-step checkout or wizard flows, or when a regular scrape failed because content is behind JavaScript interaction. Also useful for authenticated scraping via profiles. Triggers on "interact", "click", "fill out the form", "log in to", "sign in", "submit", "paginated", "next page", "infinite scroll", "interact with the page", "navigate to", "open a session", or "scrape failed".
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Bash(firecrawl *)
|
|
7
|
+
- Bash(npx firecrawl *)
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# firecrawl interact
|
|
11
|
+
|
|
12
|
+
Interact with scraped pages in a live browser session. Scrape a page first, then use natural language prompts or code to click, fill forms, navigate, and extract data.
|
|
13
|
+
|
|
14
|
+
## When to use
|
|
15
|
+
|
|
16
|
+
- Content requires interaction: clicks, form fills, pagination, login
|
|
17
|
+
- `scrape` failed because content is behind JavaScript interaction
|
|
18
|
+
- You need to navigate a multi-step flow
|
|
19
|
+
- Last resort in the [workflow escalation pattern](firecrawl-cli): search → scrape → map → crawl → **interact**
|
|
20
|
+
- **Never use interact for web searches** — use `search` instead
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# 1. Scrape a page (scrape ID is saved automatically)
|
|
26
|
+
firecrawl scrape "<url>"
|
|
27
|
+
|
|
28
|
+
# 2. Interact with the page using natural language
|
|
29
|
+
firecrawl interact --prompt "Click the login button"
|
|
30
|
+
firecrawl interact --prompt "Fill in the email field with test@example.com"
|
|
31
|
+
firecrawl interact --prompt "Extract the pricing table"
|
|
32
|
+
|
|
33
|
+
# 3. Or use code for precise control
|
|
34
|
+
firecrawl interact --code "agent-browser click @e5" --language bash
|
|
35
|
+
firecrawl interact --code "agent-browser snapshot -i" --language bash
|
|
36
|
+
|
|
37
|
+
# 4. Stop the session when done
|
|
38
|
+
firecrawl interact stop
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Options
|
|
42
|
+
|
|
43
|
+
| Option | Description |
|
|
44
|
+
| --------------------- | ------------------------------------------------- |
|
|
45
|
+
| `--prompt <text>` | Natural language instruction (use this OR --code) |
|
|
46
|
+
| `--code <code>` | Code to execute in the browser session |
|
|
47
|
+
| `--language <lang>` | Language for code: bash, python, node |
|
|
48
|
+
| `--timeout <seconds>` | Execution timeout (default: 30, max: 300) |
|
|
49
|
+
| `--scrape-id <id>` | Target a specific scrape (default: last scrape) |
|
|
50
|
+
| `-o, --output <path>` | Output file path |
|
|
51
|
+
|
|
52
|
+
## Profiles
|
|
53
|
+
|
|
54
|
+
Use `--profile` on the scrape to persist browser state (cookies, localStorage) across scrapes:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Session 1: Login and save state
|
|
58
|
+
firecrawl scrape "https://app.example.com/login" --profile my-app
|
|
59
|
+
firecrawl interact --prompt "Fill in email with user@example.com and click login"
|
|
60
|
+
|
|
61
|
+
# Session 2: Come back authenticated
|
|
62
|
+
firecrawl scrape "https://app.example.com/dashboard" --profile my-app
|
|
63
|
+
firecrawl interact --prompt "Extract the dashboard data"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Read-only reconnect (no writes to profile state):
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
firecrawl scrape "https://app.example.com" --profile my-app --no-save-changes
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Tips
|
|
73
|
+
|
|
74
|
+
- Always scrape first — `interact` requires a scrape ID from a previous `firecrawl scrape` call
|
|
75
|
+
- The scrape ID is saved automatically, so you don't need `--scrape-id` for subsequent interact calls
|
|
76
|
+
- Use `firecrawl interact stop` to free resources when done
|
|
77
|
+
- For parallel work, scrape multiple pages and interact with each using `--scrape-id`
|
|
78
|
+
|
|
79
|
+
## See also
|
|
80
|
+
|
|
81
|
+
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — try scrape first, escalate to interact only when needed
|
|
82
|
+
- [firecrawl-search](../firecrawl-search/SKILL.md) — for web searches (never use interact for searching)
|
|
83
|
+
- [firecrawl-agent](../firecrawl-agent/SKILL.md) — AI-powered extraction (less manual control)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-map
|
|
3
|
+
description: |
|
|
4
|
+
Discover and list all URLs on a website, with optional search filtering. Use this skill when the user wants to find a specific page on a large site, list all URLs, see the site structure, find where something is on a domain, or says "map the site", "find the URL for", "what pages are on", or "list all pages". Essential when the user knows which site but not which exact page.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Bash(firecrawl *)
|
|
7
|
+
- Bash(npx firecrawl *)
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# firecrawl map
|
|
11
|
+
|
|
12
|
+
Discover URLs on a site. Use `--search` to find a specific page within a large site.
|
|
13
|
+
|
|
14
|
+
## When to use
|
|
15
|
+
|
|
16
|
+
- You need to find a specific subpage on a large site
|
|
17
|
+
- You want a list of all URLs on a site before scraping or crawling
|
|
18
|
+
- Step 3 in the [workflow escalation pattern](firecrawl-cli): search → scrape → **map** → crawl → interact
|
|
19
|
+
|
|
20
|
+
## Quick start
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Find a specific page on a large site
|
|
24
|
+
firecrawl map "<url>" --search "authentication" -o .firecrawl/filtered.txt
|
|
25
|
+
|
|
26
|
+
# Get all URLs
|
|
27
|
+
firecrawl map "<url>" --limit 500 --json -o .firecrawl/urls.json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Options
|
|
31
|
+
|
|
32
|
+
| Option | Description |
|
|
33
|
+
| --------------------------------- | ---------------------------- |
|
|
34
|
+
| `--limit <n>` | Max number of URLs to return |
|
|
35
|
+
| `--search <query>` | Filter URLs by search query |
|
|
36
|
+
| `--sitemap <include\|skip\|only>` | Sitemap handling strategy |
|
|
37
|
+
| `--include-subdomains` | Include subdomain URLs |
|
|
38
|
+
| `--json` | Output as JSON |
|
|
39
|
+
| `-o, --output <path>` | Output file path |
|
|
40
|
+
|
|
41
|
+
## Tips
|
|
42
|
+
|
|
43
|
+
- **Map + scrape is a common pattern**: use `map --search` to find the right URL, then `scrape` it.
|
|
44
|
+
- Example: `map https://docs.example.com --search "auth"` → found `/docs/api/authentication` → `scrape` that URL.
|
|
45
|
+
|
|
46
|
+
## See also
|
|
47
|
+
|
|
48
|
+
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape the URLs you discover
|
|
49
|
+
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract instead of map + scrape
|
|
50
|
+
- [firecrawl-download](../firecrawl-download/SKILL.md) — download entire site (uses map internally)
|