{
  "schemaVersion": "1.0",
  "item": {
    "slug": "native-sentry",
    "name": "Native Sentry",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/codeninja23/native-sentry",
    "canonicalUrl": "https://clawhub.ai/codeninja23/native-sentry",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/native-sentry",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=native-sentry",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/sentry_api.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "native-sentry",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T00:08:09.766Z",
      "expiresAt": "2026-05-13T00:08:09.766Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=native-sentry",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=native-sentry",
        "contentDisposition": "attachment; filename=\"native-sentry-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "native-sentry"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/native-sentry"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/native-sentry",
    "agentPageUrl": "https://openagent3.xyz/skills/native-sentry/agent",
    "manifestUrl": "https://openagent3.xyz/skills/native-sentry/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/native-sentry/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Sentry (Read-only)",
        "body": "Read production errors and issues from Sentry."
      },
      {
        "title": "Setup",
        "body": "# Check token is set (does not print the value)\n[ -n \"$SENTRY_AUTH_TOKEN\" ] && echo \"SENTRY_AUTH_TOKEN: set\" || echo \"SENTRY_AUTH_TOKEN: MISSING\"\necho \"ORG=${SENTRY_ORG:-not set}\"\necho \"PROJECT=${SENTRY_PROJECT:-not set}\"\n\nIf SENTRY_AUTH_TOKEN is missing:\n\nGo to https://sentry.io/settings/account/api/auth-tokens/\nCreate a token with scopes: project:read, event:read, org:read\nSet SENTRY_AUTH_TOKEN in your environment\n\nSet optional defaults to avoid passing flags every time:\n\nexport SENTRY_ORG=your-org-slug\nexport SENTRY_PROJECT=your-project-slug"
      },
      {
        "title": "Script path",
        "body": "SKILL_DIR=\"$(python3 -c \"import os; print(os.path.dirname(os.path.realpath('$0')))\" 2>/dev/null || echo \"$HOME/.claude/skills/sentry\")\"\nSENTRY_API=\"$SKILL_DIR/scripts/sentry_api.py\""
      },
      {
        "title": "List recent issues",
        "body": "python3 \"$SENTRY_API\" list-issues \\\n  --org \"$SENTRY_ORG\" \\\n  --project \"$SENTRY_PROJECT\" \\\n  --time-range 24h \\\n  --environment prod \\\n  --limit 20 \\\n  --query \"is:unresolved\""
      },
      {
        "title": "Get issue detail",
        "body": "python3 \"$SENTRY_API\" issue-detail ISSUE_ID"
      },
      {
        "title": "Get events for an issue",
        "body": "python3 \"$SENTRY_API\" issue-events ISSUE_ID --limit 10"
      },
      {
        "title": "Get event detail (no stack traces by default)",
        "body": "python3 \"$SENTRY_API\" event-detail \\\n  --org \"$SENTRY_ORG\" \\\n  --project \"$SENTRY_PROJECT\" \\\n  EVENT_ID\n\nAdd --include-entries to include stack traces."
      },
      {
        "title": "Resolve a short ID (e.g. ABC-123) to issue ID",
        "body": "python3 \"$SENTRY_API\" list-issues \\\n  --org \"$SENTRY_ORG\" \\\n  --project \"$SENTRY_PROJECT\" \\\n  --query \"ABC-123\" \\\n  --limit 1"
      },
      {
        "title": "Parameters",
        "body": "FlagDefaultDescription--org$SENTRY_ORGOrg slug--project$SENTRY_PROJECTProject slug--time-range24hStats period (e.g. 7d, 30d)--environmentprodEnvironment filter--limit20Max results (max 50)--querySentry search query--base-urlhttps://sentry.ioFor self-hosted Sentry--no-redactDisable PII redaction — avoid in shared/logged environments"
      },
      {
        "title": "Notes",
        "body": "PII (emails, IPs) is redacted by default\nStack traces are excluded from event detail by default — add --include-entries only when you need them and trust the environment\n--no-redact disables PII redaction — avoid in shared or logged environments\nFor self-hosted Sentry, set SENTRY_BASE_URL or use --base-url"
      }
    ],
    "body": "Sentry (Read-only)\n\nRead production errors and issues from Sentry.\n\nSetup\n# Check token is set (does not print the value)\n[ -n \"$SENTRY_AUTH_TOKEN\" ] && echo \"SENTRY_AUTH_TOKEN: set\" || echo \"SENTRY_AUTH_TOKEN: MISSING\"\necho \"ORG=${SENTRY_ORG:-not set}\"\necho \"PROJECT=${SENTRY_PROJECT:-not set}\"\n\n\nIf SENTRY_AUTH_TOKEN is missing:\n\nGo to https://sentry.io/settings/account/api/auth-tokens/\nCreate a token with scopes: project:read, event:read, org:read\nSet SENTRY_AUTH_TOKEN in your environment\n\nSet optional defaults to avoid passing flags every time:\n\nexport SENTRY_ORG=your-org-slug\nexport SENTRY_PROJECT=your-project-slug\n\nScript path\nSKILL_DIR=\"$(python3 -c \"import os; print(os.path.dirname(os.path.realpath('$0')))\" 2>/dev/null || echo \"$HOME/.claude/skills/sentry\")\"\nSENTRY_API=\"$SKILL_DIR/scripts/sentry_api.py\"\n\nCommands\nList recent issues\npython3 \"$SENTRY_API\" list-issues \\\n  --org \"$SENTRY_ORG\" \\\n  --project \"$SENTRY_PROJECT\" \\\n  --time-range 24h \\\n  --environment prod \\\n  --limit 20 \\\n  --query \"is:unresolved\"\n\nGet issue detail\npython3 \"$SENTRY_API\" issue-detail ISSUE_ID\n\nGet events for an issue\npython3 \"$SENTRY_API\" issue-events ISSUE_ID --limit 10\n\nGet event detail (no stack traces by default)\npython3 \"$SENTRY_API\" event-detail \\\n  --org \"$SENTRY_ORG\" \\\n  --project \"$SENTRY_PROJECT\" \\\n  EVENT_ID\n\n\nAdd --include-entries to include stack traces.\n\nResolve a short ID (e.g. ABC-123) to issue ID\npython3 \"$SENTRY_API\" list-issues \\\n  --org \"$SENTRY_ORG\" \\\n  --project \"$SENTRY_PROJECT\" \\\n  --query \"ABC-123\" \\\n  --limit 1\n\nParameters\nFlag\tDefault\tDescription\n--org\t$SENTRY_ORG\tOrg slug\n--project\t$SENTRY_PROJECT\tProject slug\n--time-range\t24h\tStats period (e.g. 7d, 30d)\n--environment\tprod\tEnvironment filter\n--limit\t20\tMax results (max 50)\n--query\t\tSentry search query\n--base-url\thttps://sentry.io\tFor self-hosted Sentry\n--no-redact\t\tDisable PII redaction — avoid in shared/logged environments\nNotes\nPII (emails, IPs) is redacted by default\nStack traces are excluded from event detail by default — add --include-entries only when you need them and trust the environment\n--no-redact disables PII redaction — avoid in shared or logged environments\nFor self-hosted Sentry, set SENTRY_BASE_URL or use --base-url"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/codeninja23/native-sentry",
    "publisherUrl": "https://clawhub.ai/codeninja23/native-sentry",
    "owner": "codeninja23",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/native-sentry",
    "downloadUrl": "https://openagent3.xyz/downloads/native-sentry",
    "agentUrl": "https://openagent3.xyz/skills/native-sentry/agent",
    "manifestUrl": "https://openagent3.xyz/skills/native-sentry/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/native-sentry/agent.md"
  }
}