关于 warden-service
warden-service 是用于查询 Warden Service 的技能,使用只读个人令牌生成有依据且范围受限的答复。它规范 API 调用,并要求遵循文档路由和令牌权限。
主要功能
- 01只读 API 查询
- 02限制运行和发现范围
- 03基于游标翻页
- 04令牌安全处理
- 05报告路由和筛选条件
适用场景
- 01检查某仓库的发现
- 02查看指定时间范围内的运行
- 03按严重级别或技能筛选发现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ getsentry/ warden --skill warden-service安装后在 Claude Code 中输入/warden-service确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
spec.mdevals/cases/diagnose-api-errors.yamlestablish-safe-api-access.yamlfollow-bounded-pagination.yamlselect-documented-read-routes-and-filters.yamlsend-a-safe-authenticated-request.yamlsummarize-api-evidence.yamlreferences/read-api.md详细介绍
Warden Service
使用只读个人令牌查询 Warden Service,并返回有界、基于证据的回答。
工作流
- 确认 Warden Service 的源地址,并确认已设置
WARDEN_PAT,但不要显示其值。 - 如果缺少令牌,请引导用户前往 Warden Service 控制面板中的 API access。让他们创建个人令牌并将其导出为
WARDEN_PAT;绝不要让他们把令牌粘贴到聊天或命令字面量中。 - 阅读
references/read-api.md,根据问题选择准确的路由、支持的筛选条件、分页行为和响应字段。 - 将请求范围缩小到用户指定的仓库、时间范围、技能、严重性或其他范围。对运行和发现结果使用有界的
limit。 - 使用从环境中读取的令牌发送
GET请求。对每个查询值进行 URL 编码。 - 仅在需要更多结果时才跟进
nextCursor。保留所有原始筛选条件,并在满足请求范围或响应中不再包含nextCursor时停止。 - 总结相关的 JSON 字段。说明使用的路由和筛选条件,并区分空结果与请求失败。
请求模式
使用 --get 和 --data-urlencode,而不要手动拼接查询字符串:
curl --fail-with-body --silent --show-error --get \
-H 'Accept: application/json' \
-H "Authorization: Bearer ${WARDEN_PAT}" \
--data-urlencode 'severity=high' \
--data-urlencode 'skill=security-review' \
--data-urlencode 'limit=30' \
"${WARDEN_SERVICE_URL%/}/api/v1/findings"
将令牌保存在 WARDEN_PAT 中。不要启用可能泄露授权标头的详细或跟踪输出。
分页
只有 /api/v1/runs 和 /api/v1/findings 使用游标分页。将 nextCursor 视为不透明值,并通过 URL 编码将其原样传回:
curl --fail-with-body --silent --show-error --get \
-H 'Accept: application/json' \
-H "Authorization: Bearer ${WARDEN_PAT}" \
--data-urlencode "cursor=${NEXT_CURSOR}" \
--data-urlencode 'severity=high' \
--data-urlencode 'limit=100' \
"${WARDEN_SERVICE_URL%/}/api/v1/findings"
错误
结合使用 HTTP 状态码与 JSON 中的 error.code 和 error.message:
| 状态码 | 含义 | 操作 |
|---|---|---|
| 400 | 查询筛选条件无效 | 更正参数名称、值或 RFC 3339 时间戳。 |
| 401 | 缺少、无效或已过期的身份验证 | 验证源地址,并通过 API access 更换个人令牌。 |
| 403 | 角色权限不足或个人令牌操作不允许 | 保持请求只读,并限定在令牌的仓库范围内。 |
| 404 | 路由/资源未知或未获授权 | 验证文档中记录的路由或 ID,不要假定资源存在。 |
| 429 | 请求过于频繁,受到速率限制 | 等待后再重试;不要频繁循环重试。 |
边界
- 个人令牌仅用于
GET或HEAD。绝不要使用它们尝试执行POST、PUT、PATCH或DELETE。 - 绝不要泄露、记录、持久化或嵌入令牌作为命令字面量,也不要要求用户粘贴令牌。
- 遵守令牌的租户、角色和仓库限制。绝不要尝试绕过这些限制。
- 仅使用
references/read-api.md中记录的路由、筛选条件和响应字段。 - 仅获取并显示满足用户所述范围所需的数据。只有在用户明确请求导出时,才使用导出路由。
- 如果只读 API 无法回答问题,请如实说明。不要改用数据摄取、记忆回溯、令牌管理、保留或删除请求。
评论
支持 Markdown