Improve organic agent behavior when setting up Sentry
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 12/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 技術スタック
- javascript, typescript
調査の方向性
This is open design research, not a bounded change. Start with packages/cli/src/lib/detect-agent.ts and packages/cli/src/lib/agent-skills.ts to see how agents are detected and skills installed, then review the llms.txt agent-instructions block and the platform Markdown pages the issue names. Done means a written map of where agents get Sentry information, measured against the benchmark, with recommended steering surfaces checked against the no-growth-hacks guardrail.
索引モデルが issue の本文から書いたものです。
説明
When a developer asks a coding agent with no Sentry tooling installed to "set up Sentry", the agent mostly works Sentry out from first principles. It doesn't find or use the CLI, MCP, or skills. This issue covers the organic path: what agents actually do today, what pushes them toward the right setup (CLI-first, current SDK, the right features), and how we'll measure it.
Direction
- The remote-agent implementation of
sentry init(e.g. "set up my GitHub repo with Sentry") is being deprioritized. It is the only hard requirement for a remote agent, as opposed to assuming people already have their own coding agent, and its ROI is low by comparison. - This does not change the onboarding goal. The CLI is still the intended onboarding mechanism, and the CLI + MCP unification (#1357, getsentry/cli#1248) is the main bet.
- Open questions: do we bundle skills, do we need skills at all, is this a docs improvement, should docs be colocated (shipped with packages) or remote?
- Guardrail: help people adopt technology they want but don't yet understand. Don't push technology we want them to want (no growth hacks). Any steering toward CLI, MCP, or extra features has to hold up against this.
Observed organic behavior (one internal sample, 2026-10-14)
- Prompt: "set up Sentry for my web game" (browser JS), Opus 5.5, no plugin installed.
- Result: it worked, but only errors and tracing were set up. The CLI wasn't installed, MCP wasn't configured, and no plugin was installed.
- It picked an older SDK because v11 "looked sus". npm context at that time:
11.0.0shipped 2026-09-23 andlatestis11.7.0(2026-10-12). Thev10line was still publishing (10.76.2, 2026-10-08), and thenextdist-tag still points at11.0.0-rc.1. The agent's actual reasoning is unknown. - Sources it used, per its own session summary: the npm registry (
@sentry/browserversions and release dates) and the Sentry CDN (bundle names, integrity hashes). It did not read docs.sentry.io and ran no web searches. - The
@sentry/browsernpm README (about 1.1 KB) contains only two docs links. It has no agent guidance and doesn't point to the CLI, MCP, or skills. One idea from the discussion: since agents look at the registry first, registry-side instructions could steer them. - A second data point: asked how it would add Sentry, Claude described the ideal flow. It would inspect the project, fetch the official framework docs (preferring
llms.txtor Markdown), use non-interactivenpx @sentry/wizardflags or set things up by hand (interactive prompts often fail in agent shells), ask for the DSN, slugs, and token, and verify. The observed run skipped docs entirely, so what an agent says it will do is not a reliable proxy for what it does. - The same answer said type definitions (
.d.ts) are what it reads most in packages when writing config. JSDoc on each option (purpose, default, deprecation) could be high-leverage agent documentation that needs no new convention.
What we already have (verified 2026-10-14)
- Idea from the discussion: serve different content to agents on the docs site when we can detect them. Partly in place already:
- docs.sentry.io returns Markdown for
Accept: text/markdownand for.mdURLs, and it also returns Markdown for aClaude-UserUA. A bareaxios/*UA with no Accept header gets HTML.
- docs.sentry.io returns Markdown for
docs.sentry.io/llms.txthas an "Instructions for AI Coding Assistants" block. It tells agents to installnpx @sentry/agent-plugin installand useskills.sentry.dev/instrumentandmcp.sentry.dev. It does not mention thesentryCLI, which conflicts with the CLI-first direction.- The platform getting-started Markdown (e.g.
/platforms/javascript.md) doesn't mention the CLI, MCP, or skills. - The CLI already detects agents through env vars and the process tree (
packages/cli/src/lib/detect-agent.ts, adapted fromvercel/detect-agent). It uses this forcli setup, the init wizard, and telemetry, and it can install embedded skills (packages/cli/src/lib/agent-skills.ts). - Benchmark: Value Discovery aims to swap harness, model, plugin, and repo and score tasks like "set up Sentry". It must work without the plugin, so the same prompt can be compared across models with or without any Sentry tooling. Related: #1383 (run init evals on CI).
Industry learnings
- Detecting agents on the web:
- The
Acceptheader is the most reliable signal so far. As of Feb 2026, Claude Code, Cursor, and OpenCode sendtext/markdown. Codex (ChatGPT-UserUA), Gemini CLI (GoogleAgent-URLContext), Copilot, and Windsurf don't. User-Agent is inconsistent: Claude Code sendsaxios/*, and Cursor and OpenCode send a Chrome UA. (Checkly) - Cloudflare converts HTML to Markdown at the edge when the request asks for Markdown. It reports about 80% fewer tokens and adds
x-markdown-tokensandcontent-signalheaders. Vercel and Checkly report 99%+ reductions. (Cloudflare, Vercel) - Cryptographic identity is emerging: Web Bot Auth (HTTP message signatures) and Cloudflare's verified/signed-agent classification, which includes a "user-directed agent" category. (Cloudflare)
- The
- Detecting agents locally: the
vercel/detect-agentrules (env vars likeCLAUDECODE,CURSOR_AGENT,AI_AGENT) are becoming the shared registry. Next.js uses detection innext devto write managedAGENTS.mdblocks. - Always-on context vs. on-demand skills:
- Vercel found an 8 KB docs index in
AGENTS.mdscored 100% on Next.js 16 evals. Skills scored 53%, the same as no docs, because they weren't invoked in 56% of runs. Explicit "use the skill" instructions raised skills to 79%, but results were sensitive to wording. (Vercel) - OpenAI likewise treats skill triggering as something to eval, not assume: the skill's name and description drive invocation. (OpenAI)
- Vercel found an 8 KB docs index in
- Colocated, version-matched docs (Next.js 16.2+):
- Next.js ships docs in
node_modules/next/dist/docs/and writes a managedAGENTS.mdblock ("This is NOT the Next.js you know… read the bundled docs") when it detects an agent. - It also offers per-page
.mdandllms.txt, agent-readable error pages linked from CLI output,next upgrade --agent, and opt-in agent feedback. - Skills are reserved for multi-step workflows, not knowledge lookups. (Next.js, evals)
- Next.js ships docs in
- Agent-specific onboarding pages: Cloudflare docs link an "Agent setup" page from every page, with per-agent guides for Claude Code, Codex, Cursor, Copilot, and OpenCode covering skills and MCP. (Cloudflare)
Scope
- Map where agents actually get Sentry information in organic runs (package registries, READMEs, type definitions, CDN, docs, llms.txt, CLI output), using the benchmark rather than single samples or self-reports.
- Measure whether agents pick the current SDK, enable appropriate features, discover or install the CLI, and use CLI and MCP afterward.
- Evaluate the steering surfaces: package READMEs and registry metadata, JSDoc in type definitions, docs and
llms.txtwording, CLI output when an agent is detected, colocated docs vs. remote docs vs. skills. Check each against the no-growth-hacks guardrail. - Make agent-facing guidance consistent with the CLI-first direction (for example, the
llms.txtplugin-first wording).
Unknowns
- Why the agent distrusted v11. Candidates are release cadence, the parallel
v10publishes, the stalenexttag, or training-data priors. - How representative one Opus sample is across other harnesses and models.
- Whether skills earn their place for setup at all, given the trigger-rate findings above.
via David Cramer.
--
- 主要言語
- TypeScript
- スター
- 938
- フォーク
- 166
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 175
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
getsentry/toolkit のほかの issue
-
bug MCP
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
getsentry/toolkit#1621 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug MCP
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
getsentry/toolkit#1618 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Docs MCP tool failures omit isError対応中かも @thomasjiangcy が今日担当しました。 オープンbug MCP
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
getsentry/toolkit#1600 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
getsentry/toolkit#1471 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
CLI: Centralize target specs and lint free-text examples in fullDescription対応中かも @sentry-junior が今日担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
getsentry/toolkit#1649 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
getsentry/toolkit の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
farion1231/cc-switch#8829 ·
メンテナーはふだん 1 日以内に返信
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverオープンdoc-audit enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100