From 2f6c7b071863e2408769edec3053ba6e57a87d4c Mon Sep 17 00:00:00 2001 From: Evan Purkhiser Date: Thu, 9 Jul 2026 16:36:43 -0400 Subject: [PATCH] feat: Replace Agent Skills docs with Agent Plugin Sentry's AI skills now ship as a single plugin installed with `npx @sentry/ai install`, so the docs and the setup widget should point at the plugin rather than at individual skills. - Rewrite the /ai/agent-skills page as /ai/agent-plugin around the plugin installer, and redirect the old URL - Point the setup callout's copy prompt at the single https://skills.sentry.dev/instrument entrypoint, name the SDK in prose, and install the full plugin via `npx @sentry/ai install` - Rename the agentSkillsCallout component to agentSetupCallout - Align the llms.txt discovery index with the plugin model --- docs/ai/agent-plugin/index.mdx | 80 +++++++++ docs/ai/agent-skills/index.mdx | 161 ------------------ docs/ai/dotagents.mdx | 2 +- docs/ai/index.mdx | 10 +- .../forwarding/pipelines/sentry-exporter.mdx | 2 +- docs/platforms/android/index.mdx | 2 +- docs/platforms/dart/common/index.mdx | 2 +- docs/platforms/dart/guides/flutter/index.mdx | 2 +- docs/platforms/dotnet/common/index.mdx | 2 +- docs/platforms/dotnet/common/logs/index.mdx | 2 +- .../platforms/dotnet/common/metrics/index.mdx | 2 +- .../platforms/dotnet/common/tracing/index.mdx | 2 +- docs/platforms/elixir/index.mdx | 2 +- docs/platforms/go/common/index.mdx | 2 +- .../common/ai-agent-monitoring/index.mdx | 2 +- .../javascript/guides/cloudflare/index.mdx | 2 +- .../javascript/guides/nestjs/index.mdx | 2 +- .../javascript/guides/nextjs/logs/index.mdx | 2 +- .../guides/nextjs/tracing/index.mdx | 2 +- .../javascript/guides/react-router/index.mdx | 2 +- .../javascript/guides/svelte/index.mdx | 2 +- .../javascript/guides/sveltekit/index.mdx | 2 +- docs/platforms/php/index.mdx | 2 +- docs/platforms/python/index.mdx | 2 +- .../integrations/openai-agents/index.mdx | 2 +- docs/platforms/python/logs/index.mdx | 2 +- docs/platforms/python/metrics/index.mdx | 2 +- docs/platforms/python/tracing/index.mdx | 2 +- .../ai-agents-module.mdx | 2 +- docs/platforms/react-native/common/index.mdx | 2 +- .../react-native/guides/expo/index.mdx | 2 +- docs/platforms/ruby/common/index.mdx | 2 +- docs/platforms/ruby/common/metrics/index.mdx | 2 +- docs/platforms/ruby/common/tracing/index.mdx | 2 +- docs/platforms/ruby/logs/index.mdx | 2 +- includes/apple-platform-getting-started.mdx | 2 +- platform-includes/llm-rules-logs/_default.mdx | 2 +- .../llm-rules-logs/javascript.node.mdx | 2 +- .../llm-rules-logs/javascript.react.mdx | 2 +- .../llm-rules-platform/_default.mdx | 2 +- .../llm-rules-platform/javascript.mdx | 2 +- .../llm-rules-platform/javascript.nextjs.mdx | 2 +- .../llm-rules-platform/javascript.node.mdx | 2 +- .../llm-rules-platform/javascript.react.mdx | 2 +- .../javascript.tanstackstart-react.mdx | 2 +- redirects.js | 4 + scripts/generate-llms-txt.mjs | 24 +-- .../index.tsx | 34 ++-- src/components/agentSetupCallout/shared.ts | 14 ++ .../style.module.scss | 0 src/components/agentSkillsCallout/shared.ts | 33 ---- src/components/copyPromptButton/index.tsx | 10 +- src/components/home.tsx | 6 +- src/components/linkWithPlatformIcon.tsx | 2 +- src/mdxComponents.ts | 4 +- src/metrics.ts | 2 +- 56 files changed, 183 insertions(+), 285 deletions(-) create mode 100644 docs/ai/agent-plugin/index.mdx delete mode 100644 docs/ai/agent-skills/index.mdx rename src/components/{agentSkillsCallout => agentSetupCallout}/index.tsx (76%) create mode 100644 src/components/agentSetupCallout/shared.ts rename src/components/{agentSkillsCallout => agentSetupCallout}/style.module.scss (100%) delete mode 100644 src/components/agentSkillsCallout/shared.ts diff --git a/docs/ai/agent-plugin/index.mdx b/docs/ai/agent-plugin/index.mdx new file mode 100644 index 00000000000000..676998116c4364 --- /dev/null +++ b/docs/ai/agent-plugin/index.mdx @@ -0,0 +1,80 @@ +--- +title: Agent Plugin +sidebar_order: 10 +description: "Install the Sentry plugin for your AI coding assistant so it can set up Sentry, find and fix production issues, and configure monitoring, all from a prompt." +keywords: + - agent plugin + - Claude Code + - Cursor + - Codex + - Grok + - AI coding assistant + - vibe coding + - AI setup +--- + +Whether you're adding Sentry to a new project, debugging a spike in errors, or wiring up alerts, just ask. The plugin gives your assistant the context it needs to do it right. + + + +Supports **Claude Code**, **Cursor**, **Codex**, and **Grok**. + + + +## Install + +Run this in your terminal: + +```bash +npx @sentry/ai install +``` + +The installer detects which assistants you have on your machine, lets you pick the ones you want, and wires the plugin into each. Already have it? The same command updates you to the latest version. + +Restart your AI tools afterward so they load the plugin. + +The plugin configures the [Sentry MCP server](https://mcp.sentry.dev) for you during install, so there's nothing else to connect. A few workflow tasks also need the [GitHub CLI](https://cli.github.com/) (`gh`) for reading and replying to PR comments. + +## What You Can Do + +**Set up Sentry in any project.** The plugin detects your stack, recommends the right features, and walks through the whole installation, so you're not copy-pasting from docs. + +```text {tabTitle:Prompt} +> Add Sentry to my Next.js app +> Set up Sentry in my Rails project +> Add error monitoring to my iOS app +``` + +**Find and fix production issues.** Query your Sentry environment, triage errors, and fix them in place. + +```text {tabTitle:Prompt} +> What are the top errors in the last 24 hours? +> Which issues are affecting the most users? +> Fix the recent Sentry errors +``` + +**Review code with Sentry context.** Resolve the bugs that Sentry and Seer flag in your pull request comments. + +```text {tabTitle:Prompt} +> Review PR #123 and fix the Sentry comments +``` + +**Configure monitoring.** Set up alerts, instrument your AI and LLM calls, and connect OpenTelemetry pipelines. + +```text {tabTitle:Prompt} +> Create a Slack alert for new high-priority issues +> Monitor my OpenAI calls with Sentry +> Set up an OTel Collector with the Sentry exporter +``` + +## Remove the Plugin + +```bash +npx @sentry/ai remove +``` + +This only offers the assistants that currently have the plugin and removes just the Sentry plugin, leaving each tool's marketplace registered. Restart your AI tools afterward to drop it. + +## Contributing + +The plugin is built from the [sentry-for-ai](https://github.com/getsentry/sentry-for-ai) repository, the source of truth for every skill and command. To add a skill or fix an existing one, open a pull request there. Skills follow the [Agent Skills specification](https://agentskills.io/specification): each is a directory with a `SKILL.md` file that holds YAML frontmatter and markdown instructions. diff --git a/docs/ai/agent-skills/index.mdx b/docs/ai/agent-skills/index.mdx deleted file mode 100644 index 41d1684791ca26..00000000000000 --- a/docs/ai/agent-skills/index.mdx +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Agent Skills -sidebar_order: 10 -description: "Teach your AI coding assistant how to set up and configure Sentry in your projects, and how to use Sentry's AI agents to debug and fix issues, even in your PRs." -keywords: - - agent skills - - Claude Code - - Cursor - - GitHub Copilot - - OpenAI Codex - - AI coding assistant - - vibe coding - - AI setup - - Windsurf - - AmpCode - - OpenCode ---- - -Agent skills are instruction sets that teach AI coding assistants how to perform specific tasks. Sentry's official agent skills give your AI assistant the knowledge to set up and configure Sentry in your projects with no manual configuration required. Use [workflow skills](https://skills.sh/getsentry/sentry-for-ai/sentry-workflow) to debug and fix issues in your projects. - - - -## Available Skills - -There are two types of official Sentry agent skills: - -- **Setup skills** - Set up Sentry in your projects with no manual configuration required. -- **Workflow skills** - Debug and fix issues in your projects. - -Check out the latest and full list of skills [here](https://skills.sh/getsentry/sentry-for-ai). - -## Install - -Run this in your project (or from any directory for user-level install) to add Sentry agent skills. Omit `--skill` to add all skills from the repo. - -```bash {tabTitle: npx skills} -npx skills add getsentry/sentry-for-ai --skill sentry-fix-issues -``` - -```bash {tabTitle: dotagents} -npx @sentry/dotagents add getsentry/sentry-for-ai --name sentry-fix-issues -``` - -To add all Sentry skills: - -```bash {tabTitle: npx skills} -npx skills add getsentry/sentry-for-ai -``` - -```bash {tabTitle: dotagents} -npx @sentry/dotagents add getsentry/sentry-for-ai -``` - -Alternatively, use [dotagents](/ai/dotagents/) to manage skills declaratively with locked versions. Initialize your project, add Sentry skills, then install: - -```bash -# Initialize dotagents in your project (creates agents.toml) -npx @sentry/dotagents init - -# Add a specific Sentry skill -npx @sentry/dotagents add getsentry/sentry-for-ai --name sentry-fix-issues - -# Or add all Sentry skills -npx @sentry/dotagents add getsentry/sentry-for-ai - -# Install all declared skills -npx @sentry/dotagents install -``` - -This creates an `agents.toml` that pins skill versions and can be committed to your repo, so every team member gets the same skills automatically. - -## Quick Reference - -Paths where each client looks for skills: **user-level** (all your projects) and **project-level** (current repository only). - -| Client | User-Level Path | Project-Level Path | -| --------------- | --------------------------- | ------------------ | -| **Claude Code** | `~/.claude/skills/` | `.claude/skills/` | -| **Codex** | `~/.codex/skills/` | `.codex/skills/` | -| **Copilot** | `~/.copilot/skills/` | `.github/skills/` | -| **Cursor** | `~/.cursor/skills/` | `.cursor/skills/` | -| **OpenCode** | `~/.config/opencode/skill/` | `.opencode/skill/` | -| **AmpCode** | `~/.config/agents/skills/` | `.agents/skills/` | - -## Usage - -Once installed, your AI assistant will automatically discover the skills. Simply ask it to perform Sentry-related tasks: - -### Setup - -| What to Say | Skill Used | -| ------------------------------------------ | ---------------------------- | -| "Add Sentry to my React app" | `sentry-react-sdk` | -| "Set up Sentry in React Native" | `sentry-react-native-sdk` | -| "Add Sentry to my Python/Django/Flask app" | `sentry-python-sdk` | -| "Set up Sentry in my Ruby/Rails app" | `sentry-ruby-sdk` | -| "Add Sentry to my iOS app" | `sentry-cocoa-sdk` | -| "Add Sentry to my Next.js app" | `sentry-nextjs-sdk` | -| "Add Sentry to my .NET app" | `sentry-dotnet-sdk` | -| "Add Sentry to my Go app" | `sentry-go-sdk` | -| "Add Sentry to my Svelte app" | `sentry-svelte-sdk` | -| "Monitor my OpenAI/LangChain calls" | `sentry-setup-ai-monitoring` | -| "Set up OpenTelemetry exporter" | `sentry-otel-exporter-setup` | - -### Debugging & Workflow - -| What to Say | Skill Used | -| -------------------------------------------------------------------- | ----------------------- | -| "Fix the recent Sentry errors" | `sentry-fix-issues` | -| "Debug the production TypeError" | `sentry-fix-issues` | -| "Work through my Sentry backlog" | `sentry-fix-issues` | -| "Review Sentry comments on PR #123" | `sentry-pr-code-review` | -| "Fix the issues Sentry found in my PR" | `sentry-pr-code-review` | -| "Review Sentry bot comments on my PR" | `sentry-code-review` | -| "Create an alert that emails me when a high priority issue resolves" | `sentry-create-alert` | -| "Set up a Slack notification for new Sentry issues" | `sentry-create-alert` | - -The assistant will load the appropriate skill and guide you through the process. - -## Contributing - -Want to contribute a new skill? Skills follow the [Agent Skills specification](https://agentskills.io/specification). Here's what one looks like: - -Each skill is a folder with a `SKILL.md` file. The file has YAML frontmatter (`name`, `description`) and markdown instructions the AI assistant will use. - -```text -skill-name/ - SKILL.md # Required: YAML frontmatter + markdown instructions -``` - -```markdown ---- -name: skill-name -description: Description of what this skill does and when to use it ---- - -# Skill Title - -Instructions for the AI assistant... -``` - -**Requirements:** - -1. Follow the [Agent Skills specification](https://agentskills.io/specification) -2. Have a valid `name` (lowercase, hyphens, 1-64 characters) -3. Include a clear `description` (1-1024 characters) -4. **Keep skills concise** — use tables over prose, avoid obvious information -5. Include an "Invoke This Skill When" section with trigger phrases -6. Verify technical details against Sentry docs - -### Style Guidelines - -- Prefer tables over paragraphs for reference information -- Use phases/steps for multi-stage workflows -- Include version requirements where applicable -- Add troubleshooting tables for common issues -- Target ~100-200 lines per skill to minimize token usage - -Submit contributions to the [sentry-for-ai repository](https://github.com/getsentry/sentry-for-ai). - - diff --git a/docs/ai/dotagents.mdx b/docs/ai/dotagents.mdx index 8e94a4601335e9..6fd79477cac0c5 100644 --- a/docs/ai/dotagents.mdx +++ b/docs/ai/dotagents.mdx @@ -188,5 +188,5 @@ To gitignore managed skills instead (collaborators must run `install`), set `git ## Learn More - [dotagents on GitHub](https://github.com/getsentry/dotagents) -- [Agent Skills](/ai/agent-skills/) +- [Agent Plugin](/ai/agent-plugin/) - [Sentry MCP Server](https://mcp.sentry.dev) diff --git a/docs/ai/index.mdx b/docs/ai/index.mdx index bc07ff58716221..ae54a06c2191b9 100644 --- a/docs/ai/index.mdx +++ b/docs/ai/index.mdx @@ -1,7 +1,7 @@ --- title: Sentry for AI sidebar_order: 1 -description: "Connect Sentry to your AI coding assistants and workflows. Install agent skills, use the MCP server, or add monitoring to your AI applications." +description: "Connect Sentry to your AI coding assistants and workflows. Install the agent plugin, use the MCP server, or add monitoring to your AI applications." keywords: - AI - artificial intelligence @@ -9,7 +9,7 @@ keywords: - machine learning - MCP - Model Context Protocol - - agent skills + - agent plugin - AI monitoring - vibe coding - Claude @@ -24,10 +24,10 @@ keywords: - + The Sentry Exporter routes telemetry from multiple services to different Sentry projects through a single collector instance. Without it, you'd need to configure separate DSNs for each project or set up additional routing connectors. diff --git a/docs/platforms/android/index.mdx b/docs/platforms/android/index.mdx index e747818a6bb42b..d49f65b5e2e1e8 100644 --- a/docs/platforms/android/index.mdx +++ b/docs/platforms/android/index.mdx @@ -12,7 +12,7 @@ keywords: - ndk --- - + On this page, we get you up and running with Sentry's Android SDK, automatically reporting errors and exceptions in your application. diff --git a/docs/platforms/dart/common/index.mdx b/docs/platforms/dart/common/index.mdx index d1f8a13ac8bc41..2696984f35f615 100644 --- a/docs/platforms/dart/common/index.mdx +++ b/docs/platforms/dart/common/index.mdx @@ -9,7 +9,7 @@ categories: - server --- - + On this page, we get you up and running with Sentry's Dart SDK. diff --git a/docs/platforms/dart/guides/flutter/index.mdx b/docs/platforms/dart/guides/flutter/index.mdx index 4cd1e55ca1eeda..5dd2b039849076 100644 --- a/docs/platforms/dart/guides/flutter/index.mdx +++ b/docs/platforms/dart/guides/flutter/index.mdx @@ -11,7 +11,7 @@ categories: - desktop --- - + On this page, we get you up and running with Sentry's Flutter SDK. diff --git a/docs/platforms/dotnet/common/index.mdx b/docs/platforms/dotnet/common/index.mdx index 37ae27b5c49a78..f18047fc7628c1 100644 --- a/docs/platforms/dotnet/common/index.mdx +++ b/docs/platforms/dotnet/common/index.mdx @@ -1,4 +1,4 @@ - + diff --git a/docs/platforms/dotnet/common/logs/index.mdx b/docs/platforms/dotnet/common/logs/index.mdx index dbf31aeb0cdf80..6482e81370dc9d 100644 --- a/docs/platforms/dotnet/common/logs/index.mdx +++ b/docs/platforms/dotnet/common/logs/index.mdx @@ -11,7 +11,7 @@ notSupported: - dotnet.xamarin --- - + With Sentry Structured Logs, you can send text-based log information from your applications to Sentry. Once in Sentry, these logs can be viewed alongside relevant errors, searched by text-string, or searched using their individual attributes. diff --git a/docs/platforms/dotnet/common/metrics/index.mdx b/docs/platforms/dotnet/common/metrics/index.mdx index 9cc88de027f68a..14f85cd784d068 100644 --- a/docs/platforms/dotnet/common/metrics/index.mdx +++ b/docs/platforms/dotnet/common/metrics/index.mdx @@ -7,7 +7,7 @@ sidebar_section: features new: true --- - + Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. diff --git a/docs/platforms/dotnet/common/tracing/index.mdx b/docs/platforms/dotnet/common/tracing/index.mdx index 1be1831cd11f8b..da1861c6226451 100644 --- a/docs/platforms/dotnet/common/tracing/index.mdx +++ b/docs/platforms/dotnet/common/tracing/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 4 sidebar_section: features --- - + With [tracing](/product/dashboards/sentry-dashboards/), Sentry tracks your software performance, measuring metrics like throughput and latency, and displaying the impact of errors across multiple systems. Sentry captures distributed traces consisting of transactions and spans, which measure individual services and individual operations within those services. Learn more about our model in [Distributed Tracing](/concepts/key-terms/tracing/distributed-tracing/). diff --git a/docs/platforms/elixir/index.mdx b/docs/platforms/elixir/index.mdx index ef748de4e2d409..40492192a99d8b 100644 --- a/docs/platforms/elixir/index.mdx +++ b/docs/platforms/elixir/index.mdx @@ -9,7 +9,7 @@ categories: - server --- - + On this page, we get you up and running with Sentry's SDK. diff --git a/docs/platforms/go/common/index.mdx b/docs/platforms/go/common/index.mdx index a9f4c626e3e04d..c85a524bb81293 100644 --- a/docs/platforms/go/common/index.mdx +++ b/docs/platforms/go/common/index.mdx @@ -1,4 +1,4 @@ - + On this page, we get you up and running with Sentry's SDK. If you are using our previous Go SDK, you can access the legacy SDK documentation, until further notice. diff --git a/docs/platforms/javascript/common/ai-agent-monitoring/index.mdx b/docs/platforms/javascript/common/ai-agent-monitoring/index.mdx index 2946f81cbdf324..5fc65d54d1b746 100644 --- a/docs/platforms/javascript/common/ai-agent-monitoring/index.mdx +++ b/docs/platforms/javascript/common/ai-agent-monitoring/index.mdx @@ -32,7 +32,7 @@ supported: With Sentry AI Agent Monitoring, you can monitor and debug your AI systems with full-stack context. You'll be able to track key insights like token usage, latency, tool usage, and error rates. AI Agent Monitoring data will be fully connected to your other Sentry data like logs, errors, and traces. - + ## Prerequisites diff --git a/docs/platforms/javascript/guides/cloudflare/index.mdx b/docs/platforms/javascript/guides/cloudflare/index.mdx index a3d2c93867eca4..acd474a6197db8 100644 --- a/docs/platforms/javascript/guides/cloudflare/index.mdx +++ b/docs/platforms/javascript/guides/cloudflare/index.mdx @@ -9,7 +9,7 @@ categories: - serverless --- - + Use this guide for general instructions on using the Sentry SDK with Cloudflare. If you're using any of the listed frameworks, follow their specific setup instructions: diff --git a/docs/platforms/javascript/guides/nestjs/index.mdx b/docs/platforms/javascript/guides/nestjs/index.mdx index 513f54c757d039..488eec35479e87 100644 --- a/docs/platforms/javascript/guides/nestjs/index.mdx +++ b/docs/platforms/javascript/guides/nestjs/index.mdx @@ -9,7 +9,7 @@ categories: - server-node --- - + diff --git a/docs/platforms/javascript/guides/nextjs/logs/index.mdx b/docs/platforms/javascript/guides/nextjs/logs/index.mdx index a3fa772bb9112f..f42c04a34a39c4 100644 --- a/docs/platforms/javascript/guides/nextjs/logs/index.mdx +++ b/docs/platforms/javascript/guides/nextjs/logs/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 4 sidebar_section: features --- - + Sentry Logs let you send structured log data from your Next.js application. Unlike traditional string-based logging, structured logs include queryable attributes that help you debug issues faster by filtering on specific users, orders, or any business context you include. diff --git a/docs/platforms/javascript/guides/nextjs/tracing/index.mdx b/docs/platforms/javascript/guides/nextjs/tracing/index.mdx index 796215ac63554c..802c9ced62d901 100644 --- a/docs/platforms/javascript/guides/nextjs/tracing/index.mdx +++ b/docs/platforms/javascript/guides/nextjs/tracing/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 5 sidebar_section: features --- - + Tracing captures the timing and flow of requests through your Next.js application. Learn more about [tracing](/concepts/key-terms/tracing/) and how Sentry uses traces to track performance across services. diff --git a/docs/platforms/javascript/guides/react-router/index.mdx b/docs/platforms/javascript/guides/react-router/index.mdx index d72089e0fead48..a98ff66a21f540 100644 --- a/docs/platforms/javascript/guides/react-router/index.mdx +++ b/docs/platforms/javascript/guides/react-router/index.mdx @@ -9,7 +9,7 @@ categories: - server-node --- - diff --git a/docs/platforms/javascript/guides/svelte/index.mdx b/docs/platforms/javascript/guides/svelte/index.mdx index 2109304f7c58e4..cee4ca62579bbc 100644 --- a/docs/platforms/javascript/guides/svelte/index.mdx +++ b/docs/platforms/javascript/guides/svelte/index.mdx @@ -7,7 +7,7 @@ categories: - browser --- - + diff --git a/docs/platforms/javascript/guides/sveltekit/index.mdx b/docs/platforms/javascript/guides/sveltekit/index.mdx index c8e3acc4390fa3..b73b4c33291bd8 100644 --- a/docs/platforms/javascript/guides/sveltekit/index.mdx +++ b/docs/platforms/javascript/guides/sveltekit/index.mdx @@ -9,7 +9,7 @@ categories: - server-node --- - + diff --git a/docs/platforms/php/index.mdx b/docs/platforms/php/index.mdx index 0f3b26e707255d..282e37b8841f49 100644 --- a/docs/platforms/php/index.mdx +++ b/docs/platforms/php/index.mdx @@ -9,7 +9,7 @@ categories: og_image: /og-images/platforms-php.png --- - + ## Prerequisites diff --git a/docs/platforms/python/index.mdx b/docs/platforms/python/index.mdx index 97614962e8661a..c2203dd21b56db 100644 --- a/docs/platforms/python/index.mdx +++ b/docs/platforms/python/index.mdx @@ -10,7 +10,7 @@ categories: - serverless --- - + diff --git a/docs/platforms/python/integrations/openai-agents/index.mdx b/docs/platforms/python/integrations/openai-agents/index.mdx index 62e8eecb029c9d..48005a0de05eaf 100644 --- a/docs/platforms/python/integrations/openai-agents/index.mdx +++ b/docs/platforms/python/integrations/openai-agents/index.mdx @@ -12,7 +12,7 @@ The support for **OpenAI Agents SDK** is in its beta phase. Please test locally This integration connects Sentry with the [OpenAI Python SDK](https://openai.github.io/openai-agents-python/). The integration has been confirmed to work with OpenAI Agents version 0.0.19. - + Once you've installed this SDK, you can use the [AI Agents Dashboards](https://sentry.io/orgredirect/organizations/:orgslug/dashboards/?filter=onlyPrebuilt&query=agents&sort=mostPopular) to understand what's going on with your AI agents. diff --git a/docs/platforms/python/logs/index.mdx b/docs/platforms/python/logs/index.mdx index 116753d202e534..95c55b400de1cd 100644 --- a/docs/platforms/python/logs/index.mdx +++ b/docs/platforms/python/logs/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 4 sidebar_section: features --- - + With Sentry Structured Logs, you can send text-based log information from your applications to Sentry. Once in Sentry, these logs can be viewed alongside relevant errors, searched by text-string, or searched using their individual attributes. diff --git a/docs/platforms/python/metrics/index.mdx b/docs/platforms/python/metrics/index.mdx index b8bb2a83fb2d16..80808d8cd82cc8 100644 --- a/docs/platforms/python/metrics/index.mdx +++ b/docs/platforms/python/metrics/index.mdx @@ -7,7 +7,7 @@ sidebar_section: features new: true --- - + Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. diff --git a/docs/platforms/python/tracing/index.mdx b/docs/platforms/python/tracing/index.mdx index 4c2ad8a7788e35..303f0270e66582 100644 --- a/docs/platforms/python/tracing/index.mdx +++ b/docs/platforms/python/tracing/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 6 sidebar_section: features --- - + ## Prerequisites diff --git a/docs/platforms/python/tracing/instrumentation/custom-instrumentation/ai-agents-module.mdx b/docs/platforms/python/tracing/instrumentation/custom-instrumentation/ai-agents-module.mdx index 1dddfd27a49b4b..c5528fefe9daff 100644 --- a/docs/platforms/python/tracing/instrumentation/custom-instrumentation/ai-agents-module.mdx +++ b/docs/platforms/python/tracing/instrumentation/custom-instrumentation/ai-agents-module.mdx @@ -6,7 +6,7 @@ description: "Learn how to manually instrument your code to use Sentry's Agents With Sentry AI Agent Monitoring, you can monitor and debug your AI systems with full-stack context. You'll be able to track key insights like token usage, latency, tool usage, and error rates. AI Agent Monitoring data will be fully connected to your other Sentry data like logs, errors, and traces. - + As a prerequisite to setting up AI Agent Monitoring with Python, you'll need to first set up tracing. Once this is done, the Python SDK will automatically instrument AI agents created with supported libraries. If that doesn't fit your use case, you can use custom instrumentation described below. diff --git a/docs/platforms/react-native/common/index.mdx b/docs/platforms/react-native/common/index.mdx index 10bfcaf88e487f..382bcc1f18cae9 100644 --- a/docs/platforms/react-native/common/index.mdx +++ b/docs/platforms/react-native/common/index.mdx @@ -9,7 +9,7 @@ categories: - mobile --- - + Read on to find out how to set up Sentry's React Native SDK which will automatically report errors and exceptions in your application. If you prefer to follow video instructions, see [How to Install the Sentry React Native SDK in 60 Seconds](https://vimeo.com/899369012). diff --git a/docs/platforms/react-native/guides/expo/index.mdx b/docs/platforms/react-native/guides/expo/index.mdx index 6142a6f0656aa2..38ad51e19c6e9f 100644 --- a/docs/platforms/react-native/guides/expo/index.mdx +++ b/docs/platforms/react-native/guides/expo/index.mdx @@ -9,7 +9,7 @@ categories: - mobile --- - + Use this guide to get fully set up with Sentry's React Native SDK in an [Expo](https://expo.dev/) project. The same `@sentry/react-native` SDK powers both bare React Native and Expo apps. This guide covers the Expo-specific setup (config plugin, Metro, EAS) and integrations. diff --git a/docs/platforms/ruby/common/index.mdx b/docs/platforms/ruby/common/index.mdx index 9494ba95ce22e5..43468c64c1cfed 100644 --- a/docs/platforms/ruby/common/index.mdx +++ b/docs/platforms/ruby/common/index.mdx @@ -1,4 +1,4 @@ - + diff --git a/docs/platforms/ruby/common/metrics/index.mdx b/docs/platforms/ruby/common/metrics/index.mdx index 581f93e29a9ea1..1b2cea5edccc37 100644 --- a/docs/platforms/ruby/common/metrics/index.mdx +++ b/docs/platforms/ruby/common/metrics/index.mdx @@ -7,7 +7,7 @@ sidebar_section: features new: true --- - + Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. diff --git a/docs/platforms/ruby/common/tracing/index.mdx b/docs/platforms/ruby/common/tracing/index.mdx index ede165e6ed6323..4b8c7a913763be 100644 --- a/docs/platforms/ruby/common/tracing/index.mdx +++ b/docs/platforms/ruby/common/tracing/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 6 sidebar_section: features --- - + With [tracing](/product/dashboards/sentry-dashboards/), Sentry tracks your software performance, measuring metrics like throughput and latency, and displaying the impact of errors across multiple systems. Sentry captures distributed traces consisting of transactions and spans, which measure individual services and individual operations within those services. Learn more about our model in [Distributed Tracing](/concepts/key-terms/tracing/distributed-tracing/). diff --git a/docs/platforms/ruby/logs/index.mdx b/docs/platforms/ruby/logs/index.mdx index 053e9532af070a..d9eb0f8c055c79 100644 --- a/docs/platforms/ruby/logs/index.mdx +++ b/docs/platforms/ruby/logs/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 4 sidebar_section: features --- - + With Sentry Structured Logs, you can send text-based log information from your applications to Sentry. Once in Sentry, these logs can be viewed alongside relevant errors, searched by text-string, or searched using their individual attributes. diff --git a/includes/apple-platform-getting-started.mdx b/includes/apple-platform-getting-started.mdx index f409f96856fbe1..a93c778bee1c95 100644 --- a/includes/apple-platform-getting-started.mdx +++ b/includes/apple-platform-getting-started.mdx @@ -1,4 +1,4 @@ - + On this page, we get you up and running with Sentry's Apple SDK, which will automatically report errors and exceptions in your application. diff --git a/platform-includes/llm-rules-logs/_default.mdx b/platform-includes/llm-rules-logs/_default.mdx index 37015769991901..13d7d42c746864 100644 --- a/platform-includes/llm-rules-logs/_default.mdx +++ b/platform-includes/llm-rules-logs/_default.mdx @@ -1 +1 @@ - + diff --git a/platform-includes/llm-rules-logs/javascript.node.mdx b/platform-includes/llm-rules-logs/javascript.node.mdx index 50d8ba3805763f..1d3486f03ced5e 100644 --- a/platform-includes/llm-rules-logs/javascript.node.mdx +++ b/platform-includes/llm-rules-logs/javascript.node.mdx @@ -1 +1 @@ - + diff --git a/platform-includes/llm-rules-logs/javascript.react.mdx b/platform-includes/llm-rules-logs/javascript.react.mdx index 9853aeb0062bba..f43fac94f8faca 100644 --- a/platform-includes/llm-rules-logs/javascript.react.mdx +++ b/platform-includes/llm-rules-logs/javascript.react.mdx @@ -1 +1 @@ - + diff --git a/platform-includes/llm-rules-platform/_default.mdx b/platform-includes/llm-rules-platform/_default.mdx index 37015769991901..13d7d42c746864 100644 --- a/platform-includes/llm-rules-platform/_default.mdx +++ b/platform-includes/llm-rules-platform/_default.mdx @@ -1 +1 @@ - + diff --git a/platform-includes/llm-rules-platform/javascript.mdx b/platform-includes/llm-rules-platform/javascript.mdx index 1e3115bcd463c8..83124f9c80552c 100644 --- a/platform-includes/llm-rules-platform/javascript.mdx +++ b/platform-includes/llm-rules-platform/javascript.mdx @@ -1,4 +1,4 @@ - diff --git a/platform-includes/llm-rules-platform/javascript.nextjs.mdx b/platform-includes/llm-rules-platform/javascript.nextjs.mdx index 04d815b772c6a7..cc01918651d8ab 100644 --- a/platform-includes/llm-rules-platform/javascript.nextjs.mdx +++ b/platform-includes/llm-rules-platform/javascript.nextjs.mdx @@ -1 +1 @@ - + diff --git a/platform-includes/llm-rules-platform/javascript.node.mdx b/platform-includes/llm-rules-platform/javascript.node.mdx index 50d8ba3805763f..1d3486f03ced5e 100644 --- a/platform-includes/llm-rules-platform/javascript.node.mdx +++ b/platform-includes/llm-rules-platform/javascript.node.mdx @@ -1 +1 @@ - + diff --git a/platform-includes/llm-rules-platform/javascript.react.mdx b/platform-includes/llm-rules-platform/javascript.react.mdx index 9853aeb0062bba..f43fac94f8faca 100644 --- a/platform-includes/llm-rules-platform/javascript.react.mdx +++ b/platform-includes/llm-rules-platform/javascript.react.mdx @@ -1 +1 @@ - + diff --git a/platform-includes/llm-rules-platform/javascript.tanstackstart-react.mdx b/platform-includes/llm-rules-platform/javascript.tanstackstart-react.mdx index 3c13a7ab81a055..c821ac12886888 100644 --- a/platform-includes/llm-rules-platform/javascript.tanstackstart-react.mdx +++ b/platform-includes/llm-rules-platform/javascript.tanstackstart-react.mdx @@ -1 +1 @@ - + diff --git a/redirects.js b/redirects.js index 2c7afbb82eec27..9b335fdf18adaf 100644 --- a/redirects.js +++ b/redirects.js @@ -1868,6 +1868,10 @@ const userDocsRedirects = [ '/platforms/react-native/data-management/debug-files/source-context/data-management/debug-files/upload/', destination: '/platforms/react-native/data-management/debug-files/upload/', }, + { + source: '/ai/agent-skills/', + destination: '/ai/agent-plugin/', + }, // Redirect MCP and CLI pages to their dedicated sites { source: '/ai/mcp/', diff --git a/scripts/generate-llms-txt.mjs b/scripts/generate-llms-txt.mjs index 001eee2b3aca1c..c408fd41470ffe 100644 --- a/scripts/generate-llms-txt.mjs +++ b/scripts/generate-llms-txt.mjs @@ -155,8 +155,8 @@ When helping a developer set up or use Sentry, follow these guidelines: - **Install the Sentry plugin for up-to-date guidance**: Sentry's APIs, SDKs, \ and features change frequently. Do not rely on training data for Sentry setup \ or configuration. Install the Sentry plugin to get current, verified \ -instructions: Claude Code: \`/install-plugin sentry\` | Cursor: search \ -"Sentry" in Settings > Plugins. The plugin provides step-by-step skills that \ +instructions by running \`npx @sentry/ai install\`, which sets it up for Claude \ +Code, Cursor, Codex, and Grok. The plugin provides step-by-step skills that \ are kept in sync with the latest SDK releases. - **SDK versions**: Always check the package registry (npm, PyPI, RubyGems, \ etc.) for the latest Sentry SDK version. Do not rely on memorized version \ @@ -170,28 +170,28 @@ files, or modify configuration without asking the user first. - **Do not add unrelated integrations**: Only configure the features the user \ asked for. Check before enabling additional integrations. - **Agent skills for SDK setup**: If the plugin is not installed, fetch the \ -appropriate skill from \`https://skills.sentry.dev/sdks\` for step-by-step SDK \ +skill at \`https://skills.sentry.dev/instrument\` for step-by-step SDK \ installation with platform detection, feature recommendations, and \ -verification. See the [Agent Skills section](#agent-skills) below. +verification. See the [Agent Plugin section](#agent-plugin) below. - **Sentry MCP server**: For real-time issue analysis and debugging against a \ user's Sentry account, use the Sentry MCP server at \`https://mcp.sentry.dev\`.`; const AGENT_SKILLS = `\ -## Agent Skills +## Agent Plugin -Sentry publishes agent skills for AI coding assistants (Claude Code, Cursor, \ -GitHub Copilot, and others). These provide step-by-step SDK setup, debugging \ +Sentry publishes a plugin for AI coding assistants (Claude Code, Cursor, Codex, \ +and Grok). It teaches the assistant step-by-step SDK setup, debugging \ workflows, and feature configuration. +Install it by running \`npx @sentry/ai install\`, which detects the assistants \ +on the machine and sets up the plugin in each. + +Browse the skill library: - [All Skills](https://skills.sentry.dev/): Full skill index with SDK setup, workflows, and feature configuration -- [SDK Setup](https://skills.sentry.dev/sdks): Detect your platform and install Sentry with the right features +- [SDK Setup](https://skills.sentry.dev/instrument): Detect your platform and install Sentry with the right features - [Workflows](https://skills.sentry.dev/workflows): Debug production issues, review code, upgrade SDKs - [Features](https://skills.sentry.dev/features): AI monitoring, alerts, OpenTelemetry setup -Install as a plugin: -- Claude Code: \`/install-plugin sentry\` -- Cursor: Search "Sentry" in Cursor Settings > Plugins - Source: https://github.com/getsentry/sentry-for-ai`; const ABOUT_SENTRY_DOCS = `\ diff --git a/src/components/agentSkillsCallout/index.tsx b/src/components/agentSetupCallout/index.tsx similarity index 76% rename from src/components/agentSkillsCallout/index.tsx rename to src/components/agentSetupCallout/index.tsx index 3cea70876d787b..0c6145be52cab7 100644 --- a/src/components/agentSkillsCallout/index.tsx +++ b/src/components/agentSetupCallout/index.tsx @@ -8,8 +8,7 @@ import {usePlausibleEvent} from 'sentry-docs/hooks/usePlausibleEvent'; import {DocMetrics} from 'sentry-docs/metrics'; import {CodeBlock} from '../codeBlock'; -import {CodeTabs} from '../codeTabs'; -import {buildDotagentsCommand, buildNpxSkillsCommand, buildPrompt} from './shared'; +import {buildPrompt} from './shared'; import styles from './style.module.scss'; type Props = { @@ -19,12 +18,12 @@ type Props = { skill?: string; }; -export function AgentSkillsCallout({skill, platformName}: Props) { +export function AgentSetupCallout({skill, platformName}: Props) { const [copied, setCopied] = useState(false); const [isExpanded, setIsExpanded] = useState(false); const {emit} = usePlausibleEvent(); - const prompt = buildPrompt(skill); + const prompt = buildPrompt(platformName); const copyPrompt = useCallback( async (event: React.MouseEvent) => { @@ -32,7 +31,7 @@ export function AgentSkillsCallout({skill, platformName}: Props) { event.preventDefault(); emit('Copy AI Prompt', { - props: {page: window.location.pathname, title: 'Agent Skills Callout'}, + props: {page: window.location.pathname, title: 'Agent Setup Callout'}, }); try { @@ -73,7 +72,7 @@ export function AgentSkillsCallout({skill, platformName}: Props) { {description} Works with Cursor, Claude Code, Codex, and more. - + View docs ↗ @@ -89,25 +88,18 @@ export function AgentSkillsCallout({skill, platformName}: Props) { ) : ( )} - Install the full skills package + Install the full plugin

