SkillAgentSearch skills...

api

Public API surface, binary compatibility, and common classes to modify

Install / Use

npx skills add getsentry/sentry-java

Installs into whichever agent you are using.

About this skill
📐

Cursor Rules

Cursor IDE rules (v2)

Quality Score

66/100

Supported Platforms

Cursor

Our assessment of api

api scores 66/100 on our quality scale, 3932nd of 4,606 Development & Engineering skills we index.

Its Cursor Rules is 4.4 KB long, well organised into 15 sections and no code examples: a solid amount of guidance for an agent.

It has no GitHub stars yet, so there is no community track record; judge it on its content.

Substance
26/30
Structure
13/20
Description
12/15
Adoption
0/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so api is actively maintained.
  • Our last check on 2026-09-05 found the source still online.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 80/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

api compared with similar skills

All 4 of these similar skills score higher than api; compare them before choosing.

SkillScoreStarsUpdatedFormat
api (this skill)by getsentry660todayCursor Rules
Agent-Reachby Panniantong100102.9k1d agoCLAUDE.md
taste-skillby Leonxlnx100102.7ktodayCLAUDE.md
headroomby headroomlabs-ai10077.9k1d agoCLAUDE.md
ai-job-searchby ai-job-search-dev10066.0k5d agoCLAUDE.md

Frequently asked questions

How do I install api?
Run npx skills add getsentry/sentry-java. The install tabs above show the steps for each supported agent.
Which AI agents does api work with?
It is written for Cursor, as a Cursor Rules file. Other agents that read the same format can often use it too.
Is api safe to use?
It declares no license and scores 80/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is api still maintained?
The repository was last updated today, so api is actively maintained.

alwaysApply: false description: Public API surface, binary compatibility, and common classes to modify

Java SDK Public API

API Compatibility

Public API is tracked via .api files generated by the Binary Compatibility Validator Gradle plugin. Each module has its own file at <module>/api/<module>.api.

  • Never edit .api files manually. Run ./gradlew apiDump to regenerate them.
  • ./gradlew check validates current code against .api files and fails on unintended changes.
  • @ApiStatus.Internal marks classes/methods as internal — they still appear in .api files but are not part of the public contract.
  • @ApiStatus.Experimental marks API that may change in future versions.

Key Public API Classes

Entry Point

Sentry (sentry module) is the static entry point. Most public API methods on Sentry delegate to getCurrentScopes(). When adding a new method to Sentry, it typically calls through to IScopes.

Interfaces

| Interface | Description | |-----------|-------------| | IScope | Single scope — holds data (tags, extras, breadcrumbs, attributes, user, contexts, etc.) | | IScopes | Multi-scope container — manages global, isolation, and current scope; delegates capture calls to SentryClient | | ISpan | Performance span — timing, tags, data, measurements | | ITransaction | Top-level transaction — extends ISpan |

Configuration

SentryOptions is the base configuration class. Platform-specific subclasses:

  • SentryAndroidOptions — Android-specific options
  • Integration modules may add their own (e.g. SentrySpringProperties)

New features must be opt-in by default — add a getter/setter pair to the appropriate options class.

Internal Classes (Not Public API)

| Class | Description | |-------|-------------| | SentryClient | Sends events/envelopes to Sentry — receives captured data from Scopes | | SentryEnvelope / SentryEnvelopeItem | Low-level envelope serialization | | Scope | Concrete implementation of IScope | | Scopes | Concrete implementation of IScopes |

Adding New Public API

When adding a new method that users can call (e.g. a new scope operation), these classes typically need changes:

Interfaces and Static API

  1. IScope — add the method signature
  2. IScopes — add the method signature (usually delegates to a scope)
  3. Sentry — add static method that calls getCurrentScopes()

Implementations

  1. Scope — actual implementation with data storage
  2. Scopes — delegates to the appropriate scope (global, isolation, or current based on defaultScopeType)
  3. CombinedScopeView — defines how the three scope types combine for reads (merge, first-wins, or specific scope)

No-Op and Adapter Classes

  1. NoOpScope — no-op stub for IScope
  2. NoOpScopes — no-op stub for IScopes
  3. ScopesAdapter — delegates to Sentry static API
  4. HubAdapter — deprecated bridge from old IHub API
  5. HubScopesWrapper — wraps IScopes as IHub

Serialization (if the data is sent to Sentry)

  1. Add serialization/deserialization in the relevant data class or create a new one implementing JsonSerializable and JsonDeserializer

Tests

  1. Write tests for all implementations, especially Scope, Scopes, SentryTest, and any new data classes
  2. No-op classes typically don't need separate tests unless they have non-trivial logic

Protocol / Data Model Classes

Classes in the io.sentry.protocol package represent the Sentry event protocol. They implement JsonSerializable for serialization and have a companion Deserializer class implementing JsonDeserializer. When adding new fields to protocol classes, update both serialization and deserialization.

Namespaced APIs

Newer features are namespaced under Sentry.<feature>() rather than added directly to Sentry. Each namespaced API has an interface, implementation, and no-op. Examples:

  • Sentry.logger() → ILoggerApi / LoggerApi / NoOpLoggerApi (structured logging, io.sentry.logger package)
  • Sentry.metrics() → IMetricsApi / MetricsApi / NoOpMetricsApi (metrics)

Options for namespaced features are similarly nested under SentryOptions, e.g. SentryOptions.getMetrics(), SentryOptions.getLogs().

These APIs may share infrastructure like the type system (SentryAttributeType.inferFrom()) — changes to shared components (e.g. attribute types) may require updates across multiple namespaced APIs.

Related Skills

View on GitHub
GitHub Stars0
CategoryDevelopment
Updated1h ago
Forks0

Trust signals

80/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium1 low