ソース情報
- リポジトリ
- CodySwannGT/lisa
- ソースの最終更新活動
- 2026年8月12日 14:27
- 検出された SKILL.md の言語
- 英語
- スター
- 3
- フォーク
- 3
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/CodySwannGT/lisa --skill lisa-parity-sentry-sdk-setupコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
any non-trivial request —…
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
SKILL.md を表示中
| name | lisa-parity-sentry-sdk-setup |
| description | Install and configure the… |
| allowed-tools | ["Read","Edit","Write","Bash"] |
| synced-from | sentry@claude-plugins-official@1.3.2 |
Detect a project's framework and runtime, then install and configure the correct Sentry SDK with sensible, production-ready defaults: client initialization, DSN via environment variable, error capture, performance/tracing, and source map upload so stack traces are readable.
Upstream sentry@claude-plugins-official 1.0.0 shipped ~30 separate per-SDK
setup skills; this single Lisa-native skill consolidated all of them. As of
upstream 1.2.0 Sentry itself consolidated the suite into one
sentry-instrument playbook, so the shapes now match — but this skill remains a
from-scratch reimplementation against Lisa conventions, not a translation of
the upstream skill. Pinned to sentry@claude-plugins-official@1.3.2 via
synced-from so the parity drift detector tracks it as one unit.
Decide what you are actually doing before touching code; default to the smallest scope (adapted from upstream 1.2.0's scope gate):
tracesSampleRate/tracesSampler (and,
in browsers, add the tracing integration, e.g.
browserTracingIntegration()), exactly as the Step 3 snippets do — then
verify a real captured event and stop. Do not wire up further signals
unasked.Never over-instrument. Wiring up every signal upfront produces noise, quota burn, and config the team doesn't understand.
Inspect the project before choosing an SDK. Read package.json
(dependencies/scripts), config files, and lockfiles:
next dependency or next.config.* → Next.js@nestjs/core → NestJSreact-native / expo → React Native / Exporeact + a bundler (vite/webpack) without Next → React (browser)express / fastify / koa and a Node entrypoint → Node servervue / @angular/core / svelte → that browser frameworkpyproject.toml / requirements.txt; django/flask/fastapi →
Python (and which web framework)If the runtime is genuinely ambiguous, ask which app to instrument rather than guessing. Respect the project's package manager (bun/npm/pnpm/yarn — match the lockfile) and module system (ESM vs CJS).
Use the project's package manager. Examples (swap bun add for your manager):
| Framework | Package |
|---|---|
| React (browser) | @sentry/react |
| Next.js | @sentry/nextjs |
| Node / Express / Fastify | @sentry/node (+ @sentry/profiling-node for profiling) |
| NestJS | @sentry/nestjs (+ @sentry/node) |
| React Native / Expo | @sentry/react-native |
| Vue | @sentry/vue |
| Angular | @sentry/angular |
| Svelte / SvelteKit | @sentry/svelte / @sentry/sveltekit |
| Python (generic) | sentry-sdk |
| Django | sentry-sdk[django] |
| Flask | sentry-sdk[flask] |
| FastAPI | sentry-sdk[fastapi] |
For Next.js, prefer the official wizard when available — it scaffolds the config files and source-map upload for you:
npx @sentry/wizard@latest -i nextjs
Initialize as early as possible in the app's lifecycle, before other code runs. Always read the DSN from the environment (see Step 4) — never hard-code it.
React (browser) — src/instrument.ts, imported first in the entrypoint:
import * as Sentry from "@sentry/react";
Sentry.init({
dsn: import.meta.env.VITE_SENTRY_DSN,
environment: import.meta.env.MODE,
integrations: [Sentry.browserTracingIntegration()],
tracesSampleRate: 0.1, // tune per traffic; 1.0 in dev
});
Node / Express — instrument.ts, required at the very top of the entrypoint
(import "./instrument"; must be the first import):
import * as Sentry from "@sentry/node";
Sentry.init({
dsn: process.env.SENTRY_DSN,
environment: process.env.NODE_ENV,
tracesSampleRate: 0.1,
});
Then, after routes are defined: Sentry.setupExpressErrorHandler(app);
NestJS — import ./instrument first in main.ts, then add Sentry's module:
// main.ts — FIRST line
import "./instrument";
// ...
// app.module.ts
import { SentryModule } from "@sentry/nestjs/setup";
@Module({ imports: [SentryModule.forRoot()] })
export class AppModule {}
Next.js — config lives in sentry.client.config.ts,
sentry.server.config.ts, sentry.edge.config.ts, and next.config.js is
wrapped with withSentryConfig. The wizard (Step 2) writes these; verify the DSN
is read from process.env.NEXT_PUBLIC_SENTRY_DSN / process.env.SENTRY_DSN.
React Native / Expo — wrap the root component:
import * as Sentry from "@sentry/react-native";
Sentry.init({
dsn: process.env.EXPO_PUBLIC_SENTRY_DSN,
tracesSampleRate: 0.2,
});
export default Sentry.wrap(App);
Python (Django/Flask/FastAPI/generic) — initialize at startup
(settings.py, app factory, or main module):
import os
import sentry_sdk
sentry_sdk.init(
dsn=os.environ["SENTRY_DSN"],
environment=os.environ.get("ENVIRONMENT", "production"),
traces_sample_rate=0.1,
send_default_pii=False,
)
Framework-specific integrations (e.g. DjangoIntegration, FastApiIntegration)
are auto-enabled by the matching extra installed in Step 2.
.env.example (with a placeholder) so the requirement is documented,
but keep the real value in .env/secrets and confirm .env is gitignored.NEXT_PUBLIC_SENTRY_DSN (Next.js), VITE_SENTRY_DSN (Vite),
EXPO_PUBLIC_SENTRY_DSN (Expo). Server-only code uses SENTRY_DSN.SENTRY_AUTH_TOKEN,
SENTRY_ORG, and SENTRY_PROJECT — these are build/CI secrets, not
shipped to the client.init runs; add the framework error handler where required (Express:
setupExpressErrorHandler; React: an error boundary via
Sentry.ErrorBoundary; NestJS: SentryModule). Use
Sentry.captureException(err) for caught-but-notable errors.tracesSampleRate (start ~0.1 in production,
1.0 in dev) and enable the framework tracing integration (browser tracing,
HTTP/DB auto-instrumentation on the server). Optionally add profiling on Node
via @sentry/profiling-node and profilesSampleRate.environment and (ideally) release so issues are grouped per deploy.Minified/transpiled traces are useless without source maps. Configure upload at build time:
withSentryConfig in next.config.js (the wizard sets
it up); ensure SENTRY_AUTH_TOKEN/SENTRY_ORG/SENTRY_PROJECT exist in CI.@sentry/vite-plugin, @sentry/webpack-plugin, etc.) with sourcemaps
upload enabled and the same auth env vars.sentry-cli sourcemaps upload (or the bundler plugin) in the release step.Sentry.init({ release }) so traces map to the right build.When adding custom span or log attributes, use the current stable Sentry semantic-convention key for that domain when one exists. Sentry conventions are aligned with OpenTelemetry in many domains, but Sentry's current convention is authoritative for data sent to Sentry. Consult only the relevant domain in the official convention reference, omit deprecated keys, and do not invent a second name for an established attribute. Keep values low-cardinality and never attach secrets, credentials, request bodies, or unnecessary personal data.
bun run build / bun run typecheck (or the project's equivalents).SENTRY_AUTH_TOKEN; route everything
through env/secrets and update .env.example.tracesSampleRate: 1.0 to
high-traffic production by default.