From 6e3347b1b5291e1f2d4f6acad2b42c6a6d3b9f0d Mon Sep 17 00:00:00 2001 From: masnwilliams <43387599+masnwilliams@users.noreply.github.com> Date: Wed, 1 Apr 2026 02:22:25 +0000 Subject: [PATCH] Add Cursor plugin support Add .cursor-plugin/plugin.json pointing to existing skills in plugins/kernel-cli/skills/ and plugins/kernel-sdks/skills/. Include MCP server config, best-practices rules, logo, and Cursor installation section in README. Co-Authored-By: Claude Opus 4.6 --- .cursor-plugin/plugin.json | 27 +++++++++++++++++++++++++++ README.md | 10 ++++++++++ assets/logo.png | Bin 0 -> 5263 bytes mcp.json | 7 +++++++ rules/kernel-best-practices.mdc | 14 ++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 .cursor-plugin/plugin.json create mode 100644 assets/logo.png create mode 100644 mcp.json create mode 100644 rules/kernel-best-practices.mdc diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json new file mode 100644 index 0000000..eea484f --- /dev/null +++ b/.cursor-plugin/plugin.json @@ -0,0 +1,27 @@ +{ + "name": "kernel", + "displayName": "Kernel", + "version": "1.0.0", + "description": "browser infrastructure for AI agents and web automations. cloud browsers in <30ms, anti-bot stealth mode, managed auth, playwright execution, and a serverless app platform — no local chrome needed.", + "author": { + "name": "Kernel", + "email": "support@onkernel.com" + }, + "homepage": "https://kernel.sh", + "repository": "https://github.com/kernel/skills", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "browse", "browser", "browser-automation", "web-scraping", "scrape", + "playwright", "cloud-browser", "mcp", "ai-agents", "screenshots", + "stealth", "headless", "typescript-sdk", "python-sdk", "authentication", + "managed-auth", "computer-use", "puppeteer", "cdp" + ], + "category": "developer-tools", + "tags": [ + "browse", "browser-automation", "cloud-browsers", + "web-scraping", "mcp", "developer-tools" + ], + "skills": ["./plugins/kernel-cli/skills/", "./plugins/kernel-sdks/skills/"], + "rules": "./rules/" +} diff --git a/README.md b/README.md index 6a7039c..d06e1ea 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,16 @@ Official AI agent skills from the Kernel for installing useful skills for our CL /plugin install kernel-sdks ``` +### Cursor + +Install from the Cursor Marketplace: + +1. Open Cursor Settings > Plugins +2. Search for "Kernel" +3. Install the plugin + +The Cursor plugin includes all skills, an MCP server for cloud browser management, and best-practice rules. + ### Any Agent ```bash npx skills add kernel/skills diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3785fbaed78ae86d8b2ca3156597ef45a152519 GIT binary patch literal 5263 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 literal 0 HcmV?d00001 diff --git a/mcp.json b/mcp.json new file mode 100644 index 0000000..f0d347b --- /dev/null +++ b/mcp.json @@ -0,0 +1,7 @@ +{ + "mcpServers": { + "kernel": { + "url": "https://mcp.onkernel.com/mcp" + } + } +} diff --git a/rules/kernel-best-practices.mdc b/rules/kernel-best-practices.mdc new file mode 100644 index 0000000..bbc91e4 --- /dev/null +++ b/rules/kernel-best-practices.mdc @@ -0,0 +1,14 @@ +--- +description: best practices for kernel cloud browser automation and web scraping +alwaysApply: false +--- + +- always delete browsers when done. use try/finally to guarantee cleanup. +- set `timeout_seconds` on every browser as a safety net. default is 60s — increase for longer tasks, max is 72h. +- use `stealth: true` when accessing any site with bot detection. stealth mode adds a recaptcha solver and residential proxy automatically. +- use browser profiles for sites requiring authentication. set `save_profile_changes: true` to persist session changes. +- prefer the playwright execution API (`execute_playwright_code`) for simple one-off scripts. use the SDK + CDP connection for complex multi-step automations. +- use `headless: true` for faster execution when you don't need to watch the browser via live view. +- proxy quality for anti-detection, best to worst: mobile > residential > ISP > datacenter. +- no charges for idle time — only for active browser usage. +- never hardcode credentials in automation code. use kernel's managed auth or browser profiles instead.