From jutsu-sentry
Manages Sentry releases: create/finalize with CLI, upload source maps via webpack/vite/next.js plugins, track deployments/health in CI/CD.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jutsu-sentry:release-managementThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage releases, upload source maps, and track deployments.
Manage releases, upload source maps, and track deployments.
# Create a new release
sentry-cli releases new "$VERSION"
# Associate commits
sentry-cli releases set-commits "$VERSION" --auto
# Finalize the release
sentry-cli releases finalize "$VERSION"
# GitHub Actions
- name: Create Sentry Release
uses: getsentry/action-release@v1
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: your-org
SENTRY_PROJECT: your-project
with:
environment: production
version: ${{ github.sha }}
release:
stage: deploy
script:
- sentry-cli releases new "$CI_COMMIT_SHA"
- sentry-cli releases set-commits "$CI_COMMIT_SHA" --auto
- sentry-cli releases finalize "$CI_COMMIT_SHA"
- sentry-cli releases deploys "$CI_COMMIT_SHA" new -e production
# Upload source maps for a release
sentry-cli sourcemaps upload \
--release="$VERSION" \
--url-prefix="~/" \
./dist
# With validation
sentry-cli sourcemaps upload \
--release="$VERSION" \
--validate \
./dist
// webpack.config.js
const { sentryWebpackPlugin } = require("@sentry/webpack-plugin");
module.exports = {
devtool: "source-map",
plugins: [
sentryWebpackPlugin({
org: "your-org",
project: "your-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
release: {
name: process.env.RELEASE_VERSION,
},
sourcemaps: {
assets: "./dist/**",
},
}),
],
};
// vite.config.ts
import { sentryVitePlugin } from "@sentry/vite-plugin";
export default defineConfig({
build: {
sourcemap: true,
},
plugins: [
sentryVitePlugin({
org: "your-org",
project: "your-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
}),
],
});
// next.config.js
const { withSentryConfig } = require("@sentry/nextjs");
module.exports = withSentryConfig(nextConfig, {
org: "your-org",
project: "your-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
silent: true,
hideSourceMaps: true,
});
# Create a deployment
sentry-cli releases deploys "$VERSION" new \
--env production \
--started $(date +%s) \
--finished $(date +%s)
Sentry.init({
dsn: "...",
release: "[email protected]",
environment: "production",
autoSessionTracking: true,
});
[defaults]
org = your-org
project = your-project
[auth]
token = your-auth-token
defaults.org=your-org
defaults.project=your-project
auth.token=your-auth-token
# Delete old releases
sentry-cli releases delete "$OLD_VERSION"
# Delete source maps (keeps release)
sentry-cli releases files "$VERSION" delete --all
npx claudepluginhub thedotmack/han --plugin jutsu-sentryManages Sentry releases: create/finalize with CLI, upload source maps via webpack/vite/next.js plugins, track deployments/health in CI/CD.
Manages Sentry releases: creates versions with semver/SHA, associates git commits for suspect commit detection, uploads source maps, monitors health metrics, cleans old releases.
Provides guidance for using the Sentry CLI to interact with Sentry, including viewing issues, events, projects, and making API calls. Handles authentication and org/project detection automatically.