[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-best-search-skills-for-ai-agents":3,"blog-related-best-search-skills-for-ai-agents":410},{"id":4,"title":5,"body":6,"date":384,"description":385,"extension":386,"faqs":387,"image":400,"meta":401,"navigation":402,"path":403,"seo":404,"stem":405,"tags":406,"__hash__":409},"content\u002Fblog\u002Fbest-search-skills-for-ai-agents.md","Best Search Skills for AI Agents",{"type":7,"value":8,"toc":358},"minimark",[9,13,16,21,26,35,38,61,65,72,84,88,96,108,112,116,122,134,138,145,157,161,169,181,185,189,196,208,212,220,232,236,240,247,259,263,267,274,286,290,298,310,314,320,333,346,354],[10,11,12],"p",{},"Search is one of the most fundamental capabilities an AI agent can have. Without it, your agent is limited to what it already knows. With the right search skills, it can find real-time information, research topics, and pull data from across the web.",[10,14,15],{},"agentskill.sh has an extensive collection of search skills covering web search, academic research, code search, and news monitoring. With 69,000+ skills across 20+ platforms, you'll find a search tool for every research workflow. Here are the best search skills available right now.",[17,18,20],"h2",{"id":19},"multi-engine-and-intelligent-search","Multi-Engine and Intelligent Search",[22,23,25],"h3",{"id":24},"web-search-plus-by-openclaw","Web Search Plus by OpenClaw",[10,27,28,29,34],{},"The ",[30,31,33],"a",{"href":32},"\u002F@openclaw\u002Fweb-search-plus","web-search-plus"," skill is the most versatile search tool in the directory. It uses intelligent auto-routing with multi-signal analysis to automatically select the best search provider for each query. Whether it's Serper for Google results, Tavily for AI-optimized research, or Exa for semantic search, this skill picks the right engine for the job.",[10,36,37],{},"Install it:",[39,40,45],"pre",{"className":41,"code":42,"language":43,"meta":44,"style":44},"language-bash shiki shiki-themes github-light github-dark","\u002Flearn @openclaw\u002Fweb-search-plus\n","bash","",[46,47,48],"code",{"__ignoreMap":44},[49,50,53,57],"span",{"class":51,"line":52},"line",1,[49,54,56],{"class":55},"sScJk","\u002Flearn",[49,58,60],{"class":59},"sZZnC"," @openclaw\u002Fweb-search-plus\n",[22,62,64],{"id":63},"tavily-search-pro-by-openclaw","Tavily Search Pro by OpenClaw",[10,66,28,67,71],{},[30,68,70],{"href":69},"\u002F@openclaw\u002Ftavily-search-pro","tavily-search-pro"," skill is an AI search platform with 5 modes: Search (web, news, and finance), Extract (URL content), Crawl (website crawling), Map (site mapping), and structured research. It's purpose-built for AI agents and returns concise, relevant results optimized for language models.",[39,73,75],{"className":41,"code":74,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Ftavily-search-pro\n",[46,76,77],{"__ignoreMap":44},[49,78,79,81],{"class":51,"line":52},[49,80,56],{"class":55},[49,82,83],{"class":59}," @openclaw\u002Ftavily-search-pro\n",[22,85,87],{"id":86},"exa-by-openclaw","Exa by OpenClaw",[10,89,90,91,95],{},"For semantic search, ",[30,92,94],{"href":93},"\u002F@openclaw\u002Fexa","exa"," provides neural web search and code context via the Exa AI API. Unlike keyword-based search, Exa understands the meaning behind your query and returns conceptually relevant results. Great for finding documentation, code examples, research papers, and similar content.",[39,97,99],{"className":41,"code":98,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fexa\n",[46,100,101],{"__ignoreMap":44},[49,102,103,105],{"class":51,"line":52},[49,104,56],{"class":55},[49,106,107],{"class":59}," @openclaw\u002Fexa\n",[17,109,111],{"id":110},"google-search","Google Search",[22,113,115],{"id":114},"google-search-by-openclaw","Google Search by OpenClaw",[10,117,28,118,121],{},[30,119,110],{"href":120},"\u002F@openclaw\u002Fgoogle-search"," skill provides direct access to Google search results through the Custom Search Engine API. It supports web search with live information, documentation lookup, and general web queries. The most straightforward way to give your agent Google search capabilities.",[39,123,125],{"className":41,"code":124,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fgoogle-search\n",[46,126,127],{"__ignoreMap":44},[49,128,129,131],{"class":51,"line":52},[49,130,56],{"class":55},[49,132,133],{"class":59}," @openclaw\u002Fgoogle-search\n",[22,135,137],{"id":136},"serper-web-search-by-openclaw","Serper Web Search by OpenClaw",[10,139,28,140,144],{},[30,141,143],{"href":142},"\u002F@openclaw\u002Fserper-web-search","serper-web-search"," skill accesses Google search via the Serper API. It supports web search with full page content extraction, handling the common pattern of searching for pages and then reading their content. If you have a Serper API key, this is a fast and reliable Google search option.",[39,146,148],{"className":41,"code":147,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fserper-web-search\n",[46,149,150],{"__ignoreMap":44},[49,151,152,154],{"class":51,"line":52},[49,153,56],{"class":55},[49,155,156],{"class":59}," @openclaw\u002Fserper-web-search\n",[22,158,160],{"id":159},"google-search-grounding-by-openclaw","Google Search Grounding by OpenClaw",[10,162,163,164,168],{},"For search powered by Gemini, ",[30,165,167],{"href":166},"\u002F@openclaw\u002Fgoogle-search-grounding","google-search-grounding"," uses Google's Gemini Search Grounding as the primary engine with Custom Search JSON API as a fallback. It combines AI-grounded search with traditional web results for comprehensive coverage.",[39,170,172],{"className":41,"code":171,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fgoogle-search-grounding\n",[46,173,174],{"__ignoreMap":44},[49,175,176,178],{"class":51,"line":52},[49,177,56],{"class":55},[49,179,180],{"class":59}," @openclaw\u002Fgoogle-search-grounding\n",[17,182,184],{"id":183},"code-search","Code Search",[22,186,188],{"id":187},"github-search-by-majiayu000","GitHub Search by Majiayu000",[10,190,28,191,195],{},[30,192,194],{"href":193},"\u002F@majiayu000\u002Fgithub-search","github-search"," skill searches GitHub for repositories, code, and usage examples using the gh CLI. It handles repo discovery, code search across millions of repos, and finding specific implementations. When your agent needs to find how others have solved a similar problem, this is the skill to use.",[39,197,199],{"className":41,"code":198,"language":43,"meta":44,"style":44},"\u002Flearn @majiayu000\u002Fgithub-search\n",[46,200,201],{"__ignoreMap":44},[49,202,203,205],{"class":51,"line":52},[49,204,56],{"class":55},[49,206,207],{"class":59}," @majiayu000\u002Fgithub-search\n",[22,209,211],{"id":210},"github-code-search-by-majiayu000","GitHub Code Search by Majiayu000",[10,213,214,215,219],{},"For even more targeted code searches, ",[30,216,218],{"href":217},"\u002F@majiayu000\u002Fgithub-code-search","github-code-search"," searches GitHub code across millions of repositories using grep.app. It finds code patterns, library usage examples, and specific implementations faster than browsing repos manually.",[39,221,223],{"className":41,"code":222,"language":43,"meta":44,"style":44},"\u002Flearn @majiayu000\u002Fgithub-code-search\n",[46,224,225],{"__ignoreMap":44},[49,226,227,229],{"class":51,"line":52},[49,228,56],{"class":55},[49,230,231],{"class":59}," @majiayu000\u002Fgithub-code-search\n",[17,233,235],{"id":234},"social-media-search","Social Media Search",[22,237,239],{"id":238},"xpoz-social-search-by-openclaw","Xpoz Social Search by OpenClaw",[10,241,28,242,246],{},[30,243,245],{"href":244},"\u002F@openclaw\u002Fxpoz-social-search","xpoz-social-search"," skill searches Twitter, Instagram, and Reddit posts in real time. It finds social media mentions, tracks hashtags, discovers influencers, and analyzes engagement across platforms. One skill for searching all major social networks.",[39,248,250],{"className":41,"code":249,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fxpoz-social-search\n",[46,251,252],{"__ignoreMap":44},[49,253,254,256],{"class":51,"line":52},[49,255,56],{"class":55},[49,257,258],{"class":59}," @openclaw\u002Fxpoz-social-search\n",[17,260,262],{"id":261},"news-monitoring","News Monitoring",[22,264,266],{"id":265},"google-news-api-by-openclaw","Google News API by OpenClaw",[10,268,28,269,273],{},[30,270,272],{"href":271},"\u002F@openclaw\u002Fgoogle-news-api","google-news-api"," skill scrapes structured news data from Google News automatically. Your agent can search for news on any topic, track industry trends, and compile daily briefings. It returns structured results with titles, sources, and publication dates.",[39,275,277],{"className":41,"code":276,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fgoogle-news-api\n",[46,278,279],{"__ignoreMap":44},[49,280,281,283],{"class":51,"line":52},[49,282,56],{"class":55},[49,284,285],{"class":59}," @openclaw\u002Fgoogle-news-api\n",[22,287,289],{"id":288},"search-by-neversight","Search by NeverSight",[10,291,292,293,297],{},"For Google search via API, the ",[30,294,296],{"href":295},"\u002F@neversight\u002Fsearch","search"," skill uses the Bright Data SERP API to search Google. It returns structured JSON results with title, link, and description. A good option if you're already using Bright Data for other data collection work.",[39,299,301],{"className":41,"code":300,"language":43,"meta":44,"style":44},"\u002Flearn @neversight\u002Fsearch\n",[46,302,303],{"__ignoreMap":44},[49,304,305,307],{"class":51,"line":52},[49,306,56],{"class":55},[49,308,309],{"class":59}," @neversight\u002Fsearch\n",[17,311,313],{"id":312},"getting-started","Getting Started",[10,315,316,317,319],{},"All these skills install in seconds. Open your AI agent (Claude Code, Cursor, Copilot, or any supported platform), type the ",[46,318,56],{}," command, and you're set.",[10,321,322,323,327,328,332],{},"If you're new to agent skills, start with the ",[30,324,326],{"href":325},"\u002Finstall","\u002Flearn install guide"," to set up the command. Then browse the full collection of ",[30,329,331],{"href":330},"\u002F","research and data skills on agentskill.sh"," to find more tools for your workflow.",[10,334,335,336,340,341,345],{},"Search skills pair naturally with other skill categories. Check out the ",[30,337,339],{"href":338},"\u002Fblog\u002Fbest-web-crawling-skills-for-ai-agents","best web crawling skills for AI agents"," to go deeper on the pages your agent finds, or the ",[30,342,344],{"href":343},"\u002Fblog\u002Fbest-google-tools-skills-for-ai-agents","best Google tools skills"," for integrating search data with Google Sheets and Analytics.",[10,347,348,349,353],{},"New search skills are added to agentskill.sh every week. If you've built a search integration, ",[30,350,352],{"href":351},"\u002Fsubmit","submit it"," to make it available to thousands of AI agent users.",[355,356,357],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":44,"searchDepth":359,"depth":359,"links":360},2,[361,367,372,376,379,383],{"id":19,"depth":359,"text":20,"children":362},[363,365,366],{"id":24,"depth":364,"text":25},3,{"id":63,"depth":364,"text":64},{"id":86,"depth":364,"text":87},{"id":110,"depth":359,"text":111,"children":368},[369,370,371],{"id":114,"depth":364,"text":115},{"id":136,"depth":364,"text":137},{"id":159,"depth":364,"text":160},{"id":183,"depth":359,"text":184,"children":373},[374,375],{"id":187,"depth":364,"text":188},{"id":210,"depth":364,"text":211},{"id":234,"depth":359,"text":235,"children":377},[378],{"id":238,"depth":364,"text":239},{"id":261,"depth":359,"text":262,"children":380},[381,382],{"id":265,"depth":364,"text":266},{"id":288,"depth":364,"text":289},{"id":312,"depth":359,"text":313},"2026-03-08","Discover the top search skills for AI agents. Multi-engine search, Google search, academic search, and code search with skills for Claude Code, Cursor, and more.","md",[388,391,394,397],{"question":389,"answer":390},"What is a search skill for AI agents?","A search skill is a SKILL.md file that teaches your AI agent how to search the web, academic databases, code repositories, or news sources. You install it with the \u002Flearn command and the agent uses it automatically when relevant.",{"question":392,"answer":393},"Do search skills require API keys?","Most search skills require an API key from the search provider, such as Serper, Tavily, or Exa. Free tiers are available for most providers, and the skill documentation specifies which service it uses.",{"question":395,"answer":396},"Can I search multiple engines at once?","Yes. The web-search-plus skill uses intelligent auto-routing to select the best search provider based on your query. Other skills like tavily-search-pro offer multiple search modes including web, news, and finance.",{"question":398,"answer":399},"Which AI agents support search skills?","Search skills work with any agent that supports the SKILL.md format. This includes Claude Code, Cursor, Windsurf, Copilot, Codex, Zed, and 20+ other platforms listed on agentskill.sh.",null,{},true,"\u002Fblog\u002Fbest-search-skills-for-ai-agents",{"title":5,"description":385},"blog\u002Fbest-search-skills-for-ai-agents",[296,407,408],"google","research","PQVP12-1MD3V2Q7MBdLRickzd9WEIBg5TKCT6o2AtEY",[411,796,1240,1827],{"id":412,"title":413,"body":414,"date":780,"description":781,"extension":386,"faqs":782,"image":400,"meta":788,"navigation":402,"path":789,"seo":790,"stem":791,"tags":792,"__hash__":795},"content\u002Fblog\u002Fbest-agent-browser-skills-for-ai-agents.md","Best Agent Browser Skills for AI Agents",{"type":7,"value":415,"toc":758},[416,419,422,426,430,437,449,453,461,473,477,484,496,500,504,512,524,528,535,547,551,555,562,574,578,581,597,601,605,608,626,630,633,644,648,651,665,669,675,691,698,709,713,723,731,739,747,755],[10,417,418],{},"Browser automation is one of the most powerful capabilities you can give an AI agent. Instead of being limited to text, your agent can navigate websites, fill forms, extract data, take screenshots, and interact with web applications like a human would.",[10,420,421],{},"agentskill.sh has a growing collection of browser skills. Here are the best ones for different use cases.",[17,423,425],{"id":424},"playwright-based-skills","Playwright-Based Skills",[22,427,429],{"id":428},"agent-browser-by-compound-engineering","Agent Browser by Compound Engineering",[10,431,28,432,436],{},[30,433,435],{"href":434},"\u002Fcompound-engineering\u002Fagent-browser","agent-browser"," skill provides full browser automation using Vercel's agent-browser CLI. It handles page navigation, element interaction, screenshots, and data extraction. This is a complete toolkit for agents that need to work with the web.",[39,438,440],{"className":41,"code":439,"language":43,"meta":44,"style":44},"\u002Flearn @compound-engineering\u002Fagent-browser\n",[46,441,442],{"__ignoreMap":44},[49,443,444,446],{"class":51,"line":52},[49,445,56],{"class":55},[49,447,448],{"class":59}," @compound-engineering\u002Fagent-browser\n",[22,450,452],{"id":451},"playwright-scraper-by-alphaonedev","Playwright Scraper by Alphaonedev",[10,454,455,456,460],{},"For JavaScript-heavy sites, ",[30,457,459],{"href":458},"\u002F@alphaonedev\u002Fplaywright-scraper","playwright-scraper"," uses Playwright for web scraping with support for dynamic content, authentication flows, pagination, and data extraction. It handles pages that simpler tools can't parse.",[39,462,464],{"className":41,"code":463,"language":43,"meta":44,"style":44},"\u002Flearn @alphaonedev\u002Fplaywright-scraper\n",[46,465,466],{"__ignoreMap":44},[49,467,468,470],{"class":51,"line":52},[49,469,56],{"class":55},[49,471,472],{"class":59}," @alphaonedev\u002Fplaywright-scraper\n",[22,474,476],{"id":475},"browser-testing-by-openclaw","Browser Testing by OpenClaw",[10,478,28,479,483],{},[30,480,482],{"href":481},"\u002F@openclaw\u002Fbrowser-testing","browser-testing"," skill focuses on automated browser testing. Your agent can write and run Playwright tests, verify UI behavior, and catch visual regressions. Useful for CI\u002FCD pipelines and pre-deploy verification.",[39,485,487],{"className":41,"code":486,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fbrowser-testing\n",[46,488,489],{"__ignoreMap":44},[49,490,491,493],{"class":51,"line":52},[49,492,56],{"class":55},[49,494,495],{"class":59}," @openclaw\u002Fbrowser-testing\n",[17,497,499],{"id":498},"headless-browser-skills","Headless Browser Skills",[22,501,503],{"id":502},"headless-chrome-by-openclaw","Headless Chrome by OpenClaw",[10,505,506,507,511],{},"For lightweight browser automation, ",[30,508,510],{"href":509},"\u002F@openclaw\u002Fheadless-chrome","headless-chrome"," runs Chromium in headless mode for fast page rendering, PDF generation, and screenshot capture. Lower overhead than full Playwright setups.",[39,513,515],{"className":41,"code":514,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fheadless-chrome\n",[46,516,517],{"__ignoreMap":44},[49,518,519,521],{"class":51,"line":52},[49,520,56],{"class":55},[49,522,523],{"class":59}," @openclaw\u002Fheadless-chrome\n",[22,525,527],{"id":526},"browser-use-by-majiayu000","Browser Use by Majiayu000",[10,529,28,530,534],{},[30,531,533],{"href":532},"\u002F@majiayu000\u002Fbrowser-use","browser-use"," skill provides a simplified interface for common browser tasks. Navigate, click, type, and extract data without writing Playwright code. Good for agents that need basic browser access without complex automation.",[39,536,538],{"className":41,"code":537,"language":43,"meta":44,"style":44},"\u002Flearn @majiayu000\u002Fbrowser-use\n",[46,539,540],{"__ignoreMap":44},[49,541,542,544],{"class":51,"line":52},[49,543,56],{"class":55},[49,545,546],{"class":59}," @majiayu000\u002Fbrowser-use\n",[17,548,550],{"id":549},"web-interaction-skills","Web Interaction Skills",[22,552,554],{"id":553},"form-filler-by-openclaw","Form Filler by OpenClaw",[10,556,28,557,561],{},[30,558,560],{"href":559},"\u002F@openclaw\u002Fform-filler","form-filler"," skill teaches your agent to identify form fields, fill them with appropriate data, handle validation errors, and submit forms. Useful for automated testing and data entry tasks.",[39,563,565],{"className":41,"code":564,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fform-filler\n",[46,566,567],{"__ignoreMap":44},[49,568,569,571],{"class":51,"line":52},[49,570,56],{"class":55},[49,572,573],{"class":59}," @openclaw\u002Fform-filler\n",[22,575,577],{"id":576},"screenshot-capture","Screenshot Capture",[10,579,580],{},"Several skills include screenshot capabilities as part of their browser automation. Screenshots let your agent:",[582,583,584,588,591,594],"ul",{},[585,586,587],"li",{},"Verify visual output of UI changes",[585,589,590],{},"Document the current state of web pages",[585,592,593],{},"Compare before\u002Fafter states during testing",[585,595,596],{},"Capture evidence for bug reports",[17,598,600],{"id":599},"use-cases-for-agent-browser-skills","Use Cases for Agent Browser Skills",[22,602,604],{"id":603},"automated-testing","Automated Testing",[10,606,607],{},"Browser skills are essential for end-to-end testing. Your agent can:",[609,610,611,614,617,620,623],"ol",{},[585,612,613],{},"Navigate to your application",[585,615,616],{},"Perform user flows (login, checkout, form submission)",[585,618,619],{},"Verify that elements render correctly",[585,621,622],{},"Take screenshots of failures",[585,624,625],{},"Report results with visual evidence",[22,627,629],{"id":628},"data-collection","Data Collection",[10,631,632],{},"When APIs aren't available, browser skills let your agent extract data directly from web pages. This works for:",[582,634,635,638,641],{},[585,636,637],{},"Competitive research (pricing pages, feature lists)",[585,639,640],{},"Content aggregation (news, reviews, product data)",[585,642,643],{},"Monitoring (checking for changes on specific pages)",[22,645,647],{"id":646},"workflow-automation","Workflow Automation",[10,649,650],{},"Browser skills automate repetitive web tasks:",[582,652,653,656,659,662],{},[585,654,655],{},"Filling forms across multiple platforms",[585,657,658],{},"Downloading reports from dashboards",[585,660,661],{},"Updating settings across services",[585,663,664],{},"Managing content across CMS platforms",[17,666,668],{"id":667},"getting-started-with-browser-skills","Getting Started with Browser Skills",[10,670,671,672,674],{},"All browser skills install in seconds with the ",[46,673,56],{}," command. Your agent needs access to run shell commands and a Chromium installation (most systems have one).",[39,676,678],{"className":41,"code":677,"language":43,"meta":44,"style":44},"\u002Flearn @compound-engineering\u002Fagent-browser    # Full browser toolkit\n",[46,679,680],{"__ignoreMap":44},[49,681,682,684,687],{"class":51,"line":52},[49,683,56],{"class":55},[49,685,686],{"class":59}," @compound-engineering\u002Fagent-browser",[49,688,690],{"class":689},"sJ8bj","    # Full browser toolkit\n",[10,692,322,693,327,695,332],{},[30,694,326],{"href":325},[30,696,697],{"href":330},"automation skills on agentskill.sh",[10,699,700,701,704,705,708],{},"Browser skills pair well with ",[30,702,703],{"href":338},"web crawling skills"," for data extraction and ",[30,706,707],{"href":403},"search skills"," for finding the right pages to interact with.",[17,710,712],{"id":711},"faq","FAQ",[714,715,716,720],"details",{},[717,718,719],"summary",{},"What is an agent browser skill?",[10,721,722],{},"An agent browser skill is a SKILL.md file that teaches your AI agent how to control a web browser. This includes navigating pages, clicking buttons, filling forms, taking screenshots, and extracting data from websites.",[714,724,725,728],{},[717,726,727],{},"Can AI agents browse the web?",[10,729,730],{},"Yes. With browser skills installed, AI agents can launch headless browsers, navigate to URLs, interact with page elements, and extract information. They can also take screenshots for visual verification.",[714,732,733,736],{},[717,734,735],{},"What browser engines do agent browser skills support?",[10,737,738],{},"Most browser skills use Chromium via Playwright or Puppeteer. Some support Firefox and WebKit as well. Playwright-based skills offer the widest browser engine coverage.",[714,740,741,744],{},[717,742,743],{},"Are browser skills safe to use?",[10,745,746],{},"Browser skills run in your local environment with your permissions. They're safe for automation tasks like testing, scraping public data, and form filling. Always review a skill's security score on agentskill.sh before installing.",[714,748,749,752],{},[717,750,751],{},"Which AI agents support browser skills?",[10,753,754],{},"Any agent that supports the SKILL.md format can use browser skills. This includes Claude Code, Cursor, Copilot, Gemini, Windsurf, and 20+ other platforms. The agent needs access to run shell commands to control the browser.",[355,756,757],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":44,"searchDepth":359,"depth":359,"links":759},[760,765,769,773,778,779],{"id":424,"depth":359,"text":425,"children":761},[762,763,764],{"id":428,"depth":364,"text":429},{"id":451,"depth":364,"text":452},{"id":475,"depth":364,"text":476},{"id":498,"depth":359,"text":499,"children":766},[767,768],{"id":502,"depth":364,"text":503},{"id":526,"depth":364,"text":527},{"id":549,"depth":359,"text":550,"children":770},[771,772],{"id":553,"depth":364,"text":554},{"id":576,"depth":364,"text":577},{"id":599,"depth":359,"text":600,"children":774},[775,776,777],{"id":603,"depth":364,"text":604},{"id":628,"depth":364,"text":629},{"id":646,"depth":364,"text":647},{"id":667,"depth":359,"text":668},{"id":711,"depth":359,"text":712},"2026-03-16","Discover the top browser automation skills for AI agents. Use Playwright, Puppeteer, and headless browsers with skills for Claude Code, Cursor, and more.",[783,784,785,786,787],{"question":719,"answer":722},{"question":727,"answer":730},{"question":735,"answer":738},{"question":743,"answer":746},{"question":751,"answer":754},{},"\u002Fblog\u002Fbest-agent-browser-skills-for-ai-agents",{"title":413,"description":781},"blog\u002Fbest-agent-browser-skills-for-ai-agents",[793,794,435],"browser","automation","-jF3f73U6fVRlabmE3KVPPdcBSfA7zkwgZhhYwlOQus",{"id":797,"title":798,"body":799,"date":780,"description":1223,"extension":386,"faqs":1224,"image":400,"meta":1231,"navigation":402,"path":1232,"seo":1233,"stem":1234,"tags":1235,"__hash__":1239},"content\u002Fblog\u002Fself-improving-agent-skills.md","Self-Improving Agent Skills: How AI Agents Get Better Over Time",{"type":7,"value":800,"toc":1209},[801,804,807,811,814,817,850,853,857,861,864,879,882,886,889,904,908,911,915,918,922,997,1000,1004,1007,1095,1098,1102,1105,1131,1137,1141,1144,1147,1157,1159,1167,1175,1190,1198,1206],[10,802,803],{},"AI agents are powerful, but they're usually one-shot: you give a prompt, they give an answer, done. Self-improving agent skills change that pattern. They teach agents to evaluate their own work, identify gaps, and iterate until the output meets a quality bar.",[10,805,806],{},"This is one of the fastest-growing categories on agentskill.sh. Here's how self-improving skills work and which ones you should try.",[17,808,810],{"id":809},"what-makes-a-skill-self-improving","What Makes a Skill \"Self-Improving\"?",[10,812,813],{},"A self-improving skill includes a feedback loop in its instructions. Instead of \"generate X and return it,\" the skill says \"generate X, evaluate it against these criteria, fix any issues, and repeat until it passes.\"",[10,815,816],{},"The typical pattern looks like this:",[609,818,819,826,832,838,844],{},[585,820,821,825],{},[822,823,824],"strong",{},"Generate",": Produce an initial output",[585,827,828,831],{},[822,829,830],{},"Evaluate",": Check the output against quality criteria",[585,833,834,837],{},[822,835,836],{},"Identify gaps",": List what's missing or wrong",[585,839,840,843],{},[822,841,842],{},"Refine",": Fix the issues and produce a better version",[585,845,846,849],{},[822,847,848],{},"Repeat",": Loop until the output passes all checks",[10,851,852],{},"This is different from simple prompting because the evaluation criteria are built into the skill. The agent doesn't just try harder. It follows a structured review process.",[17,854,856],{"id":855},"types-of-self-improving-skills","Types of Self-Improving Skills",[22,858,860],{"id":859},"code-review-and-refactoring","Code Review and Refactoring",[10,862,863],{},"Code review skills are natural fits for self-improvement. The agent writes code, then reviews it for bugs, security issues, performance problems, and style violations. Each pass catches things the previous pass missed.",[39,865,867],{"className":41,"code":866,"language":43,"meta":44,"style":44},"\u002Flearn @compound-engineering\u002Fcode-reviewer    # Multi-pass code review\n",[46,868,869],{"__ignoreMap":44},[49,870,871,873,876],{"class":51,"line":52},[49,872,56],{"class":55},[49,874,875],{"class":59}," @compound-engineering\u002Fcode-reviewer",[49,877,878],{"class":689},"    # Multi-pass code review\n",[10,880,881],{},"These skills are especially valuable for complex refactoring where a single pass might introduce regressions. The agent verifies its own changes against test suites and type systems.",[22,883,885],{"id":884},"content-creation-and-seo","Content Creation and SEO",[10,887,888],{},"Writing skills that self-improve check for readability, keyword coverage, structure, and factual accuracy. The first draft gets the ideas down. Subsequent passes tighten the prose, fix inconsistencies, and optimize for search.",[39,890,892],{"className":41,"code":891,"language":43,"meta":44,"style":44},"\u002Flearn @anthropic\u002Fseo-content-optimizer       # SEO-aware content refinement\n",[46,893,894],{"__ignoreMap":44},[49,895,896,898,901],{"class":51,"line":52},[49,897,56],{"class":55},[49,899,900],{"class":59}," @anthropic\u002Fseo-content-optimizer",[49,902,903],{"class":689},"       # SEO-aware content refinement\n",[22,905,907],{"id":906},"test-generation","Test Generation",[10,909,910],{},"Test generation skills produce tests, run them, analyze failures, and fix both the tests and the code. This creates a tight feedback loop where the agent builds confidence in its own work.",[22,912,914],{"id":913},"architecture-and-design","Architecture and Design",[10,916,917],{},"Architecture skills evaluate designs against principles like SOLID, separation of concerns, and scalability. They propose a design, critique it, and propose a better version.",[17,919,921],{"id":920},"how-self-improving-skills-compare-to-single-pass","How Self-Improving Skills Compare to Single-Pass",[923,924,925,941],"table",{},[926,927,928],"thead",{},[929,930,931,935,938],"tr",{},[932,933,934],"th",{},"Aspect",[932,936,937],{},"Single-Pass",[932,939,940],{},"Self-Improving",[942,943,944,958,971,984],"tbody",{},[929,945,946,952,955],{},[947,948,949],"td",{},[822,950,951],{},"Speed",[947,953,954],{},"Fast",[947,956,957],{},"Slower (2-5x)",[929,959,960,965,968],{},[947,961,962],{},[822,963,964],{},"Quality",[947,966,967],{},"Good enough for simple tasks",[947,969,970],{},"Higher, especially for complex work",[929,972,973,978,981],{},[947,974,975],{},[822,976,977],{},"Consistency",[947,979,980],{},"Variable",[947,982,983],{},"More predictable",[929,985,986,991,994],{},[947,987,988],{},[822,989,990],{},"Best for",[947,992,993],{},"Quick tasks, boilerplate",[947,995,996],{},"Code review, content, architecture",[10,998,999],{},"The tradeoff is clear: speed vs. quality. For routine tasks, single-pass skills are fine. For anything where mistakes are costly (production code, published content, architectural decisions), self-improving skills pay for themselves.",[17,1001,1003],{"id":1002},"building-your-own-self-improving-skill","Building Your Own Self-Improving Skill",[10,1005,1006],{},"The key is defining clear evaluation criteria. A self-improving skill needs to know what \"good\" looks like. Here's a minimal structure:",[39,1008,1012],{"className":1009,"code":1010,"language":1011,"meta":44,"style":44},"language-markdown shiki shiki-themes github-light github-dark","## Workflow\n\n1. Generate initial output\n2. Review against these criteria:\n   - [ ] No security vulnerabilities\n   - [ ] All edge cases handled\n   - [ ] Follows project conventions\n   - [ ] Tests pass\n3. If any criteria fail, fix and go back to step 2\n4. Maximum 3 iterations\n","markdown",[46,1013,1014,1020,1025,1035,1044,1053,1061,1069,1077,1086],{"__ignoreMap":44},[49,1015,1016],{"class":51,"line":52},[49,1017,1019],{"class":1018},"sq-ep","## Workflow\n",[49,1021,1022],{"class":51,"line":359},[49,1023,1024],{"emptyLinePlaceholder":402},"\n",[49,1026,1027,1031],{"class":51,"line":364},[49,1028,1030],{"class":1029},"s4XuR","1.",[49,1032,1034],{"class":1033},"sVt8B"," Generate initial output\n",[49,1036,1038,1041],{"class":51,"line":1037},4,[49,1039,1040],{"class":1029},"2.",[49,1042,1043],{"class":1033}," Review against these criteria:\n",[49,1045,1047,1050],{"class":51,"line":1046},5,[49,1048,1049],{"class":1029},"   -",[49,1051,1052],{"class":1033}," [ ] No security vulnerabilities\n",[49,1054,1056,1058],{"class":51,"line":1055},6,[49,1057,1049],{"class":1029},[49,1059,1060],{"class":1033}," [ ] All edge cases handled\n",[49,1062,1064,1066],{"class":51,"line":1063},7,[49,1065,1049],{"class":1029},[49,1067,1068],{"class":1033}," [ ] Follows project conventions\n",[49,1070,1072,1074],{"class":51,"line":1071},8,[49,1073,1049],{"class":1029},[49,1075,1076],{"class":1033}," [ ] Tests pass\n",[49,1078,1080,1083],{"class":51,"line":1079},9,[49,1081,1082],{"class":1029},"3.",[49,1084,1085],{"class":1033}," If any criteria fail, fix and go back to step 2\n",[49,1087,1089,1092],{"class":51,"line":1088},10,[49,1090,1091],{"class":1029},"4.",[49,1093,1094],{"class":1033}," Maximum 3 iterations\n",[10,1096,1097],{},"The iteration cap prevents infinite loops. Three passes is usually enough to catch most issues.",[17,1099,1101],{"id":1100},"popular-self-improving-skills-on-agentskillsh","Popular Self-Improving Skills on agentskill.sh",[10,1103,1104],{},"Browse the full collection of skills that include built-in iteration and quality loops:",[582,1106,1107,1113,1119,1125],{},[585,1108,1109,1112],{},[822,1110,1111],{},"Code review skills",": Multi-pass analysis that catches what humans miss",[585,1114,1115,1118],{},[822,1116,1117],{},"Content optimization",": SEO and readability improvement loops",[585,1120,1121,1124],{},[822,1122,1123],{},"Test generation",": Write, run, fix, repeat",[585,1126,1127,1130],{},[822,1128,1129],{},"Architecture review",": Design evaluation against principles",[10,1132,1133,1134,1136],{},"Install any skill with the ",[46,1135,56],{}," command in Claude Code, Cursor, Copilot, or your preferred AI agent.",[17,1138,1140],{"id":1139},"the-future-of-self-improving-agents","The Future of Self-Improving Agents",[10,1142,1143],{},"Today, self-improvement happens within a single session. The agent iterates, but it doesn't carry lessons forward. The next frontier is persistent learning: agents that remember what worked, what failed, and what patterns produce the best results.",[10,1145,1146],{},"Skills are the bridge. As agent memory improves, self-improving skills will become the foundation for agents that genuinely learn from experience. The skills you install today are teaching your agent patterns it will eventually internalize.",[10,1148,1149,1150,1153,1154,1156],{},"Start with the ",[30,1151,1152],{"href":330},"skill directory"," to find self-improving skills for your workflow. If you've built a skill with a built-in feedback loop, ",[30,1155,352],{"href":351}," to share it with the community.",[17,1158,712],{"id":711},[714,1160,1161,1164],{},[717,1162,1163],{},"What is a self-improving agent skill?",[10,1165,1166],{},"A self-improving agent skill is a SKILL.md file that instructs an AI agent to evaluate its own output, learn from feedback, and iteratively refine its results. Instead of producing one-shot answers, the agent runs multiple passes to improve quality.",[714,1168,1169,1172],{},[717,1170,1171],{},"Can AI agents really improve themselves?",[10,1173,1174],{},"Yes, within a session. AI agents can review their own output, identify weaknesses, and produce better versions. They don't permanently learn across sessions (yet), but within a task, self-improvement loops produce significantly better results than single-pass generation.",[714,1176,1177,1180],{},[717,1178,1179],{},"How do I install a self-improving skill?",[10,1181,1182,1183,1185,1186,1189],{},"Use the ",[46,1184,56],{}," command in your AI agent. Type ",[46,1187,1188],{},"\u002Flearn @owner\u002Fskill-name"," to install any skill from agentskill.sh. Self-improving skills work like any other skill but include built-in reflection and iteration loops.",[714,1191,1192,1195],{},[717,1193,1194],{},"Which AI agents support self-improving skills?",[10,1196,1197],{},"Any agent that supports the SKILL.md format can use self-improving skills. This includes Claude Code, Cursor, Copilot, Gemini, Windsurf, and 20+ other platforms listed on agentskill.sh.",[714,1199,1200,1203],{},[717,1201,1202],{},"Are self-improving skills slower than regular skills?",[10,1204,1205],{},"They take more time per task because the agent runs multiple passes. But the output quality is higher, which often saves time on manual revisions. For critical tasks like code review or content creation, the tradeoff is worth it.",[355,1207,1208],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sq-ep, html code.shiki .sq-ep{--shiki-default:#005CC5;--shiki-default-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":44,"searchDepth":359,"depth":359,"links":1210},[1211,1212,1218,1219,1220,1221,1222],{"id":809,"depth":359,"text":810},{"id":855,"depth":359,"text":856,"children":1213},[1214,1215,1216,1217],{"id":859,"depth":364,"text":860},{"id":884,"depth":364,"text":885},{"id":906,"depth":364,"text":907},{"id":913,"depth":364,"text":914},{"id":920,"depth":359,"text":921},{"id":1002,"depth":359,"text":1003},{"id":1100,"depth":359,"text":1101},{"id":1139,"depth":359,"text":1140},{"id":711,"depth":359,"text":712},"Learn how self-improving agent skills work. AI agents that learn from feedback, refine their output, and get better at tasks over time. Browse skills on agentskill.sh.",[1225,1226,1227,1229,1230],{"question":1163,"answer":1166},{"question":1171,"answer":1174},{"question":1179,"answer":1228},"Use the \u002Flearn command in your AI agent. Type \u002Flearn @owner\u002Fskill-name to install any skill from agentskill.sh. Self-improving skills work like any other skill but include built-in reflection and iteration loops.",{"question":1194,"answer":1197},{"question":1202,"answer":1205},{},"\u002Fblog\u002Fself-improving-agent-skills",{"title":798,"description":1223},"blog\u002Fself-improving-agent-skills",[1236,1237,1238],"self-improving","agent","ai-skills","P2dv5WLHulVXhW5ZOUY63fwqaZYOnM_7LbHl9bkj1wQ",{"id":1241,"title":1242,"body":1243,"date":780,"description":1811,"extension":386,"faqs":1812,"image":400,"meta":1818,"navigation":402,"path":1819,"seo":1820,"stem":1821,"tags":1822,"__hash__":1826},"content\u002Fblog\u002Fskills-for-claude-code-agent-teams.md","Best Skills for Claude Code Agent Teams",{"type":7,"value":1244,"toc":1784},[1245,1248,1251,1255,1258,1284,1291,1295,1299,1305,1317,1321,1327,1339,1343,1347,1353,1365,1369,1376,1388,1392,1396,1402,1414,1418,1425,1437,1441,1445,1448,1451,1454,1458,1462,1527,1531,1594,1598,1660,1664,1669,1683,1688,1702,1706,1723,1730,1740,1742,1750,1758,1766,1774,1782],[10,1246,1247],{},"Claude Code agent teams are one of the most powerful features for shipping fast. Instead of a single agent doing everything sequentially, you run multiple agents in parallel: one handles frontend, another writes tests, a third does research. They coordinate through a shared task list and merge their work.",[10,1249,1250],{},"The key to effective agent teams is choosing the right skills. Here are the best skills for multi-agent workflows and how to structure teams for maximum output.",[17,1252,1254],{"id":1253},"how-agent-teams-work","How Agent Teams Work",[10,1256,1257],{},"Agent teams follow a simple model:",[609,1259,1260,1266,1272,1278],{},[585,1261,1262,1265],{},[822,1263,1264],{},"Team leader"," creates tasks and assigns them to agents",[585,1267,1268,1271],{},[822,1269,1270],{},"Specialized agents"," pick up tasks and work independently",[585,1273,1274,1277],{},[822,1275,1276],{},"Agents communicate"," through messages when they need coordination",[585,1279,1280,1283],{},[822,1281,1282],{},"Results merge"," when all agents complete their tasks",[10,1285,1286,1287,1290],{},"The critical rule: agents should work on ",[822,1288,1289],{},"independent files and directories",". Two agents editing the same file creates conflicts and wastes tokens.",[17,1292,1294],{"id":1293},"best-skills-for-team-leaders","Best Skills for Team Leaders",[22,1296,1298],{"id":1297},"skill-creator","Skill Creator",[10,1300,28,1301,1304],{},[30,1302,1297],{"href":1303},"\u002Fcompound-engineering\u002Fskill-creator"," skill helps team leaders create custom skills for their specific project. Define project conventions, coding standards, and workflow patterns as skills that every team member follows.",[39,1306,1308],{"className":41,"code":1307,"language":43,"meta":44,"style":44},"\u002Flearn @compound-engineering\u002Fskill-creator\n",[46,1309,1310],{"__ignoreMap":44},[49,1311,1312,1314],{"class":51,"line":52},[49,1313,56],{"class":55},[49,1315,1316],{"class":59}," @compound-engineering\u002Fskill-creator\n",[22,1318,1320],{"id":1319},"seo-content-planner","SEO Content Planner",[10,1322,28,1323,1326],{},[30,1324,1319],{"href":1325},"\u002Fskills\u002Fseo-content-planner"," skill is perfect for team leaders coordinating content creation. Plan topics, assign keywords, and distribute writing tasks across agents.",[39,1328,1330],{"className":41,"code":1329,"language":43,"meta":44,"style":44},"\u002Flearn @anthropic\u002Fseo-content-planner\n",[46,1331,1332],{"__ignoreMap":44},[49,1333,1334,1336],{"class":51,"line":52},[49,1335,56],{"class":55},[49,1337,1338],{"class":59}," @anthropic\u002Fseo-content-planner\n",[17,1340,1342],{"id":1341},"best-skills-for-coding-agents","Best Skills for Coding Agents",[22,1344,1346],{"id":1345},"frontend-design","Frontend Design",[10,1348,28,1349,1352],{},[30,1350,1345],{"href":1351},"\u002Fcompound-engineering\u002Ffrontend-design"," skill gives coding agents deep knowledge of UI patterns and component architecture. Assign one agent to build components while another handles API routes.",[39,1354,1356],{"className":41,"code":1355,"language":43,"meta":44,"style":44},"\u002Flearn @compound-engineering\u002Ffrontend-design\n",[46,1357,1358],{"__ignoreMap":44},[49,1359,1360,1362],{"class":51,"line":52},[49,1361,56],{"class":55},[49,1363,1364],{"class":59}," @compound-engineering\u002Ffrontend-design\n",[22,1366,1368],{"id":1367},"code-review","Code Review",[10,1370,28,1371,1375],{},[30,1372,1374],{"href":1373},"\u002Fskills\u002Fcode-review","code-reviewer"," skill runs multi-pass reviews on code written by other agents. Have one agent write code and another review it for bugs, security issues, and style violations.",[39,1377,1379],{"className":41,"code":1378,"language":43,"meta":44,"style":44},"\u002Flearn @compound-engineering\u002Fcode-reviewer\n",[46,1380,1381],{"__ignoreMap":44},[49,1382,1383,1385],{"class":51,"line":52},[49,1384,56],{"class":55},[49,1386,1387],{"class":59}," @compound-engineering\u002Fcode-reviewer\n",[17,1389,1391],{"id":1390},"best-skills-for-research-agents","Best Skills for Research Agents",[22,1393,1395],{"id":1394},"seo-optimizer","SEO Optimizer",[10,1397,28,1398,1401],{},[30,1399,1394],{"href":1400},"\u002Fanthropic\u002Fseo-optimizer"," skill lets a dedicated agent handle keyword research, competitor analysis, and content optimization while coding agents focus on building.",[39,1403,1405],{"className":41,"code":1404,"language":43,"meta":44,"style":44},"\u002Flearn @anthropic\u002Fseo-content-optimizer\n",[46,1406,1407],{"__ignoreMap":44},[49,1408,1409,1411],{"class":51,"line":52},[49,1410,56],{"class":55},[49,1412,1413],{"class":59}," @anthropic\u002Fseo-content-optimizer\n",[22,1415,1417],{"id":1416},"web-crawling","Web Crawling",[10,1419,28,1420,1424],{},[30,1421,1423],{"href":1422},"\u002F@openclaw\u002Fcrawl4ai","crawl4ai"," skill gives research agents the ability to gather competitive intelligence, extract data from websites, and compile findings for the team.",[39,1426,1428],{"className":41,"code":1427,"language":43,"meta":44,"style":44},"\u002Flearn @openclaw\u002Fcrawl4ai\n",[46,1429,1430],{"__ignoreMap":44},[49,1431,1432,1434],{"class":51,"line":52},[49,1433,56],{"class":55},[49,1435,1436],{"class":59}," @openclaw\u002Fcrawl4ai\n",[17,1438,1440],{"id":1439},"best-skills-for-testing-agents","Best Skills for Testing Agents",[22,1442,1444],{"id":1443},"test-runner","Test Runner",[10,1446,1447],{},"Dedicated testing agents can run and analyze test suites while coding agents continue building. The test agent catches regressions early and reports issues back to the team.",[22,1449,1450],{"id":482},"Browser Testing",[10,1452,1453],{},"Browser testing skills let a dedicated agent run end-to-end tests in headless browsers, verifying that UI changes work correctly while other agents continue development.",[17,1455,1457],{"id":1456},"team-structure-patterns","Team Structure Patterns",[22,1459,1461],{"id":1460},"frontend-backend-testing","Frontend + Backend + Testing",[923,1463,1464,1477],{},[926,1465,1466],{},[929,1467,1468,1471,1474],{},[932,1469,1470],{},"Agent",[932,1472,1473],{},"Skills",[932,1475,1476],{},"Responsibility",[942,1478,1479,1491,1503,1515],{},[929,1480,1481,1486,1488],{},[947,1482,1483],{},[822,1484,1485],{},"Leader",[947,1487,1297],{},[947,1489,1490],{},"Coordinate, review PRs",[929,1492,1493,1498,1500],{},[947,1494,1495],{},[822,1496,1497],{},"Frontend",[947,1499,1345],{},[947,1501,1502],{},"Components, pages, styling",[929,1504,1505,1510,1512],{},[947,1506,1507],{},[822,1508,1509],{},"Backend",[947,1511,1374],{},[947,1513,1514],{},"APIs, database, business logic",[929,1516,1517,1522,1524],{},[947,1518,1519],{},[822,1520,1521],{},"Tester",[947,1523,1443],{},[947,1525,1526],{},"Unit tests, integration tests",[22,1528,1530],{"id":1529},"content-seo-development","Content + SEO + Development",[923,1532,1533,1543],{},[926,1534,1535],{},[929,1536,1537,1539,1541],{},[932,1538,1470],{},[932,1540,1473],{},[932,1542,1476],{},[942,1544,1545,1556,1569,1581],{},[929,1546,1547,1551,1553],{},[947,1548,1549],{},[822,1550,1485],{},[947,1552,1319],{},[947,1554,1555],{},"Plan content strategy",[929,1557,1558,1563,1566],{},[947,1559,1560],{},[822,1561,1562],{},"Writer 1",[947,1564,1565],{},"seo-content-optimizer",[947,1567,1568],{},"Write blog posts",[929,1570,1571,1576,1578],{},[947,1572,1573],{},[822,1574,1575],{},"Writer 2",[947,1577,1565],{},[947,1579,1580],{},"Write landing pages",[929,1582,1583,1588,1591],{},[947,1584,1585],{},[822,1586,1587],{},"Developer",[947,1589,1590],{},"programmatic-seo",[947,1592,1593],{},"Build pSEO templates",[22,1595,1597],{"id":1596},"research-sprint","Research Sprint",[923,1599,1600,1610],{},[926,1601,1602],{},[929,1603,1604,1606,1608],{},[932,1605,1470],{},[932,1607,1473],{},[932,1609,1476],{},[942,1611,1612,1623,1636,1648],{},[929,1613,1614,1618,1620],{},[947,1615,1616],{},[822,1617,1485],{},[947,1619,1297],{},[947,1621,1622],{},"Define research tasks",[929,1624,1625,1630,1633],{},[947,1626,1627],{},[822,1628,1629],{},"Researcher 1",[947,1631,1632],{},"crawl4ai, search",[947,1634,1635],{},"Competitor analysis",[929,1637,1638,1643,1645],{},[947,1639,1640],{},[822,1641,1642],{},"Researcher 2",[947,1644,1632],{},[947,1646,1647],{},"Market research",[929,1649,1650,1655,1657],{},[947,1651,1652],{},[822,1653,1654],{},"Analyst",[947,1656,1374],{},[947,1658,1659],{},"Synthesize findings",[17,1661,1663],{"id":1662},"tips-for-effective-agent-teams","Tips for Effective Agent Teams",[10,1665,1666],{},[822,1667,1668],{},"Do:",[582,1670,1671,1674,1677,1680],{},[585,1672,1673],{},"Assign clear, scoped tasks with no file overlap",[585,1675,1676],{},"Use skills that produce independent outputs",[585,1678,1679],{},"Have a dedicated review agent for quality control",[585,1681,1682],{},"Keep teams small (3-5 agents)",[10,1684,1685],{},[822,1686,1687],{},"Don't:",[582,1689,1690,1693,1696,1699],{},[585,1691,1692],{},"Put two agents on the same file",[585,1694,1695],{},"Use broad skills that touch the entire codebase",[585,1697,1698],{},"Spin up more agents than you have independent tasks",[585,1700,1701],{},"Skip the review step",[17,1703,1705],{"id":1704},"getting-started-with-agent-teams","Getting Started with Agent Teams",[609,1707,1708,1711,1714,1717,1720],{},[585,1709,1710],{},"Enable agent teams in Claude Code settings",[585,1712,1713],{},"Install skills for each role your team needs",[585,1715,1716],{},"Create a team with a leader and 2-3 specialists",[585,1718,1719],{},"Define independent tasks with clear boundaries",[585,1721,1722],{},"Let agents work in parallel and review the results",[10,1724,1725,1726,1729],{},"Browse the full collection of skills on ",[30,1727,1728],{"href":330},"agentskill.sh"," to find the right tools for your team. Every skill works in single-agent and multi-agent contexts, so you can start with one agent and scale up when your workflows demand it.",[10,1731,1732,1733,1739],{},"For more on multi-agent orchestration, see how ",[30,1734,1738],{"href":1735,"rel":1736},"https:\u002F\u002Fwin.sh",[1737],"nofollow","Win.sh"," brings agent teams to business automation with specialized agents for marketing, development, and operations.",[17,1741,712],{"id":711},[714,1743,1744,1747],{},[717,1745,1746],{},"What are Claude Code agent teams?",[10,1748,1749],{},"Claude Code agent teams let you run multiple AI agents in parallel within the same project. A team leader coordinates specialized agents (researcher, coder, tester) that work on independent tasks simultaneously, then merge their results.",[714,1751,1752,1755],{},[717,1753,1754],{},"What skills work best with agent teams?",[10,1756,1757],{},"Skills that handle independent, parallelizable tasks work best. Code review, testing, research, documentation, and SEO skills can each run on separate agents without conflicts. Avoid skills that edit the same files.",[714,1759,1760,1763],{},[717,1761,1762],{},"How many agents can I run in a team?",[10,1764,1765],{},"There's no hard limit, but 3-5 agents is the sweet spot. More agents means more coordination overhead. Each agent consumes API resources, so balance parallel speed against cost.",[714,1767,1768,1771],{},[717,1769,1770],{},"Do I need special skills for agent teams?",[10,1772,1773],{},"No. Any SKILL.md works in a team context. But skills designed for clear, scoped tasks (like auditing one file or generating one component) work better than broad skills that touch many files.",[714,1775,1776,1779],{},[717,1777,1778],{},"Can agent teams from different platforms collaborate?",[10,1780,1781],{},"Currently, agent teams are a Claude Code feature. Other platforms may add similar capabilities. The skills themselves are portable across platforms, but the team coordination layer is specific to Claude Code.",[355,1783,357],{},{"title":44,"searchDepth":359,"depth":359,"links":1785},[1786,1787,1791,1795,1799,1803,1808,1809,1810],{"id":1253,"depth":359,"text":1254},{"id":1293,"depth":359,"text":1294,"children":1788},[1789,1790],{"id":1297,"depth":364,"text":1298},{"id":1319,"depth":364,"text":1320},{"id":1341,"depth":359,"text":1342,"children":1792},[1793,1794],{"id":1345,"depth":364,"text":1346},{"id":1367,"depth":364,"text":1368},{"id":1390,"depth":359,"text":1391,"children":1796},[1797,1798],{"id":1394,"depth":364,"text":1395},{"id":1416,"depth":364,"text":1417},{"id":1439,"depth":359,"text":1440,"children":1800},[1801,1802],{"id":1443,"depth":364,"text":1444},{"id":482,"depth":364,"text":1450},{"id":1456,"depth":359,"text":1457,"children":1804},[1805,1806,1807],{"id":1460,"depth":364,"text":1461},{"id":1529,"depth":364,"text":1530},{"id":1596,"depth":364,"text":1597},{"id":1662,"depth":359,"text":1663},{"id":1704,"depth":359,"text":1705},{"id":711,"depth":359,"text":712},"The best skills for Claude Code agent teams. Coordinate multiple AI agents, parallelize work, and ship faster with skills designed for multi-agent workflows.",[1813,1814,1815,1816,1817],{"question":1746,"answer":1749},{"question":1754,"answer":1757},{"question":1762,"answer":1765},{"question":1770,"answer":1773},{"question":1778,"answer":1781},{},"\u002Fblog\u002Fskills-for-claude-code-agent-teams",{"title":1242,"description":1811},"blog\u002Fskills-for-claude-code-agent-teams",[1823,1824,1825],"agent-teams","claude-code","multi-agent","ietN-nH7n615ghkXCmPEsHCr0OE7ZfYVgmBt7YVVWgE",{"id":1828,"title":1829,"body":1830,"date":2596,"description":2597,"extension":386,"faqs":2598,"image":400,"meta":2611,"navigation":402,"path":2612,"seo":2613,"stem":2614,"tags":2615,"__hash__":2620},"content\u002Fblog\u002Fhow-to-sell-to-ai-agents.md","How to Sell to AI Agents: The CLI-First Distribution Strategy",{"type":7,"value":1831,"toc":2579},[1832,1836,1839,1842,1845,1849,1852,1855,1860,1910,1915,1946,1949,1952,1956,1959,1965,1971,1974,1991,1997,2011,2014,2018,2021,2025,2028,2036,2051,2055,2058,2324,2334,2338,2341,2379,2386,2390,2397,2400,2404,2408,2415,2463,2469,2472,2479,2523,2526,2530,2533,2536,2539,2542,2545,2573,2576],[17,1833,1835],{"id":1834},"the-shift-agents-are-the-new-customers","The shift: agents are the new customers",[10,1837,1838],{},"A growing number of SaaS products are seeing a new type of user: AI agents. Not humans clicking through a UI, but autonomous agents that discover tools, connect to them, and use them as part of larger workflows.",[10,1840,1841],{},"This is not theoretical. Postiz, an open source social media scheduling tool, went from $17K to $45K MRR in weeks after making their product agent-friendly. Their founder attributes the growth directly to agents discovering and using their tool.",[10,1843,1844],{},"The pattern is simple. Agents need tools to accomplish tasks. If your product is easy for an agent to use, agents will pick you. If it's not, they'll pick a competitor.",[17,1846,1848],{"id":1847},"why-cli-beats-api-for-agents","Why CLI beats API for agents",[10,1850,1851],{},"The first instinct is to build an API. You probably already have one. But there's a problem: API requests are verbose. A single POST request with headers, JSON body, authentication, and error handling can be 15-20 lines of code that an agent needs to construct.",[10,1853,1854],{},"CLI commands are short. Compare these two approaches for scheduling a social media post:",[10,1856,1857],{},[822,1858,1859],{},"API approach (high token cost):",[39,1861,1863],{"className":41,"code":1862,"language":43,"meta":44,"style":44},"curl -X POST https:\u002F\u002Fapi.example.com\u002Fv1\u002Fposts \\\n  -H \"Authorization: Bearer sk_123\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"content\":\"Hello world\",\"integrations\":[\"twitter-456\"],\"date\":\"2026-03-11T12:00:00Z\",\"type\":\"schedule\"}'\n",[46,1864,1865,1883,1893,1902],{"__ignoreMap":44},[49,1866,1867,1870,1874,1877,1880],{"class":51,"line":52},[49,1868,1869],{"class":55},"curl",[49,1871,1873],{"class":1872},"sj4cs"," -X",[49,1875,1876],{"class":59}," POST",[49,1878,1879],{"class":59}," https:\u002F\u002Fapi.example.com\u002Fv1\u002Fposts",[49,1881,1882],{"class":1872}," \\\n",[49,1884,1885,1888,1891],{"class":51,"line":359},[49,1886,1887],{"class":1872},"  -H",[49,1889,1890],{"class":59}," \"Authorization: Bearer sk_123\"",[49,1892,1882],{"class":1872},[49,1894,1895,1897,1900],{"class":51,"line":364},[49,1896,1887],{"class":1872},[49,1898,1899],{"class":59}," \"Content-Type: application\u002Fjson\"",[49,1901,1882],{"class":1872},[49,1903,1904,1907],{"class":51,"line":1037},[49,1905,1906],{"class":1872},"  -d",[49,1908,1909],{"class":59}," '{\"content\":\"Hello world\",\"integrations\":[\"twitter-456\"],\"date\":\"2026-03-11T12:00:00Z\",\"type\":\"schedule\"}'\n",[10,1911,1912],{},[822,1913,1914],{},"CLI approach (low token cost):",[39,1916,1918],{"className":41,"code":1917,"language":43,"meta":44,"style":44},"postiz posts:create -c \"Hello world\" -i \"twitter-456\" -s \"2026-03-11T12:00:00Z\"\n",[46,1919,1920],{"__ignoreMap":44},[49,1921,1922,1925,1928,1931,1934,1937,1940,1943],{"class":51,"line":52},[49,1923,1924],{"class":55},"postiz",[49,1926,1927],{"class":59}," posts:create",[49,1929,1930],{"class":1872}," -c",[49,1932,1933],{"class":59}," \"Hello world\"",[49,1935,1936],{"class":1872}," -i",[49,1938,1939],{"class":59}," \"twitter-456\"",[49,1941,1942],{"class":1872}," -s",[49,1944,1945],{"class":59}," \"2026-03-11T12:00:00Z\"\n",[10,1947,1948],{},"The CLI version uses fewer tokens, has less room for error, and is easier for the agent to iterate on if something goes wrong. Every failed attempt with the API means reconstructing the entire JSON payload. With the CLI, the agent just tweaks a flag.",[10,1950,1951],{},"This matters at scale. When an agent runs a workflow that calls your tool hundreds of times, the token savings compound. Less context rot means more reliable execution.",[17,1953,1955],{"id":1954},"the-three-layers-api-cli-skill","The three layers: API, CLI, Skill",[10,1957,1958],{},"Building for agents requires three layers:",[10,1960,1961,1964],{},[822,1962,1963],{},"1. API (you probably have this)","\nYour REST or GraphQL endpoints. This is the foundation. The CLI wraps it.",[10,1966,1967,1970],{},[822,1968,1969],{},"2. CLI (the missing piece for most SaaS)","\nA command-line tool published to npm (or pip, cargo, etc.) that wraps your API into short, composable commands. This is what agents actually call.",[10,1972,1973],{},"Building a CLI is straightforward. The pattern:",[582,1975,1976,1979,1982,1985,1988],{},[585,1977,1978],{},"Use yargs (Node.js) or click (Python) for argument parsing",[585,1980,1981],{},"Each command maps to one API call",[585,1983,1984],{},"All output is JSON (machine-readable)",[585,1986,1987],{},"Support stdin piping for composability",[585,1989,1990],{},"Two dependencies, a few hundred lines of code",[10,1992,1993,1996],{},[822,1994,1995],{},"3. Skill file (how agents discover you)","\nA SKILL.md file that documents your CLI for agents. This is the most important piece. It teaches the agent:",[582,1998,1999,2002,2005,2008],{},[585,2000,2001],{},"What commands are available",[585,2003,2004],{},"Common workflow patterns (not just individual commands)",[585,2006,2007],{},"Gotchas and error handling",[585,2009,2010],{},"When to use which command",[10,2012,2013],{},"A good skill file is 300-700 lines. It's not just a reference manual. It's a playbook.",[17,2015,2017],{"id":2016},"how-to-build-your-cli-in-an-afternoon","How to build your CLI in an afternoon",[10,2019,2020],{},"Here's the concrete playbook:",[22,2022,2024],{"id":2023},"step-1-map-your-api-to-commands","Step 1: Map your API to commands",[10,2026,2027],{},"List your API endpoints. Each one becomes a CLI command:",[39,2029,2034],{"className":2030,"code":2032,"language":2033},[2031],"language-text","POST \u002Fapi\u002Fv1\u002Fdetect    →  myapp detect -t \"text\"\nPOST \u002Fapi\u002Fv1\u002Fhumanize  →  myapp humanize -t \"text\" -i medium\nGET  \u002Fapi\u002Fv1\u002Fcredits   →  myapp credits\n","text",[46,2035,2032],{"__ignoreMap":44},[10,2037,2038,2039,2042,2043,2046,2047,2050],{},"Keep commands short. Use single-letter aliases for common flags (",[46,2040,2041],{},"-t"," for text, ",[46,2044,2045],{},"-f"," for file, ",[46,2048,2049],{},"-i"," for intensity).",[22,2052,2054],{"id":2053},"step-2-build-the-wrapper","Step 2: Build the wrapper",[10,2056,2057],{},"The code is minimal. Here's the pattern in TypeScript:",[39,2059,2063],{"className":2060,"code":2061,"language":2062,"meta":44,"style":44},"language-typescript shiki shiki-themes github-light github-dark","\u002F\u002F api.ts - thin wrapper over fetch\nclass MyAppAPI {\n  async detect(text: string) {\n    return this.request('\u002Fdetect', { method: 'POST', body: JSON.stringify({ text }) });\n  }\n}\n\n\u002F\u002F index.ts - yargs commands\nyargs\n  .command('detect', 'Detect something', (yargs) => {\n    return yargs.option('text', { alias: 't', type: 'string' });\n  }, async (argv) => {\n    const result = await api.detect(argv.text);\n    console.log(JSON.stringify(result, null, 2));\n  })\n  .parse();\n","typescript",[46,2064,2065,2070,2082,2104,2143,2148,2153,2157,2162,2167,2200,2231,2252,2276,2307,2313],{"__ignoreMap":44},[49,2066,2067],{"class":51,"line":52},[49,2068,2069],{"class":689},"\u002F\u002F api.ts - thin wrapper over fetch\n",[49,2071,2072,2076,2079],{"class":51,"line":359},[49,2073,2075],{"class":2074},"szBVR","class",[49,2077,2078],{"class":55}," MyAppAPI",[49,2080,2081],{"class":1033}," {\n",[49,2083,2084,2087,2090,2093,2095,2098,2101],{"class":51,"line":364},[49,2085,2086],{"class":2074},"  async",[49,2088,2089],{"class":55}," detect",[49,2091,2092],{"class":1033},"(",[49,2094,2033],{"class":1029},[49,2096,2097],{"class":2074},":",[49,2099,2100],{"class":1872}," string",[49,2102,2103],{"class":1033},") {\n",[49,2105,2106,2109,2112,2115,2118,2120,2123,2126,2129,2132,2135,2137,2140],{"class":51,"line":1037},[49,2107,2108],{"class":2074},"    return",[49,2110,2111],{"class":1872}," this",[49,2113,2114],{"class":1033},".",[49,2116,2117],{"class":55},"request",[49,2119,2092],{"class":1033},[49,2121,2122],{"class":59},"'\u002Fdetect'",[49,2124,2125],{"class":1033},", { method: ",[49,2127,2128],{"class":59},"'POST'",[49,2130,2131],{"class":1033},", body: ",[49,2133,2134],{"class":1872},"JSON",[49,2136,2114],{"class":1033},[49,2138,2139],{"class":55},"stringify",[49,2141,2142],{"class":1033},"({ text }) });\n",[49,2144,2145],{"class":51,"line":1046},[49,2146,2147],{"class":1033},"  }\n",[49,2149,2150],{"class":51,"line":1055},[49,2151,2152],{"class":1033},"}\n",[49,2154,2155],{"class":51,"line":1063},[49,2156,1024],{"emptyLinePlaceholder":402},[49,2158,2159],{"class":51,"line":1071},[49,2160,2161],{"class":689},"\u002F\u002F index.ts - yargs commands\n",[49,2163,2164],{"class":51,"line":1079},[49,2165,2166],{"class":1033},"yargs\n",[49,2168,2169,2172,2175,2177,2180,2183,2186,2189,2192,2195,2198],{"class":51,"line":1088},[49,2170,2171],{"class":1033},"  .",[49,2173,2174],{"class":55},"command",[49,2176,2092],{"class":1033},[49,2178,2179],{"class":59},"'detect'",[49,2181,2182],{"class":1033},", ",[49,2184,2185],{"class":59},"'Detect something'",[49,2187,2188],{"class":1033},", (",[49,2190,2191],{"class":1029},"yargs",[49,2193,2194],{"class":1033},") ",[49,2196,2197],{"class":2074},"=>",[49,2199,2081],{"class":1033},[49,2201,2203,2205,2208,2211,2213,2216,2219,2222,2225,2228],{"class":51,"line":2202},11,[49,2204,2108],{"class":2074},[49,2206,2207],{"class":1033}," yargs.",[49,2209,2210],{"class":55},"option",[49,2212,2092],{"class":1033},[49,2214,2215],{"class":59},"'text'",[49,2217,2218],{"class":1033},", { alias: ",[49,2220,2221],{"class":59},"'t'",[49,2223,2224],{"class":1033},", type: ",[49,2226,2227],{"class":59},"'string'",[49,2229,2230],{"class":1033}," });\n",[49,2232,2234,2237,2240,2243,2246,2248,2250],{"class":51,"line":2233},12,[49,2235,2236],{"class":1033},"  }, ",[49,2238,2239],{"class":2074},"async",[49,2241,2242],{"class":1033}," (",[49,2244,2245],{"class":1029},"argv",[49,2247,2194],{"class":1033},[49,2249,2197],{"class":2074},[49,2251,2081],{"class":1033},[49,2253,2255,2258,2261,2264,2267,2270,2273],{"class":51,"line":2254},13,[49,2256,2257],{"class":2074},"    const",[49,2259,2260],{"class":1872}," result",[49,2262,2263],{"class":2074}," =",[49,2265,2266],{"class":2074}," await",[49,2268,2269],{"class":1033}," api.",[49,2271,2272],{"class":55},"detect",[49,2274,2275],{"class":1033},"(argv.text);\n",[49,2277,2279,2282,2285,2287,2289,2291,2293,2296,2299,2301,2304],{"class":51,"line":2278},14,[49,2280,2281],{"class":1033},"    console.",[49,2283,2284],{"class":55},"log",[49,2286,2092],{"class":1033},[49,2288,2134],{"class":1872},[49,2290,2114],{"class":1033},[49,2292,2139],{"class":55},[49,2294,2295],{"class":1033},"(result, ",[49,2297,2298],{"class":1872},"null",[49,2300,2182],{"class":1033},[49,2302,2303],{"class":1872},"2",[49,2305,2306],{"class":1033},"));\n",[49,2308,2310],{"class":51,"line":2309},15,[49,2311,2312],{"class":1033},"  })\n",[49,2314,2316,2318,2321],{"class":51,"line":2315},16,[49,2317,2171],{"class":1033},[49,2319,2320],{"class":55},"parse",[49,2322,2323],{"class":1033},"();\n",[10,2325,2326,2327,2329,2330,2333],{},"Dependencies: ",[46,2328,2191],{}," and optionally ",[46,2331,2332],{},"node-fetch",". That's it. Publish to npm.",[22,2335,2337],{"id":2336},"step-3-write-the-skill-file","Step 3: Write the skill file",[10,2339,2340],{},"This is where most people underinvest. A skill file needs:",[609,2342,2343,2349,2355,2361,2367,2373],{},[585,2344,2345,2348],{},[822,2346,2347],{},"Installation instructions"," (npm install command)",[585,2350,2351,2354],{},[822,2352,2353],{},"Core workflow"," (the 3-5 step pattern agents should follow)",[585,2356,2357,2360],{},[822,2358,2359],{},"Every command documented"," with examples",[585,2362,2363,2366],{},[822,2364,2365],{},"Common patterns"," (batch processing, error recovery, piping)",[585,2368,2369,2372],{},[822,2370,2371],{},"Gotchas"," (10+ things that can go wrong)",[585,2374,2375,2378],{},[822,2376,2377],{},"Quick reference card"," (all commands in one block)",[10,2380,2381,2382,2385],{},"Look at ",[30,2383,2384],{"href":330},"existing skills on agentskill.sh"," for examples. The best ones are 300-700 lines.",[22,2387,2389],{"id":2388},"step-4-cross-promote","Step 4: Cross-promote",[10,2391,2392,2393,2396],{},"Bake discovery into your CLI. When a user runs ",[46,2394,2395],{},"--help",", include a link to your skill directory or related tools. When an agent reads your skill file, it should learn about complementary tools.",[10,2398,2399],{},"This is how ecosystems form. One tool recommends another. Agents follow the recommendations.",[17,2401,2403],{"id":2402},"real-examples","Real examples",[22,2405,2407],{"id":2406},"humanizerai","HumanizerAI",[10,2409,2410,2414],{},[30,2411,2407],{"href":2412,"rel":2413},"https:\u002F\u002Fhumanizerai.com",[1737]," detects and rewrites AI-generated text to bypass detectors like GPTZero and Turnitin.",[39,2416,2418],{"className":41,"code":2417,"language":43,"meta":44,"style":44},"npm install -g humanizerai\nhumanizerai detect -t \"Your text here\"\nhumanizerai humanize -t \"Your text here\" -i aggressive\n",[46,2419,2420,2434,2446],{"__ignoreMap":44},[49,2421,2422,2425,2428,2431],{"class":51,"line":52},[49,2423,2424],{"class":55},"npm",[49,2426,2427],{"class":59}," install",[49,2429,2430],{"class":1872}," -g",[49,2432,2433],{"class":59}," humanizerai\n",[49,2435,2436,2438,2440,2443],{"class":51,"line":359},[49,2437,2406],{"class":55},[49,2439,2089],{"class":59},[49,2441,2442],{"class":1872}," -t",[49,2444,2445],{"class":59}," \"Your text here\"\n",[49,2447,2448,2450,2453,2455,2458,2460],{"class":51,"line":364},[49,2449,2406],{"class":55},[49,2451,2452],{"class":59}," humanize",[49,2454,2442],{"class":1872},[49,2456,2457],{"class":59}," \"Your text here\"",[49,2459,1936],{"class":1872},[49,2461,2462],{"class":59}," aggressive\n",[10,2464,2465,2466,2114],{},"Three commands. An agent can detect AI content, humanize it, and verify the result in a pipeline. The ",[30,2467,2468],{"href":330},"skill is on agentskill.sh",[22,2470,2471],{"id":1924},"Postiz",[10,2473,2474,2478],{},[30,2475,2471],{"href":2476,"rel":2477},"https:\u002F\u002Fpostiz.com",[1737]," schedules social media posts across 28+ platforms.",[39,2480,2482],{"className":41,"code":2481,"language":43,"meta":44,"style":44},"npm install -g postiz\npostiz integrations:list\npostiz posts:create -c \"Content\" -s \"2026-03-11T12:00:00Z\" -i \"twitter-id\"\n",[46,2483,2484,2495,2502],{"__ignoreMap":44},[49,2485,2486,2488,2490,2492],{"class":51,"line":52},[49,2487,2424],{"class":55},[49,2489,2427],{"class":59},[49,2491,2430],{"class":1872},[49,2493,2494],{"class":59}," postiz\n",[49,2496,2497,2499],{"class":51,"line":359},[49,2498,1924],{"class":55},[49,2500,2501],{"class":59}," integrations:list\n",[49,2503,2504,2506,2508,2510,2513,2515,2518,2520],{"class":51,"line":364},[49,2505,1924],{"class":55},[49,2507,1927],{"class":59},[49,2509,1930],{"class":1872},[49,2511,2512],{"class":59}," \"Content\"",[49,2514,1942],{"class":1872},[49,2516,2517],{"class":59}," \"2026-03-11T12:00:00Z\"",[49,2519,1936],{"class":1872},[49,2521,2522],{"class":59}," \"twitter-id\"\n",[10,2524,2525],{},"Their skill file is 700+ lines with 7 workflow patterns, platform-specific examples, and cross-promotion of related tools.",[17,2527,2529],{"id":2528},"the-churn-advantage","The churn advantage",[10,2531,2532],{},"There's a hidden benefit to agent distribution. Automation users churn less.",[10,2534,2535],{},"When a human uses your product, they might forget, get busy, or lose motivation. Usage drops. They cancel.",[10,2537,2538],{},"When an agent or automation uses your product, it runs consistently. Every day, every week, on schedule. The automation doesn't get discouraged. It doesn't forget.",[10,2540,2541],{},"Several SaaS founders report that users who connect through automation platforms or agent workflows have significantly lower churn than manual users. The product becomes infrastructure rather than a tool you remember to open.",[17,2543,2544],{"id":312},"Getting started",[609,2546,2547,2553,2559,2567],{},[585,2548,2549,2552],{},[822,2550,2551],{},"Build a CLI"," wrapping your existing API. Use yargs. Publish to npm.",[585,2554,2555,2558],{},[822,2556,2557],{},"Write a SKILL.md"," with workflows, patterns, and gotchas. Make it 300+ lines.",[585,2560,2561,2566],{},[822,2562,2563,2564],{},"Publish to ",[30,2565,1728],{"href":330}," so agents can discover your tool.",[585,2568,2569,2572],{},[822,2570,2571],{},"Cross-promote"," related tools in your CLI help and skill file.",[10,2574,2575],{},"Agents are already choosing tools. The question is whether they'll choose yours.",[355,2577,2578],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":44,"searchDepth":359,"depth":359,"links":2580},[2581,2582,2583,2584,2590,2594,2595],{"id":1834,"depth":359,"text":1835},{"id":1847,"depth":359,"text":1848},{"id":1954,"depth":359,"text":1955},{"id":2016,"depth":359,"text":2017,"children":2585},[2586,2587,2588,2589],{"id":2023,"depth":364,"text":2024},{"id":2053,"depth":364,"text":2054},{"id":2336,"depth":364,"text":2337},{"id":2388,"depth":364,"text":2389},{"id":2402,"depth":359,"text":2403,"children":2591},[2592,2593],{"id":2406,"depth":364,"text":2407},{"id":1924,"depth":364,"text":2471},{"id":2528,"depth":359,"text":2529},{"id":312,"depth":359,"text":2544},"2026-03-11","AI agents are the new customers. Learn how SaaS founders are growing revenue by building CLI tools and agent skills. A step-by-step playbook with real examples.",[2599,2602,2605,2608],{"question":2600,"answer":2601},"Why do AI agents prefer CLI tools over APIs?","CLI commands are shorter than full API requests with JSON payloads. This means fewer tokens consumed, less context rot, and easier iteration when something fails. An agent can write 'postiz posts:create -c text -i id' instead of constructing a multi-line curl request with headers, body, and authentication.",{"question":2603,"answer":2604},"How do I create a skill for my SaaS product?","Start by building a CLI wrapper around your existing API. Use a framework like yargs (Node.js) or click (Python). Then create a SKILL.md file that documents all commands, common workflows, and gotchas. Publish the CLI to npm and the skill to agentskill.sh.",{"question":2606,"answer":2607},"Do agent users have lower churn than regular users?","Yes. When users connect your product to an automation or agent workflow, usage becomes consistent and automatic. Manual users get discouraged and stop. Automated users keep running indefinitely. Several SaaS founders report significantly lower churn from automation-connected accounts.",{"question":2609,"answer":2610},"What is the difference between a CLI, an API, and a skill?","An API is the raw interface to your product (HTTP endpoints). A CLI is a command-line wrapper that simplifies API calls into short commands. A skill is a documentation file (SKILL.md) that teaches AI agents how to use your CLI effectively. You need all three: API for the foundation, CLI for token efficiency, skill for agent discoverability.",{},"\u002Fblog\u002Fhow-to-sell-to-ai-agents",{"title":1829,"description":2597},"blog\u002Fhow-to-sell-to-ai-agents",[2616,2617,2618,2619],"strategy","cli","saas","distribution","4bDPHjQxsGbADeEY29IOCEE0ZwGH_Z3N-INQ8zxnoHA"]