[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M75JDAB98TGRMS7D52YR6HT3":3,"skill-same:01M75JDAB98TGRMS7D52YR6HT3":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":15,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":6,"updatedAt":32,"install":33,"resources":46},"01M75JDAB98TGRMS7D52YR6HT3","sentry",null,"Use when the user asks to inspect Sentry issues or events, summarize recent production errors, or pull basic Sentry health data via the Sentry API; perform read-only queries with the bundled script and require `SENTRY_AUTH_TOKEN`.","agisota\u002Fold-one","agisota","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F121413592?v=4","01M75B4BRNT67EC1NDRT8QZEP2","01M75B4BS7QR9VP580MSCPTS3X",3,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: \"sentry\"\ndescription: \"Use when the user asks to inspect Sentry issues or events, summarize recent production errors, or pull basic Sentry health data via the Sentry API; perform read-only queries with the bundled script and require `SENTRY_AUTH_TOKEN`.\"\n---\n\n\n# Sentry (Read-only Observability)\n\n## Quick start\n\n- If not already authenticated, ask the user to provide a valid `SENTRY_AUTH_TOKEN` (read-only scopes such as `project:read`, `event:read`) or to log in and create one before running commands.\n- Set `SENTRY_AUTH_TOKEN` as an env var.\n- Optional defaults: `SENTRY_ORG`, `SENTRY_PROJECT`, `SENTRY_BASE_URL`.\n- Defaults: org\u002Fproject `{your-org}`\u002F`{your-project}`, time range `24h`, environment `prod`, limit 20 (max 50).\n- Always call the Sentry API (no heuristics, no caching).\n\nIf the token is missing, give the user these steps:\n1. Create a Sentry auth token: https:\u002F\u002Fsentry.io\u002Fsettings\u002Faccount\u002Fapi\u002Fauth-tokens\u002F\n2. Create a token with read-only scopes such as `project:read`, `event:read`, and `org:read`.\n3. Set `SENTRY_AUTH_TOKEN` as an environment variable in their system.\n4. Offer to guide them through setting the environment variable for their OS\u002Fshell if needed.\n- Never ask the user to paste the full token in chat. Ask them to set it locally and confirm when ready.\n\n## Core tasks (use bundled script)\n\nUse `scripts\u002Fsentry_api.py` for deterministic API calls. It handles pagination and retries once on transient errors.\n\n## Skill path (set once)\n\n```bash\nexport CODEX_HOME=\"${CODEX_HOME:-$HOME\u002F.codex}\"\nexport SENTRY_API=\"$CODEX_HOME\u002Fskills\u002Fsentry\u002Fscripts\u002Fsentry_api.py\"\n```\n\nUser-scoped skills install under `$CODEX_HOME\u002Fskills` (default: `~\u002F.codex\u002Fskills`).\n\n### 1) List issues (ordered by most recent)\n\n```bash\npython3 \"$SENTRY_API\" \\\n  list-issues \\\n  --org {your-org} \\\n  --project {your-project} \\\n  --environment prod \\\n  --time-range 24h \\\n  --limit 20 \\\n  --query \"is:unresolved\"\n```\n\n### 2) Resolve an issue short ID to issue ID\n\n```bash\npython3 \"$SENTRY_API\" \\\n  list-issues \\\n  --org {your-org} \\\n  --project {your-project} \\\n  --query \"ABC-123\" \\\n  --limit 1\n```\n\nUse the returned `id` for issue detail or events.\n\n### 3) Issue detail\n\n```bash\npython3 \"$SENTRY_API\" \\\n  issue-detail \\\n  1234567890\n```\n\n### 4) Issue events\n\n```bash\npython3 \"$SENTRY_API\" \\\n  issue-events \\\n  1234567890 \\\n  --limit 20\n```\n\n### 5) Event detail (no stack traces by default)\n\n```bash\npython3 \"$SENTRY_API\" \\\n  event-detail \\\n  --org {your-org} \\\n  --project {your-project} \\\n  abcdef1234567890\n```\n\n## API requirements\n\nAlways use these endpoints (GET only):\n\n- List issues: `\u002Fapi\u002F0\u002Fprojects\u002F{org_slug}\u002F{project_slug}\u002Fissues\u002F`\n- Issue detail: `\u002Fapi\u002F0\u002Fissues\u002F{issue_id}\u002F`\n- Events for issue: `\u002Fapi\u002F0\u002Fissues\u002F{issue_id}\u002Fevents\u002F`\n- Event detail: `\u002Fapi\u002F0\u002Fprojects\u002F{org_slug}\u002F{project_slug}\u002Fevents\u002F{event_id}\u002F`\n\n## Inputs and defaults\n\n- `org_slug`, `project_slug`: default to `{your-org}`\u002F`{your-project}` (avoid non-prod orgs).\n- `time_range`: default `24h` (pass as `statsPeriod`).\n- `environment`: default `prod`.\n- `limit`: default 20, max 50 (paginate until limit reached).\n- `search_query`: optional `query` parameter.\n- `issue_short_id`: resolve via list-issues query first.\n\n## Output formatting rules\n\n- Issue list: show title, short_id, status, first_seen, last_seen, count, environments, top_tags; order by most recent.\n- Event detail: include culprit, timestamp, environment, release, url.\n- If no results, state explicitly.\n- Redact PII in output (emails, IPs). Do not print raw stack traces.\n- Never echo auth tokens.\n\n## Golden test inputs\n\n- Org: `{your-org}`\n- Project: `{your-project}`\n- Issue short ID: `{ABC-123}`\n\nExample prompt: “List the top 10 open issues for prod in the last 24h.”\nExpected: ordered list with titles, short IDs, counts, last seen.\n","# Sentry (Read-only Observability)\n\n## Quick start\n\n- If not already authenticated, ask the user to provide a valid `SENTRY_AUTH_TOKEN` (read-only scopes such as `project:read`, `event:read`) or to log in and create one before running commands.\n- Set `SENTRY_AUTH_TOKEN` as an env var.\n- Optional defaults: `SENTRY_ORG`, `SENTRY_PROJECT`, `SENTRY_BASE_URL`.\n- Defaults: org\u002Fproject `{your-org}`\u002F`{your-project}`, time range `24h`, environment `prod`, limit 20 (max 50).\n- Always call the Sentry API (no heuristics, no caching).\n\nIf the token is missing, give the user these steps:\n1. Create a Sentry auth token: https:\u002F\u002Fsentry.io\u002Fsettings\u002Faccount\u002Fapi\u002Fauth-tokens\u002F\n2. Create a token with read-only scopes such as `project:read`, `event:read`, and `org:read`.\n3. Set `SENTRY_AUTH_TOKEN` as an environment variable in their system.\n4. Offer to guide them through setting the environment variable for their OS\u002Fshell if needed.\n- Never ask the user to paste the full token in chat. Ask them to set it locally and confirm when ready.\n\n## Core tasks (use bundled script)\n\nUse `scripts\u002Fsentry_api.py` for deterministic API calls. It handles pagination and retries once on transient errors.\n\n## Skill path (set once)\n\n```bash\nexport CODEX_HOME=\"${CODEX_HOME:-$HOME\u002F.codex}\"\nexport SENTRY_API=\"$CODEX_HOME\u002Fskills\u002Fsentry\u002Fscripts\u002Fsentry_api.py\"\n```\n\nUser-scoped skills install under `$CODEX_HOME\u002Fskills` (default: `~\u002F.codex\u002Fskills`).\n\n### 1) List issues (ordered by most recent)\n\n```bash\npython3 \"$SENTRY_API\" \\\n  list-issues \\\n  --org {your-org} \\\n  --project {your-project} \\\n  --environment prod \\\n  --time-range 24h \\\n  --limit 20 \\\n  --query \"is:unresolved\"\n```\n\n### 2) Resolve an issue short ID to issue ID\n\n```bash\npython3 \"$SENTRY_API\" \\\n  list-issues \\\n  --org {your-org} \\\n  --project {your-project} \\\n  --query \"ABC-123\" \\\n  --limit 1\n```\n\nUse the returned `id` for issue detail or events.\n\n### 3) Issue detail\n\n```bash\npython3 \"$SENTRY_API\" \\\n  issue-detail \\\n  1234567890\n```\n\n### 4) Issue events\n\n```bash\npython3 \"$SENTRY_API\" \\\n  issue-events \\\n  1234567890 \\\n  --limit 20\n```\n\n### 5) Event detail (no stack traces by default)\n\n```bash\npython3 \"$SENTRY_API\" \\\n  event-detail \\\n  --org {your-org} \\\n  --project {your-project} \\\n  abcdef1234567890\n```\n\n## API requirements\n\nAlways use these endpoints (GET only):\n\n- List issues: `\u002Fapi\u002F0\u002Fprojects\u002F{org_slug}\u002F{project_slug}\u002Fissues\u002F`\n- Issue detail: `\u002Fapi\u002F0\u002Fissues\u002F{issue_id}\u002F`\n- Events for issue: `\u002Fapi\u002F0\u002Fissues\u002F{issue_id}\u002Fevents\u002F`\n- Event detail: `\u002Fapi\u002F0\u002Fprojects\u002F{org_slug}\u002F{project_slug}\u002Fevents\u002F{event_id}\u002F`\n\n## Inputs and defaults\n\n- `org_slug`, `project_slug`: default to `{your-org}`\u002F`{your-project}` (avoid non-prod orgs).\n- `time_range`: default `24h` (pass as `statsPeriod`).\n- `environment`: default `prod`.\n- `limit`: default 20, max 50 (paginate until limit reached).\n- `search_query`: optional `query` parameter.\n- `issue_short_id`: resolve via list-issues query first.\n\n## Output formatting rules\n\n- Issue list: show title, short_id, status, first_seen, last_seen, count, environments, top_tags; order by most recent.\n- Event detail: include culprit, timestamp, environment, release, url.\n- If no results, state explicitly.\n- Redact PII in output (emails, IPs). Do not print raw stack traces.\n- Never echo auth tokens.\n\n## Golden test inputs\n\n- Org: `{your-org}`\n- Project: `{your-project}`\n- Issue short ID: `{ABC-123}`\n\nExample prompt: “List the top 10 open issues for prod in the last 24h.”\nExpected: ordered list with titles, short IDs, counts, last seen.\n",{"name":5,"description":7},"main","f37de8f681f0c0ca0e0ebab6e5fddf764ca7553d","skills\u002Fsentry",1,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one","https:\u002F\u002Fagisota.github.io\u002Fold-one\u002F","https:\u002F\u002Fgithub.com\u002Fagisota","pzd.world","2026-07-04 22:32:06",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add agisota\u002Fold-one --skill sentry",{"tool":39,"command":40},"bunx","bunx skills add agisota\u002Fold-one --skill sentry",{"tool":42,"command":43},"pnpm","pnpm dlx skills add agisota\u002Fold-one --skill sentry","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002FSKILL.md",true,[47,53,57,63,67,72],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},".counter.json","REFERENCE","参考文档",50,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002F.counter.json",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"agents\u002Fopenai.yaml",316,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002Fagents\u002Fopenai.yaml",{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"assets\u002Fsentry-small.svg","ASSET","资产文件",661,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002Fassets\u002Fsentry-small.svg",{"path":64,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":65,"sourceHtmlUrl":66},"assets\u002Fsentry.png",1998,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002Fassets\u002Fsentry.png",{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":15},"LICENSE.txt","LICENSE","许可证",10776,{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"scripts\u002Fsentry_api.py","SCRIPT","脚本",7289,"https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fsentry\u002Fscripts\u002Fsentry_api.py",[79,87,94,102,109,116],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":83,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M75KRGZWQWE9JDBS6RX42NWV","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","MIT","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fzoom-out\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":83,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M75KRCZHKE0ZYAQFFYHS0YNP","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fzeroize-audit\u002FSKILL.md",[],[],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":98,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":19},"01M75KR94KYQ30DTE1P9WNDAE0","yeet","Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fyeet\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fyeet\u002FSKILL.md",[],[],{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":83,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":19},"01M75KR3H13YJ9QHMD49818FA1","yara-rule-authoring","Guides authoring of high-quality YARA-X detection rules for malware identification. Use when writing, reviewing, or optimizing YARA rules. Covers naming conventions, string selection, performance optimization, migration from legacy YARA, and false positive reduction. Triggers on: YARA, YARA-X, malware detection, threat hunting, IOC, signature, crx module, dex module.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fyara-rule-authoring\u002FSKILL.md",[],[],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":83,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":19},"01M75KQMPY8A4Y8XTDD2DT0M9T","x-twitter-growth","X\u002FTwitter growth engine for building audience, crafting viral content, and analyzing engagement. Use when the user wants to grow on X\u002FTwitter, write tweets or threads, analyze their X profile, research competitors on X, plan a posting strategy, or optimize engagement. Complements social-content (generic multi-platform) with X-specific depth: algorithm mechanics, thread engineering, reply strategy, profile optimization, and competitive intelligence via web search.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fx-twitter-growth\u002FSKILL.md",[],[],{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":83,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":19},"01M75KQHNZ0ANZNJGZY6M8MDAK","x-api","X\u002FTwitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.","https:\u002F\u002Fgithub.com\u002Fagisota\u002Fold-one\u002Fblob\u002Fmain\u002Fskills\u002Fx-api\u002FSKILL.md",[],[]]