[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C43PV90YV79NSK5M8YC23Z":3,"skill-same:01M6C43PV90YV79NSK5M8YC23Z":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6C43PV90YV79NSK5M8YC23Z","firecrawl",null,"Scrape, crawl, search, and extract structured data from websites using Firecrawl API - converts web pages to LLM-ready markdown","EnactProtocol\u002Fenact","EnactProtocol","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F194414857?v=4","01M6C43B2F5VYTYADD4J30S5ZJ","Enact","01M6C43B6MAFKP2M81NYCQ2EKD",19,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Ffirecrawl\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27],"structured data","web","search","data","api","scrape","markdown","extract","ready","2026-11-10 10:12:30",false,"---\nname: firecrawl\ndescription: Scrape, crawl, search, and extract structured data from websites using Firecrawl API - converts web pages to LLM-ready markdown\n---\n\n# Firecrawl Web Scraping Tool\n\nA powerful web scraping tool that uses the [Firecrawl API](https:\u002F\u002Ffirecrawl.dev) to convert websites into clean, LLM-ready markdown and extract structured data.\n\n## Features\n\n- **Scrape**: Extract content from a single URL as markdown, HTML, or with screenshots\n- **Crawl**: Automatically discover and scrape all accessible subpages of a website\n- **Map**: Get a list of all URLs from a website without scraping content (extremely fast)\n- **Search**: Search the web and get full scraped content from results\n- **Extract**: Use AI to extract structured data from pages with natural language prompts\n\n## Setup\n\n1. Get an API key from [firecrawl.dev](https:\u002F\u002Ffirecrawl.dev)\n2. Set your API key as a secret:\n   ```bash\n   enact env set FIRECRAWL_API_KEY \u003Cyour-api-key> --secret --namespace enact\n   ```\n\nThis stores your API key securely in your OS keyring (macOS Keychain, Windows Credential Manager, or Linux Secret Service).\n\n## Usage Examples\n\n### Scrape a single page\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fexample.com\", \"action\": \"scrape\"}'\n```\n\n### Crawl an entire documentation site\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fdocs.example.com\", \"action\": \"crawl\", \"limit\": 20}'\n```\n\n### Map all URLs on a website\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fexample.com\", \"action\": \"map\"}'\n```\n\n### Search the web\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"latest AI developments 2024\", \"action\": \"search\", \"limit\": 5}'\n```\n\n### Extract structured data with AI\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fnews.ycombinator.com\", \"action\": \"extract\", \"prompt\": \"Extract the top 10 news headlines with their URLs\"}'\n```\n\n## Output\n\nThe tool returns JSON with:\n- **markdown**: Clean, LLM-ready content\n- **metadata**: Title, description, language, source URL\n- **extract**: Structured data (for extract action)\n- **links**: Discovered URLs (for map action)\n\n## API Features\n\nFirecrawl handles the hard parts of web scraping:\n- Anti-bot mechanisms\n- Dynamic JavaScript content\n- Proxies and rate limiting\n- PDF and document parsing\n- Screenshot capture\n","# Firecrawl Web Scraping Tool\n\nA powerful web scraping tool that uses the [Firecrawl API](https:\u002F\u002Ffirecrawl.dev) to convert websites into clean, LLM-ready markdown and extract structured data.\n\n## Features\n\n- **Scrape**: Extract content from a single URL as markdown, HTML, or with screenshots\n- **Crawl**: Automatically discover and scrape all accessible subpages of a website\n- **Map**: Get a list of all URLs from a website without scraping content (extremely fast)\n- **Search**: Search the web and get full scraped content from results\n- **Extract**: Use AI to extract structured data from pages with natural language prompts\n\n## Setup\n\n1. Get an API key from [firecrawl.dev](https:\u002F\u002Ffirecrawl.dev)\n2. Set your API key as a secret:\n   ```bash\n   enact env set FIRECRAWL_API_KEY \u003Cyour-api-key> --secret --namespace enact\n   ```\n\nThis stores your API key securely in your OS keyring (macOS Keychain, Windows Credential Manager, or Linux Secret Service).\n\n## Usage Examples\n\n### Scrape a single page\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fexample.com\", \"action\": \"scrape\"}'\n```\n\n### Crawl an entire documentation site\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fdocs.example.com\", \"action\": \"crawl\", \"limit\": 20}'\n```\n\n### Map all URLs on a website\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fexample.com\", \"action\": \"map\"}'\n```\n\n### Search the web\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"latest AI developments 2024\", \"action\": \"search\", \"limit\": 5}'\n```\n\n### Extract structured data with AI\n```bash\nenact run enact\u002Ffirecrawl -a '{\"url\": \"https:\u002F\u002Fnews.ycombinator.com\", \"action\": \"extract\", \"prompt\": \"Extract the top 10 news headlines with their URLs\"}'\n```\n\n## Output\n\nThe tool returns JSON with:\n- **markdown**: Clean, LLM-ready content\n- **metadata**: Title, description, language, source URL\n- **extract**: Structured data (for extract action)\n- **links**: Discovered URLs (for map action)\n\n## API Features\n\nFirecrawl handles the hard parts of web scraping:\n- Anti-bot mechanisms\n- Dynamic JavaScript content\n- Proxies and rate limiting\n- PDF and document parsing\n- Screenshot capture\n",{"name":5,"description":7},"main","6f0177ccc353147d443b467a122a0caec89433f4","tools\u002Ffirecrawl",3,"https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact","https:\u002F\u002Fgithub.com\u002FEnactProtocol","2026-03-18 03:30:56",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add EnactProtocol\u002Fenact --skill firecrawl",{"tool":46,"command":47},"bunx","bunx skills add EnactProtocol\u002Fenact --skill firecrawl",{"tool":49,"command":50},"pnpm","pnpm dlx skills add EnactProtocol\u002Fenact --skill firecrawl","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Ffirecrawl\u002FSKILL.md",true,[54,60],{"path":55,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":58,"sourceHtmlUrl":59},"firecrawl.py","SCRIPT","脚本",7445,"https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Ffirecrawl\u002Ffirecrawl.py",{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"skill.package.yml","REFERENCE","参考文档",368,"https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Ffirecrawl\u002Fskill.package.yml",[67,77,98,108,117,127],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":28},"01M6C441CA6AN9F9QN146CS5N6","whatweb","Web scanner that identifies websites, CMS, frameworks, web servers, and embedded devices","https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Fwhatweb\u002FSKILL.md",[],[69,74,75,76,20],"embedded","devices","cms",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":91,"publishedAt":28},"01M6C43ZCXD71CXHNNTE6G3YVK","playwright","Browser automation tool using Playwright - captures screenshots and extracts content from web pages","https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Fplaywright\u002FSKILL.md",[83,88],{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":89,"categoryName":90,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000023","Skill与智能体开发",[79,92,93,94,95,20,96,97],"automation","tool","content","browser","browser automation","screenshots",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":28},"01M6C43Y0815A6QR9CMQX8DB93","hello-rust","A simple Rust greeting tool","https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Fhello-rust\u002FSKILL.md",[],[105,106,107,93],"hello rust","hello","rust",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":28},"01M6C43WCR3D1ZYE398KA7MGH8","hello-ruby","A simple Ruby greeting tool","https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Fhello-ruby\u002FSKILL.md",[],[115,116,106,93],"hello ruby","ruby",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":28},"01M6C43V0DG5K0RNMYPY5T8YBF","hello-js","A simple JavaScript greeting tool","https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Fhello-js\u002FSKILL.md",[],[124,106,125,126,93],"js","hello js","javascript",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":28},"01M6C43S98S1SJP1Z3SGXCZZ1Q","hello-go","A simple Go greeting tool","https:\u002F\u002Fgithub.com\u002FEnactProtocol\u002Fenact\u002Fblob\u002Fmain\u002Ftools\u002Fhello-go\u002FSKILL.md",[],[106,134,135,93],"go","hello go"]