关于 sentry
用于只读查询 Sentry 问题和事件详情的技能,通过 Sentry API 获取数据。可按组织、项目、时间范围和查询条件筛选,辅助排查问题。
主要功能
- 01列出并筛选问题
- 02获取问题详情
- 03列出问题事件
- 04获取事件详情
- 05分页并重试暂时性错误
适用场景
- 01查看生产环境中未解决的问题
- 02通过短 ID 查找问题
- 03查看事件信息而不输出原始堆栈跟踪
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ letta-ai/ skills --skill sentry安装后在 Claude Code 中输入/sentry确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.txtagents/openai.yamlassets/sentry-small.svgscripts/sentry_api.py详细介绍
Sentry(只读可观测性)
快速开始
- 如果尚未通过身份验证,请让用户提供有效的
SENTRY_AUTH_TOKEN(只读权限范围,例如project:read、event:read),或先登录并创建令牌,再运行命令。 - 将
SENTRY_AUTH_TOKEN设置为环境变量。 - 可选默认值:
SENTRY_ORG、SENTRY_PROJECT、SENTRY_BASE_URL。 - 默认值:组织/项目
{your-org}/{your-project},时间范围24h,环境prod,数量上限为 20(最多 50)。 - 始终调用 Sentry API(不使用启发式方法,也不缓存)。
如果缺少令牌,请向用户提供以下步骤:
- 创建 Sentry 身份验证令牌:https://sentry.io/settings/account/api/auth-tokens/
- 创建具有只读权限范围的令牌,例如
project:read、event:read和org:read。 - 在其系统中将
SENTRY_AUTH_TOKEN设置为环境变量。 - 如有需要,主动指导他们为其操作系统/Shell 设置环境变量。
- 切勿要求用户在聊天中粘贴完整令牌。请他们在本地设置令牌,并在准备就绪后确认。
核心任务(使用捆绑脚本)
使用 scripts/sentry_api.py 执行确定性的 API 调用。该脚本会处理分页,并在遇到临时错误时重试一次。
技能路径(设置一次)
# Set to the directory containing this SKILL.md
export SENTRY_API="<path-to-skill>/scripts/sentry_api.py"
将 <path-to-skill> 替换为实际的技能安装目录(例如 .skills/sentry 或 ~/.letta/skills/sentry)。
1)列出问题(按最近时间排序)
python3 "$SENTRY_API" \
list-issues \
--org {your-org} \
--project {your-project} \
--environment prod \
--time-range 24h \
--limit 20 \
--query "is:unresolved"
2)将问题短 ID 转换为问题 ID
python3 "$SENTRY_API" \
list-issues \
--org {your-org} \
--project {your-project} \
--query "ABC-123" \
--limit 1
使用返回的 id 获取问题详情或事件。
3)问题详情
python3 "$SENTRY_API" \
issue-detail \
1234567890
4)问题事件
python3 "$SENTRY_API" \
issue-events \
1234567890 \
--limit 20
5)事件详情(默认不包含堆栈跟踪)
python3 "$SENTRY_API" \
event-detail \
--org {your-org} \
--project {your-project} \
abcdef1234567890
API 要求
始终使用以下端点(仅 GET):
- 列出问题:
/api/0/projects/{org_slug}/{project_slug}/issues/ - 问题详情:
/api/0/issues/{issue_id}/ - 问题事件:
/api/0/issues/{issue_id}/events/ - 事件详情:
/api/0/projects/{org_slug}/{project_slug}/events/{event_id}/
输入和默认值
org_slug、project_slug:默认值为{your-org}/{your-project}(避免使用非生产环境的组织)。time_range:默认值为24h(作为statsPeriod传入)。environment:默认值为prod。limit:默认值为 20,最多 50(持续分页,直到达到数量上限)。search_query:可选的query参数。issue_short_id:先通过列出问题的查询进行解析。
输出格式规则
- 问题列表:显示标题、短 ID、状态、首次出现时间、最近出现时间、次数、环境和热门标签;按最近时间排序。
- 事件详情:包含 culprit、时间戳、环境、版本和 URL。
- 如果没有结果,请明确说明。
- 对输出中的个人身份信息(PII)进行脱敏(邮箱、IP 地址)。不要输出原始堆栈跟踪。
- 切勿回显身份验证令牌。
黄金测试输入
- 组织:
{your-org} - 项目:
{your-project} - 问题短 ID:
{ABC-123}
示例提示词:“列出过去 24h 内 prod 环境中排名前 10 的未解决问题。” 预期:按顺序列出标题、短 ID、次数和最近出现时间。
评论
支持 Markdown