- Run this in your project to add Sentry agent skills. See the{' '} - installation docs for more details. + Install the Sentry plugin to give your assistant every skill. See the{' '} + installation docs for more details.

- - -
-                {buildDotagentsCommand(skill)}
-              
-
- -
-                {buildNpxSkillsCommand(skill)}
-              
-
-
+ +
+              npx @sentry/ai install
+            
+
diff --git a/src/components/agentSetupCallout/shared.ts b/src/components/agentSetupCallout/shared.ts new file mode 100644 index 00000000000000..9fde0fb5383b88 --- /dev/null +++ b/src/components/agentSetupCallout/shared.ts @@ -0,0 +1,14 @@ +/** + * Shared constants and utilities for agent skills prompt building. + * Used by AgentSetupCallout (full banner) and inline copy-prompt buttons. + */ + +export const SKILLS_BASE_URL = 'https://skills.sentry.dev'; + +/** Single entrypoint skill that instruments any SDK; the SDK is named in prose. */ +export const INSTRUMENT_SKILL_URL = `${SKILLS_BASE_URL}/instrument`; + +export function buildPrompt(sdkName?: string): string { + const target = sdkName ? `the Sentry ${sdkName} SDK` : 'Sentry'; + return `Use curl to download, read and follow ${INSTRUMENT_SKILL_URL} to set up ${target}.`; +} diff --git a/src/components/agentSkillsCallout/style.module.scss b/src/components/agentSetupCallout/style.module.scss similarity index 100% rename from src/components/agentSkillsCallout/style.module.scss rename to src/components/agentSetupCallout/style.module.scss diff --git a/src/components/agentSkillsCallout/shared.ts b/src/components/agentSkillsCallout/shared.ts deleted file mode 100644 index 3decc8ede4243b..00000000000000 --- a/src/components/agentSkillsCallout/shared.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Shared constants and utilities for agent skills prompt building. - * Used by AgentSkillsCallout (full banner) and inline copy-prompt buttons. - */ - -export const SKILLS_BASE_URL = 'https://skills.sentry.dev'; -export const SKILLS_REPO = 'getsentry/sentry-for-ai'; - -export function buildPromptUrl(skill?: string): string { - if (!skill) { - return SKILLS_BASE_URL + '/'; - } - return `${SKILLS_BASE_URL}/${skill}/SKILL.md`; -} - -export function buildPrompt(skill?: string): string { - const url = buildPromptUrl(skill); - return `Use curl to download, read and follow: ${url}`; -} - -export function buildDotagentsCommand(skill?: string): string { - if (!skill) { - return `npx @sentry/dotagents add ${SKILLS_REPO} --all`; - } - return `npx @sentry/dotagents add ${SKILLS_REPO} --name ${skill}`; -} - -export function buildNpxSkillsCommand(skill?: string): string { - if (!skill) { - return `npx skills add ${SKILLS_REPO}`; - } - return `npx skills add ${SKILLS_REPO} --skill ${skill}`; -} diff --git a/src/components/copyPromptButton/index.tsx b/src/components/copyPromptButton/index.tsx index b010c98c41971b..ab9775a6319167 100644 --- a/src/components/copyPromptButton/index.tsx +++ b/src/components/copyPromptButton/index.tsx @@ -8,21 +8,23 @@ import {useCallback, useMemo, useState} from 'react'; import {usePlausibleEvent} from 'sentry-docs/hooks/usePlausibleEvent'; import {DocMetrics} from 'sentry-docs/metrics'; -import {buildPrompt} from '../agentSkillsCallout/shared'; +import {buildPrompt} from '../agentSetupCallout/shared'; import styles from './style.module.scss'; type Props = { - /** Skill package name, e.g. "sentry-nextjs-sdk". */ + /** Skill package name, e.g. "sentry-nextjs-sdk". Used for analytics. */ skill: string; + /** Display name for the SDK, e.g. "Next.js". Named in the copied prompt. */ + platformName?: string; }; -export function CopyPromptButton({skill}: Props) { +export function CopyPromptButton({skill, platformName}: Props) { const [copied, setCopied] = useState(false); const {emit} = usePlausibleEvent(); const {resolvedTheme} = useTheme(); const isDark = resolvedTheme === 'dark'; - const prompt = buildPrompt(skill); + const prompt = buildPrompt(platformName); /** * Tooltip styles matching the onboarding tooltip pattern. diff --git a/src/components/home.tsx b/src/components/home.tsx index 3569d4e16ea6ae..751fac6cc42ba3 100644 --- a/src/components/home.tsx +++ b/src/components/home.tsx @@ -351,8 +351,8 @@ export async function Home() {

Integrate Sentry into your AI coding assistants using Sentry's{' '} - - Skills + + plugin {' '} and{' '} {/* Row 2: Guides and Pricing & Billing */} diff --git a/src/components/linkWithPlatformIcon.tsx b/src/components/linkWithPlatformIcon.tsx index 17ae9d8b53e1a0..b44627ba812f1b 100644 --- a/src/components/linkWithPlatformIcon.tsx +++ b/src/components/linkWithPlatformIcon.tsx @@ -30,7 +30,7 @@ export function LinkWithPlatformIcon({platform, label, url, skill}: Props) { /> {label ?? platform} - {skill && } + {skill && } ); } diff --git a/src/mdxComponents.ts b/src/mdxComponents.ts index b0cc414fec2c1a..32d2c7d68363a5 100644 --- a/src/mdxComponents.ts +++ b/src/mdxComponents.ts @@ -1,4 +1,4 @@ -import {AgentSkillsCallout} from './components/agentSkillsCallout'; +import {AgentSetupCallout} from './components/agentSetupCallout'; import {Alert} from './components/alert'; import {Arcade} from './components/arcade'; import {AvailableSince} from './components/availableSince'; @@ -74,7 +74,7 @@ export function mdxComponents( wrapper: any = ({children}) => children ) { return { - AgentSkillsCallout, + AgentSetupCallout, Alert, Arcade, AvailableSince, diff --git a/src/metrics.ts b/src/metrics.ts index 8e0343e3f70643..bf7eacd6da4ce5 100644 --- a/src/metrics.ts +++ b/src/metrics.ts @@ -162,7 +162,7 @@ export const DocMetrics = { }, /** - * Track "Copy Prompt" button clicks in the Agent Skills Callout + * Track "Copy Prompt" button clicks in the Agent Setup Callout * @param pathname - Page where the prompt was copied * @param skill - Skill name if present (e.g., "sentry-nextjs-sdk") * @param success - Whether the clipboard copy succeeded