Commit Graph

64 Commits

Author SHA1 Message Date
Daniel Griesser 2b5de1f502 fix(skills): address reviewer findings for wizard guidance
- react-features.md: add interactive-login warning to source maps wizard
  reference (P1 — agent would hang on browser auth)
- cocoa SKILL.md: align 'once it finishes' copy with other skills to
  point to Verification instead of vague 'continue with configuration'

Co-Authored-By: Claude (Anthropic Claude Sonnet 4)
2026-03-02 10:39:06 +01:00
Daniel Griesser 3c68ae54fa fix(skills): mark wizard as user-run-only, add manual setup fallback
The Sentry wizard CLI requires interactive browser-based login and
org/project selection prompts that AI agents cannot handle. Updated all
SDK skills that reference the wizard to present it inside a blockquote
telling the user to run the command themselves in their terminal.

If the user skips the wizard, the agent proceeds with full manual setup.

Updated skills:
- sentry-nextjs-sdk
- sentry-svelte-sdk
- sentry-react-native-sdk
- sentry-dotnet-sdk
- sentry-cocoa-sdk
- sentry-sdk-skill-creator (template + philosophy reference)

Co-Authored-By: Claude (Anthropic Claude Sonnet 4)
2026-03-02 10:35:50 +01:00
tmayrav24 c716e62ea5 fix: remove unsupported 'logo' key from plugin.json (#16) 2026-03-02 09:21:52 +01:00
Daniel Griesser 923a5f480f refactor(ci): move skill tree validation to its own workflow
Extract validate-skill-tree from the warden workflow into a dedicated
.github/workflows/validate-skill-tree.yml. Keeps concerns separate —
warden handles AI code review, skill tree validation handles structural
integrity. Both trigger on the same PR events but run independently.
2026-03-02 09:21:07 +01:00
Daniel Griesser a68d57cfa6 fix(scripts): harden build-skill-tree.sh for bash 3.2 on macOS
Use ${ARRAY[@]+"${ARRAY[@]}"} pattern for all array expansions that
could be empty (category arrays, errors array, function parameters).
Bash 3.2 with set -u treats "${EMPTY[@]}" as an unbound variable error,
while bash 4+ handles it gracefully. The +"..." syntax expands to nothing
when the array is unset/empty, avoiding the crash.

Also fix AGENTS.md claiming CI only runs on skills/** changes — the
validate-skill-tree job runs on all PRs (it's fast enough not to need
path filtering).
2026-03-02 09:21:07 +01:00
Daniel Griesser 242fadbd19 ci(skill-tree): add validate-skill-tree job to warden workflow
Adds a parallel CI job that runs `./scripts/build-skill-tree.sh --check`
on every PR. The job checks out the repo with minimal permissions
(contents: read) and fails if SKILL_TREE.md is stale or any skill
frontmatter/breadcrumb/router-table validation errors are found.

Running it as a separate job (rather than a step in the warden review
job) keeps concerns isolated and lets both jobs run in parallel.

Co-Authored-By: Claude Sonnet 4.5 (Anthropic)
2026-03-02 09:21:07 +01:00
Daniel Griesser 34c46870e2 docs(agents): add skill tree navigation governance section
Documents the router pattern that keeps agent startup metadata lean
(~300 tokens vs ~1,600+ as the skill library grows). Covers:

- How the three router skills (sentry-sdk-setup, sentry-workflow,
  sentry-feature-setup) gate access to hidden child skills via
  disable-model-invocation
- Category taxonomy with responsible routers
- Step-by-step checklist for adding a new skill (frontmatter fields,
  breadcrumb, router table update, build script)
- Guidance on splitting categories once they exceed ~10 skills
- Reference to scripts/build-skill-tree.sh for local validation and
  its --check flag used in CI

This gives contributors (human and AI) a single authoritative source
for skill tree conventions without needing to reverse-engineer the
frontmatter or ask questions.

Co-Authored-By: Claude Sonnet 4.6 (Anthropic)
2026-03-02 09:21:07 +01:00
Daniel Griesser 5837075bdf feat(scripts): add build-skill-tree.sh validation script
Adds scripts/build-skill-tree.sh — a bash-only script that scans
all skills/*/SKILL.md files, regenerates SKILL_TREE.md from live
frontmatter data, and validates the entire skill hierarchy.

What the script does:

1. Scan — finds all SKILL.md files via find, parses YAML frontmatter
   (name, description, category, parent, role, disable-model-invocation)
   using awk. No external dependencies beyond standard Unix tools.

2. Categorize — groups skills by category field, identifies routers
   by role: router.

3. Generate — rebuilds SKILL_TREE.md with Quick Navigation table,
   per-category skill tables (SDK Setup, Workflow, Feature Setup,
   Internal), and short column values extracted from descriptions.

4. Validate — checks every rule without stopping on first failure:
   - Non-router/non-internal skills must have category, parent, and
     disable-model-invocation: true
   - Internal skills must have disable-model-invocation: true
   - Every skill's parent must exist and have role: router
   - Each skill must appear in its router's SKILL.md
   - All breadcrumb .md links must resolve to real files
   - Warns on unknown categories

5. Stale check — diffs generated vs existing SKILL_TREE.md; writes
   file unless --check is passed (check-only mode for CI).

Uses a temp-directory pattern for per-skill data storage instead of
bash 4 associative arrays, keeping it compatible with macOS bash 3.2.

Also updates SKILL_TREE.md to match the script's generated output
(column values are now extracted from descriptions via sed, ordering
follows find | sort alphabetical).

Co-Authored-By: Claude Sonnet 4.5 (Anthropic)
2026-03-02 09:21:07 +01:00
Daniel Griesser a841634087 docs: add SKILL_TREE.md root sitemap
Creates a flat sitemap at the repo root that gives any agent an instant
overview of the full skill structure. The file contains:

- Quick navigation table mapping user intent to the three router skills
  (sentry-sdk-setup, sentry-workflow, sentry-feature-setup)
- Four categorized tables covering all 16 skills: SDK Setup (9 platforms),
  Workflow (3 skills), Feature Setup (3 skills), and Internal (1 skill)
- Every skill name and path is a clickable markdown link
- Kept under 1000 tokens as specified

This file serves as the entry point agents use to locate the right skill
before diving into individual SKILL.md files. It will later be generated
automatically by the build script; this is the hand-authored initial version.

Co-Authored-By: Claude Sonnet 4.6 (Anthropic)
2026-03-02 09:21:07 +01:00
Daniel Griesser d902b28443 feat(skills): add frontmatter metadata + breadcrumbs to 7 non-SDK skills
Extends the skill-tree navigation pattern (already applied to SDK skills)
to the remaining workflow, feature-setup, and internal skills.

Each file receives three new frontmatter fields:
- category: workflow | feature-setup | internal
- parent: router skill name (omitted for internal/sentry-sdk-skill-creator)
- disable-model-invocation: true

And a breadcrumb blockquote immediately after the closing --- for
contextual navigation:

  Workflow skills (parent: sentry-workflow):
    sentry-code-review, sentry-pr-code-review, sentry-fix-issues

  Feature-setup skills (parent: sentry-feature-setup):
    sentry-setup-ai-monitoring, sentry-otel-exporter-setup, sentry-create-alert

  Internal skills (no parent router):
    sentry-sdk-skill-creator → breadcrumb links to SKILL_TREE.md only

No existing skill content was modified — pure additive changes.

Co-Authored-By: Claude Sonnet 4.5 (Anthropic)
2026-03-02 09:21:07 +01:00
Daniel Griesser 4820ff40f5 feat(skills): add frontmatter hierarchy + breadcrumbs to 9 SDK skills
Add category, parent, and disable-model-invocation fields to the YAML
frontmatter of all 9 SDK skill files, and insert a breadcrumb navigation
line as the first body element after the closing ---.

Each skill now declares:
  category: sdk-setup
  parent: sentry-sdk-setup
  disable-model-invocation: true

And opens with a breadcrumb blockquote:
  > [All Skills](../../SKILL_TREE.md) > [SDK Setup](../sentry-sdk-setup/SKILL.md) > <Platform> SDK

This establishes the skill tree hierarchy for the sdk-setup category,
enabling routers and tooling to discover parent/child relationships and
preventing these implementation skills from being invoked directly by
the model without going through the sentry-sdk-setup router.

No existing skill content was modified — only additive changes.

Co-Authored-By: Claude Sonnet 4.5 (Anthropic)
2026-03-02 09:21:07 +01:00
Daniel Griesser ac655f312c feat(skills): add three router skills for SDK setup, workflows, and feature configuration
Introduce three new router-role skills that act as entry points for common
Sentry tasks, routing agents to the appropriate specialized skill based on
user intent and detected platform context.

- sentry-sdk-setup: detects project platform from files (package.json,
  go.mod, Gemfile, *.xcodeproj, etc.) and maps to one of 9 SDK skills
  (Cocoa, .NET, Go, Next.js, Python, React Native, React, Ruby, Svelte).
  Includes priority rules for Next.js over React and React Native over React,
  with a fallback to docs.sentry.io/platforms/ for unmatched platforms.

- sentry-workflow: routes debugging and code review tasks to sentry-fix-issues
  (MCP-based production debugging), sentry-code-review (sentry[bot] PR
  comments), or sentry-pr-code-review (Seer Bug Prediction reviews).

- sentry-feature-setup: routes feature configuration requests to
  sentry-setup-ai-monitoring (LLM/AI SDK instrumentation),
  sentry-otel-exporter-setup (OTel Collector pipelines), or
  sentry-create-alert (workflow engine alerts and notifications).

All three skills use role: router in frontmatter and include breadcrumb
navigation back to SKILL_TREE.md.

Co-Authored-By: Claude Sonnet 4.5 (Anthropic AI assistant)
2026-03-02 09:21:07 +01:00
Daniel Griesser 48a09ce2b8 docs: rewrite README to lead with user value
Restructure the README around what users can actually do with the
plugin rather than listing technical components. Opens with the core
value prop — your AI assistant knows code, this teaches it Sentry — then
shows real examples for each use case before diving into skill tables.

Drops the plugin structure tree (internal detail) and streamlines
installation instructions. Adds a contributing section pointing to the
agent skills spec and the sdk-skill-creator skill.

Co-Authored-By: Claude (Anthropic)
2026-02-28 16:06:00 +01:00
Daniel Griesser 58692e4360 chore: remove generate-skill-list script
Not needed in this repo — was carried over from sentry-agent-skills
where it's used by the release workflow.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 1eb0b63777 docs: update AGENTS.md, README, and add skill list script
Update documentation to reflect the full skill catalog ported from
sentry-agent-skills. Skills are now organized into four categories:

- SDK bundles (9): full platform setup wizards with reference docs
- Setup skills (2): AI monitoring, OTel exporter
- Workflow skills (4): code review, PR review, fix issues, create alerts
- Authoring skills (1): SDK skill creator

Also adds scripts/generate-skill-list.sh from sentry-agent-skills for
generating skill lists from SKILL.md frontmatter.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 7c8eea6ebb feat(sentry-svelte-sdk): add skill with 4 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser af0f0edbcf feat(sentry-setup-ai-monitoring): add skill
Replaces the previous sentry-setup-ai-monitoring skill with the
updated version from sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 914cff1000 feat(sentry-sdk-skill-creator): add skill with 3 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 0f801420d7 feat(sentry-ruby-sdk): add skill with 7 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser bda60eb8e3 feat(sentry-react-sdk): add skill with 6 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser dd00f642f7 feat(sentry-react-native-sdk): add skill with 6 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser c419ed86ff feat(sentry-python-sdk): add skill with 7 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 65eb6b970a feat(sentry-pr-code-review): add skill
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 4ba6a7e0c6 feat(sentry-otel-exporter-setup): add skill
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 656aa2068c feat(sentry-nextjs-sdk): add skill with 7 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 798fac32e6 feat(sentry-go-sdk): add skill with 6 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 3a3f21a832 feat(sentry-fix-issues): add skill
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 32a8d27439 feat(sentry-dotnet-sdk): add skill with 5 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser e1e9f1fb94 feat(sentry-create-alert): add skill
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 5c053f7fa7 feat(sentry-cocoa-sdk): add skill with 6 reference docs
Ported from getsentry/sentry-agent-skills.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
Daniel Griesser 2f43e29880 chore: remove outdated setup skills superseded by SDK bundles
Remove 5 legacy skills that are being replaced by comprehensive SDK
skill bundles from sentry-agent-skills:

- sentry-ios-swift-setup: replaced by sentry-cocoa-sdk
- sentry-setup-ai-monitoring: replaced by updated version
- sentry-setup-logging: covered by per-SDK bundles (Python, Ruby, etc.)
- sentry-setup-metrics: covered by per-SDK bundles
- sentry-setup-tracing: covered by per-SDK bundles

The sentry-code-review skill is retained as-is.

Co-Authored-By: Claude (Anthropic)
2026-02-28 15:52:27 +01:00
David Cramer 71f0a99246 ref: Unify Claude Code and Cursor plugins into single repo (#10)
Merges `sentry-for-claude` and `sentry-for-cursor` into a single repo that serves both platforms. Both repos contained the same Sentry plugin (MCP server, skills, commands) packaged for different platforms — maintaining two repos meant duplicating every change.

Skills and commands now live at the repo root where both Claude Code and Cursor auto-discover them. Each platform gets its own metadata directory (`.claude-plugin/`, `.cursor-plugin/`) with separate `plugin.json` and `marketplace.json` files — no symlinks between platform-specific configs. MCP configs are also separate files (`.mcp.json` for Claude Code, `mcp.json` for Cursor) since the platforms use different file conventions.

`.agents/` is preserved as symlinks to `commands/` and `skills/` for backwards compatibility.

Plugin manifests validated against the official schemas from [cursor/plugins](https://github.com/cursor/plugins/tree/main/schemas) and [anthropics/claude-code](https://github.com/anthropics/claude-code).

After merge, rename repo from `sentry-for-claude` to `sentry-for-ai` and archive `sentry-for-cursor` with a redirect notice.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-26 13:33:34 -08:00
David Cramer e489ce53f1 Merge pull request #9 from getsentry/feat/add-warden
feat: Add warden GitHub Action and config
2026-02-10 14:40:31 -08:00
David Cramer 2a29eac410 Add missing 'reopened' action to warden.toml skill trigger
The workflow triggers on pull_request types [opened, synchronize, reopened]
but the skill trigger only matched opened and synchronize, causing reopened
PRs to run the workflow without triggering the skill-scanner scan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:33:57 -08:00
David Cramer ac175f503d Add warden GitHub Action and config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:27:47 -08:00
David Cramer b635fc32a5 Add MIT license
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 13:28:52 -08:00
David Cramer 9d62b6b7fe Merge pull request #8 from getsentry/remove-getissues-and-issue-summarizer
ref: Remove /getIssues command and issue-summarizer subagent
2026-02-10 11:43:23 -08:00
David Cramer 17d0614c55 Remove /getIssues command and issue-summarizer subagent
These capabilities are being rebuilt as part of the getsentry/sentry-mcp
server. Also removes the now-redundant MCP-SETUP.md since MCP is
auto-configured via .mcp.json and plugin.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:40:13 -08:00
Cody De Arkland 6864a2617d Merge pull request #7 from getsentry/docs/cleanup-readme
Clean up README to match current repo structure
2026-02-10 11:26:51 -08:00
Cody De Arkland 45c28af5ef Restore CLAUDE.md symlink to AGENTS.md
Co-Authored-By: Claude (claude-opus-4-6)
2026-02-10 11:26:24 -08:00
Cody De Arkland d978716362 Clean up README to match current repo structure
Remove redundant sections (Usage Examples duplicated Features, Tips
repeated docs, Troubleshooting repeated install steps), fix stale
references to deleted MCP-SETUP.md, correct repo name in structure
tree, fix typo in sentry-code-review, and remove emojis.

Co-Authored-By: Claude (claude-opus-4-6)
2026-02-10 11:25:12 -08:00
Cody De Arkland 708f5beed0 Remove CLAUDE.md and MCP-SETUP.md 2026-02-10 11:21:45 -08:00
Cody De Arkland d307a565d3 Revert "Remove MCP-SETUP.md and AGENTS.md"
This reverts commit b499cbaf9e.
2026-02-10 11:21:37 -08:00
Cody De Arkland b499cbaf9e Remove MCP-SETUP.md and AGENTS.md 2026-02-10 11:20:47 -08:00
David Cramer a91650b257 Merge pull request #6 from getsentry/chore/add-claude-permissions
chore: Add read-only permissions to Claude settings
2026-02-10 11:15:40 -08:00
Cody De Arkland 13e94436af Merge pull request #5 from getsentry/feat/sync-agent-skills
Add iOS/Swift setup skill from sentry-agent-skills
2026-02-10 11:09:54 -08:00
Cody De Arkland 4e70373c2c Condense iOS/Swift setup skill to match repo conventions
Remove redundant code examples, consolidate feature sections, and
restructure to follow the same pattern as existing setup skills.
Reduced from 735 to 391 lines while preserving all essential content.

Co-Authored-By: Claude (claude-opus-4-6)
2026-02-10 11:07:48 -08:00
David Cramer c244210ae9 chore: Add read-only permissions to Claude settings
Add baseline read-only bash commands (filesystem, git, gh), Sentry
skill auto-approvals, and documentation domain allowlists to reduce
permission prompts during development.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-10 11:06:58 -08:00
Cody De Arkland f4a4c107bd Add iOS/Swift setup skill from sentry-agent-skills
Add sentry-ios-swift-setup skill for configuring Sentry in iOS/Swift
apps including error monitoring, tracing, session replay, logging,
and profiling. Update README and AGENTS.md with complete skills listing.

Co-Authored-By: Claude (claude-opus-4-6)
2026-02-10 11:04:44 -08:00
David Cramer ca266e5973 Merge pull request #4 from getsentry/docs/add-agents-md
docs: Add AGENTS.md with agent instructions
2026-02-10 10:58:05 -08:00