[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GZSSAV8VJJSRCVCQBXGGY":3,"skill-same:01M71GZSSAV8VJJSRCVCQBXGGY":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":22,"linkOnly":23,"markdownContent":24,"markdownBody":25,"frontMatter":26,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M71GZSSAV8VJJSRCVCQBXGGY","metrics",null,"System metrics, telemetry, and performance monitoring","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--metrics\u002FSKILL.md",[],[5,18,19,20,21],"performance","system","telemetry","monitoring","2026-11-10 10:12:30",false,"---\nname: metrics\ndescription: \"System metrics, telemetry, and performance monitoring\"\nemoji: \"📈\"\n---\n\n# Metrics - Complete API Reference\n\nMonitor system health, track performance metrics, and analyze telemetry data.\n\n---\n\n## Chat Commands\n\n### System Metrics\n\n```\n\u002Fmetrics                               Show current metrics\n\u002Fmetrics system                        CPU, memory, latency\n\u002Fmetrics api                           API performance stats\n\u002Fmetrics ws                            WebSocket health\n```\n\n### Trading Metrics\n\n```\n\u002Fmetrics trades                        Trade execution stats\n\u002Fmetrics fills                         Fill rate metrics\n\u002Fmetrics latency                       Order latency stats\n\u002Fmetrics errors                        Error rates\n```\n\n### Custom Metrics\n\n```\n\u002Fmetrics track \u003Cname> \u003Cvalue>          Track custom metric\n\u002Fmetrics query \u003Cname>                  Query metric history\n\u002Fmetrics alert \u003Cname> > 100            Set metric alert\n```\n\n### Export & Reports\n\n```\n\u002Fmetrics export csv                    Export to CSV\n\u002Fmetrics report daily                  Generate daily report\n\u002Fmetrics dashboard                     Open metrics dashboard\n```\n\n---\n\n## TypeScript API Reference\n\n### Create Metrics Service\n\n```typescript\nimport { createMetricsService } from 'clodds\u002Fmetrics';\n\nconst metrics = createMetricsService({\n  \u002F\u002F Collection\n  collectInterval: 5000,  \u002F\u002F ms\n  retention: '30d',\n\n  \u002F\u002F Storage\n  storage: 'sqlite',\n  dbPath: '.\u002Fmetrics.db',\n\n  \u002F\u002F Export\n  enablePrometheus: true,\n  prometheusPort: 9090,\n});\n\n\u002F\u002F Start collection\nawait metrics.start();\n```\n\n### System Metrics\n\n```typescript\nconst system = await metrics.getSystemMetrics();\n\nconsole.log('=== System Health ===');\nconsole.log(`CPU Usage: ${system.cpuUsage}%`);\nconsole.log(`Memory: ${system.memoryUsed}MB \u002F ${system.memoryTotal}MB`);\nconsole.log(`Uptime: ${system.uptimeHours}h`);\nconsole.log(`Active connections: ${system.activeConnections}`);\nconsole.log(`Event loop lag: ${system.eventLoopLag}ms`);\n```\n\n### API Metrics\n\n```typescript\nconst api = await metrics.getApiMetrics();\n\nconsole.log('=== API Performance ===');\nconsole.log(`Total requests: ${api.totalRequests}`);\nconsole.log(`Requests\u002Fsec: ${api.requestsPerSecond}`);\nconsole.log(`Avg latency: ${api.avgLatency}ms`);\nconsole.log(`P50 latency: ${api.p50Latency}ms`);\nconsole.log(`P95 latency: ${api.p95Latency}ms`);\nconsole.log(`P99 latency: ${api.p99Latency}ms`);\nconsole.log(`Error rate: ${api.errorRate}%`);\n\nconsole.log('\\nBy Endpoint:');\nfor (const endpoint of api.byEndpoint) {\n  console.log(`  ${endpoint.path}: ${endpoint.avgLatency}ms (${endpoint.calls} calls)`);\n}\n```\n\n### WebSocket Metrics\n\n```typescript\nconst ws = await metrics.getWebSocketMetrics();\n\nconsole.log('=== WebSocket Health ===');\nconsole.log(`Active connections: ${ws.activeConnections}`);\nconsole.log(`Messages\u002Fsec: ${ws.messagesPerSecond}`);\nconsole.log(`Avg message size: ${ws.avgMessageSize} bytes`);\nconsole.log(`Reconnections: ${ws.reconnections}`);\nconsole.log(`Dropped messages: ${ws.droppedMessages}`);\n\nconsole.log('\\nBy Feed:');\nfor (const feed of ws.byFeed) {\n  console.log(`  ${feed.name}: ${feed.messagesPerSecond}\u002Fs, ${feed.latency}ms lag`);\n}\n```\n\n### Trade Execution Metrics\n\n```typescript\nconst trades = await metrics.getTradeMetrics();\n\nconsole.log('=== Trade Execution ===');\nconsole.log(`Total orders: ${trades.totalOrders}`);\nconsole.log(`Fill rate: ${trades.fillRate}%`);\nconsole.log(`Partial fills: ${trades.partialFillRate}%`);\nconsole.log(`Rejections: ${trades.rejectionRate}%`);\nconsole.log(`Avg fill time: ${trades.avgFillTime}ms`);\nconsole.log(`Avg slippage: ${trades.avgSlippage}%`);\n\nconsole.log('\\nBy Platform:');\nfor (const platform of trades.byPlatform) {\n  console.log(`  ${platform.name}:`);\n  console.log(`    Fill rate: ${platform.fillRate}%`);\n  console.log(`    Avg latency: ${platform.avgLatency}ms`);\n}\n```\n\n### Latency Breakdown\n\n```typescript\nconst latency = await metrics.getLatencyBreakdown();\n\nconsole.log('=== Latency Breakdown ===');\nconsole.log(`Total order latency: ${latency.total}ms`);\nconsole.log(`  Signal processing: ${latency.signalProcessing}ms`);\nconsole.log(`  Order construction: ${latency.orderConstruction}ms`);\nconsole.log(`  Network round-trip: ${latency.networkRoundTrip}ms`);\nconsole.log(`  Exchange processing: ${latency.exchangeProcessing}ms`);\nconsole.log(`  Confirmation: ${latency.confirmation}ms`);\n```\n\n### Error Metrics\n\n```typescript\nconst errors = await metrics.getErrorMetrics();\n\nconsole.log('=== Error Rates ===');\nconsole.log(`Total errors: ${errors.totalErrors}`);\nconsole.log(`Error rate: ${errors.errorRate}%`);\nconsole.log(`Errors\u002Fhour: ${errors.errorsPerHour}`);\n\nconsole.log('\\nBy Type:');\nfor (const type of errors.byType) {\n  console.log(`  ${type.name}: ${type.count} (${type.percentage}%)`);\n}\n\nconsole.log('\\nBy Platform:');\nfor (const platform of errors.byPlatform) {\n  console.log(`  ${platform.name}: ${platform.errorRate}%`);\n}\n```\n\n### Custom Metrics\n\n```typescript\n\u002F\u002F Track custom metric\nmetrics.track('edge_detected', 1, {\n  market: 'trump-2028',\n  edgeSize: 0.05,\n});\n\n\u002F\u002F Increment counter\nmetrics.increment('trades_executed');\n\n\u002F\u002F Set gauge\nmetrics.gauge('active_positions', 5);\n\n\u002F\u002F Record timing\nconst timer = metrics.startTimer('order_execution');\n\u002F\u002F ... execute order ...\ntimer.end();\n\n\u002F\u002F Histogram\nmetrics.histogram('slippage', 0.003, {\n  platform: 'polymarket',\n});\n```\n\n### Query Metrics\n\n```typescript\nconst query = await metrics.query({\n  metric: 'edge_detected',\n  period: '7d',\n  aggregation: 'sum',\n  groupBy: 'market',\n});\n\nconsole.log('Edge Detection by Market:');\nfor (const row of query.results) {\n  console.log(`  ${row.market}: ${row.value} detections`);\n}\n```\n\n### Metric Alerts\n\n```typescript\n\u002F\u002F Set alert threshold\nmetrics.setAlert({\n  metric: 'error_rate',\n  condition: '>',\n  threshold: 5,  \u002F\u002F > 5% error rate\n  window: '5m',\n  action: 'notify',\n});\n\nmetrics.setAlert({\n  metric: 'latency_p99',\n  condition: '>',\n  threshold: 1000,  \u002F\u002F > 1000ms\n  window: '1m',\n  action: 'escalate',\n});\n\n\u002F\u002F Alert handlers\nmetrics.on('alert', (alert) => {\n  console.log(`🚨 Alert: ${alert.metric} ${alert.condition} ${alert.threshold}`);\n  console.log(`  Current value: ${alert.currentValue}`);\n});\n```\n\n### Export Metrics\n\n```typescript\n\u002F\u002F Export to CSV\nawait metrics.export({\n  format: 'csv',\n  metrics: ['api_latency', 'trade_fill_rate', 'error_rate'],\n  period: '30d',\n  outputPath: '.\u002Fmetrics-export.csv',\n});\n\n\u002F\u002F Export to Prometheus\nconst prometheusFormat = metrics.toPrometheus();\n\n\u002F\u002F Export to JSON\nconst jsonMetrics = await metrics.toJSON({\n  period: '24h',\n});\n```\n\n### Generate Reports\n\n```typescript\nconst report = await metrics.generateReport({\n  type: 'daily',\n  include: ['summary', 'api', 'trades', 'errors'],\n});\n\nconsole.log('=== Daily Metrics Report ===');\nconsole.log(`Date: ${report.date}`);\nconsole.log(`\\nSummary:`);\nconsole.log(`  Uptime: ${report.summary.uptime}%`);\nconsole.log(`  Total requests: ${report.summary.totalRequests}`);\nconsole.log(`  Total trades: ${report.summary.totalTrades}`);\nconsole.log(`  Error rate: ${report.summary.errorRate}%`);\nconsole.log(`\\nHighlights:`);\nfor (const highlight of report.highlights) {\n  console.log(`  - ${highlight}`);\n}\n```\n\n### Real-time Streaming\n\n```typescript\n\u002F\u002F Stream metrics in real-time\nconst stream = metrics.stream(['cpu', 'memory', 'latency']);\n\nstream.on('data', (data) => {\n  console.log(`CPU: ${data.cpu}%, Memory: ${data.memory}MB, Latency: ${data.latency}ms`);\n});\n\n\u002F\u002F Stop streaming\nstream.stop();\n```\n\n---\n\n## Metric Types\n\n| Type | Description | Example |\n|------|-------------|---------|\n| **Counter** | Monotonic increasing | `trades_total` |\n| **Gauge** | Point-in-time value | `active_positions` |\n| **Histogram** | Distribution | `latency_ms` |\n| **Timer** | Duration measurement | `order_execution_time` |\n\n---\n\n## Built-in Metrics\n\n| Category | Metrics |\n|----------|---------|\n| **System** | cpu_usage, memory_used, uptime, connections |\n| **API** | request_count, latency_p50\u002Fp95\u002Fp99, error_rate |\n| **WebSocket** | messages_per_sec, lag, reconnections |\n| **Trades** | orders_total, fill_rate, slippage, execution_time |\n| **Errors** | error_count, error_rate_by_type |\n\n---\n\n## Best Practices\n\n1. **Monitor latency percentiles** — P99 matters more than average\n2. **Set alerts proactively** — Catch issues before users notice\n3. **Track custom metrics** — Business-specific KPIs\n4. **Review daily reports** — Spot trends early\n5. **Export for analysis** — Use external tools for deep dives\n","# Metrics - Complete API Reference\n\nMonitor system health, track performance metrics, and analyze telemetry data.\n\n---\n\n## Chat Commands\n\n### System Metrics\n\n```\n\u002Fmetrics                               Show current metrics\n\u002Fmetrics system                        CPU, memory, latency\n\u002Fmetrics api                           API performance stats\n\u002Fmetrics ws                            WebSocket health\n```\n\n### Trading Metrics\n\n```\n\u002Fmetrics trades                        Trade execution stats\n\u002Fmetrics fills                         Fill rate metrics\n\u002Fmetrics latency                       Order latency stats\n\u002Fmetrics errors                        Error rates\n```\n\n### Custom Metrics\n\n```\n\u002Fmetrics track \u003Cname> \u003Cvalue>          Track custom metric\n\u002Fmetrics query \u003Cname>                  Query metric history\n\u002Fmetrics alert \u003Cname> > 100            Set metric alert\n```\n\n### Export & Reports\n\n```\n\u002Fmetrics export csv                    Export to CSV\n\u002Fmetrics report daily                  Generate daily report\n\u002Fmetrics dashboard                     Open metrics dashboard\n```\n\n---\n\n## TypeScript API Reference\n\n### Create Metrics Service\n\n```typescript\nimport { createMetricsService } from 'clodds\u002Fmetrics';\n\nconst metrics = createMetricsService({\n  \u002F\u002F Collection\n  collectInterval: 5000,  \u002F\u002F ms\n  retention: '30d',\n\n  \u002F\u002F Storage\n  storage: 'sqlite',\n  dbPath: '.\u002Fmetrics.db',\n\n  \u002F\u002F Export\n  enablePrometheus: true,\n  prometheusPort: 9090,\n});\n\n\u002F\u002F Start collection\nawait metrics.start();\n```\n\n### System Metrics\n\n```typescript\nconst system = await metrics.getSystemMetrics();\n\nconsole.log('=== System Health ===');\nconsole.log(`CPU Usage: ${system.cpuUsage}%`);\nconsole.log(`Memory: ${system.memoryUsed}MB \u002F ${system.memoryTotal}MB`);\nconsole.log(`Uptime: ${system.uptimeHours}h`);\nconsole.log(`Active connections: ${system.activeConnections}`);\nconsole.log(`Event loop lag: ${system.eventLoopLag}ms`);\n```\n\n### API Metrics\n\n```typescript\nconst api = await metrics.getApiMetrics();\n\nconsole.log('=== API Performance ===');\nconsole.log(`Total requests: ${api.totalRequests}`);\nconsole.log(`Requests\u002Fsec: ${api.requestsPerSecond}`);\nconsole.log(`Avg latency: ${api.avgLatency}ms`);\nconsole.log(`P50 latency: ${api.p50Latency}ms`);\nconsole.log(`P95 latency: ${api.p95Latency}ms`);\nconsole.log(`P99 latency: ${api.p99Latency}ms`);\nconsole.log(`Error rate: ${api.errorRate}%`);\n\nconsole.log('\\nBy Endpoint:');\nfor (const endpoint of api.byEndpoint) {\n  console.log(`  ${endpoint.path}: ${endpoint.avgLatency}ms (${endpoint.calls} calls)`);\n}\n```\n\n### WebSocket Metrics\n\n```typescript\nconst ws = await metrics.getWebSocketMetrics();\n\nconsole.log('=== WebSocket Health ===');\nconsole.log(`Active connections: ${ws.activeConnections}`);\nconsole.log(`Messages\u002Fsec: ${ws.messagesPerSecond}`);\nconsole.log(`Avg message size: ${ws.avgMessageSize} bytes`);\nconsole.log(`Reconnections: ${ws.reconnections}`);\nconsole.log(`Dropped messages: ${ws.droppedMessages}`);\n\nconsole.log('\\nBy Feed:');\nfor (const feed of ws.byFeed) {\n  console.log(`  ${feed.name}: ${feed.messagesPerSecond}\u002Fs, ${feed.latency}ms lag`);\n}\n```\n\n### Trade Execution Metrics\n\n```typescript\nconst trades = await metrics.getTradeMetrics();\n\nconsole.log('=== Trade Execution ===');\nconsole.log(`Total orders: ${trades.totalOrders}`);\nconsole.log(`Fill rate: ${trades.fillRate}%`);\nconsole.log(`Partial fills: ${trades.partialFillRate}%`);\nconsole.log(`Rejections: ${trades.rejectionRate}%`);\nconsole.log(`Avg fill time: ${trades.avgFillTime}ms`);\nconsole.log(`Avg slippage: ${trades.avgSlippage}%`);\n\nconsole.log('\\nBy Platform:');\nfor (const platform of trades.byPlatform) {\n  console.log(`  ${platform.name}:`);\n  console.log(`    Fill rate: ${platform.fillRate}%`);\n  console.log(`    Avg latency: ${platform.avgLatency}ms`);\n}\n```\n\n### Latency Breakdown\n\n```typescript\nconst latency = await metrics.getLatencyBreakdown();\n\nconsole.log('=== Latency Breakdown ===');\nconsole.log(`Total order latency: ${latency.total}ms`);\nconsole.log(`  Signal processing: ${latency.signalProcessing}ms`);\nconsole.log(`  Order construction: ${latency.orderConstruction}ms`);\nconsole.log(`  Network round-trip: ${latency.networkRoundTrip}ms`);\nconsole.log(`  Exchange processing: ${latency.exchangeProcessing}ms`);\nconsole.log(`  Confirmation: ${latency.confirmation}ms`);\n```\n\n### Error Metrics\n\n```typescript\nconst errors = await metrics.getErrorMetrics();\n\nconsole.log('=== Error Rates ===');\nconsole.log(`Total errors: ${errors.totalErrors}`);\nconsole.log(`Error rate: ${errors.errorRate}%`);\nconsole.log(`Errors\u002Fhour: ${errors.errorsPerHour}`);\n\nconsole.log('\\nBy Type:');\nfor (const type of errors.byType) {\n  console.log(`  ${type.name}: ${type.count} (${type.percentage}%)`);\n}\n\nconsole.log('\\nBy Platform:');\nfor (const platform of errors.byPlatform) {\n  console.log(`  ${platform.name}: ${platform.errorRate}%`);\n}\n```\n\n### Custom Metrics\n\n```typescript\n\u002F\u002F Track custom metric\nmetrics.track('edge_detected', 1, {\n  market: 'trump-2028',\n  edgeSize: 0.05,\n});\n\n\u002F\u002F Increment counter\nmetrics.increment('trades_executed');\n\n\u002F\u002F Set gauge\nmetrics.gauge('active_positions', 5);\n\n\u002F\u002F Record timing\nconst timer = metrics.startTimer('order_execution');\n\u002F\u002F ... execute order ...\ntimer.end();\n\n\u002F\u002F Histogram\nmetrics.histogram('slippage', 0.003, {\n  platform: 'polymarket',\n});\n```\n\n### Query Metrics\n\n```typescript\nconst query = await metrics.query({\n  metric: 'edge_detected',\n  period: '7d',\n  aggregation: 'sum',\n  groupBy: 'market',\n});\n\nconsole.log('Edge Detection by Market:');\nfor (const row of query.results) {\n  console.log(`  ${row.market}: ${row.value} detections`);\n}\n```\n\n### Metric Alerts\n\n```typescript\n\u002F\u002F Set alert threshold\nmetrics.setAlert({\n  metric: 'error_rate',\n  condition: '>',\n  threshold: 5,  \u002F\u002F > 5% error rate\n  window: '5m',\n  action: 'notify',\n});\n\nmetrics.setAlert({\n  metric: 'latency_p99',\n  condition: '>',\n  threshold: 1000,  \u002F\u002F > 1000ms\n  window: '1m',\n  action: 'escalate',\n});\n\n\u002F\u002F Alert handlers\nmetrics.on('alert', (alert) => {\n  console.log(`🚨 Alert: ${alert.metric} ${alert.condition} ${alert.threshold}`);\n  console.log(`  Current value: ${alert.currentValue}`);\n});\n```\n\n### Export Metrics\n\n```typescript\n\u002F\u002F Export to CSV\nawait metrics.export({\n  format: 'csv',\n  metrics: ['api_latency', 'trade_fill_rate', 'error_rate'],\n  period: '30d',\n  outputPath: '.\u002Fmetrics-export.csv',\n});\n\n\u002F\u002F Export to Prometheus\nconst prometheusFormat = metrics.toPrometheus();\n\n\u002F\u002F Export to JSON\nconst jsonMetrics = await metrics.toJSON({\n  period: '24h',\n});\n```\n\n### Generate Reports\n\n```typescript\nconst report = await metrics.generateReport({\n  type: 'daily',\n  include: ['summary', 'api', 'trades', 'errors'],\n});\n\nconsole.log('=== Daily Metrics Report ===');\nconsole.log(`Date: ${report.date}`);\nconsole.log(`\\nSummary:`);\nconsole.log(`  Uptime: ${report.summary.uptime}%`);\nconsole.log(`  Total requests: ${report.summary.totalRequests}`);\nconsole.log(`  Total trades: ${report.summary.totalTrades}`);\nconsole.log(`  Error rate: ${report.summary.errorRate}%`);\nconsole.log(`\\nHighlights:`);\nfor (const highlight of report.highlights) {\n  console.log(`  - ${highlight}`);\n}\n```\n\n### Real-time Streaming\n\n```typescript\n\u002F\u002F Stream metrics in real-time\nconst stream = metrics.stream(['cpu', 'memory', 'latency']);\n\nstream.on('data', (data) => {\n  console.log(`CPU: ${data.cpu}%, Memory: ${data.memory}MB, Latency: ${data.latency}ms`);\n});\n\n\u002F\u002F Stop streaming\nstream.stop();\n```\n\n---\n\n## Metric Types\n\n| Type | Description | Example |\n|------|-------------|---------|\n| **Counter** | Monotonic increasing | `trades_total` |\n| **Gauge** | Point-in-time value | `active_positions` |\n| **Histogram** | Distribution | `latency_ms` |\n| **Timer** | Duration measurement | `order_execution_time` |\n\n---\n\n## Built-in Metrics\n\n| Category | Metrics |\n|----------|---------|\n| **System** | cpu_usage, memory_used, uptime, connections |\n| **API** | request_count, latency_p50\u002Fp95\u002Fp99, error_rate |\n| **WebSocket** | messages_per_sec, lag, reconnections |\n| **Trades** | orders_total, fill_rate, slippage, execution_time |\n| **Errors** | error_count, error_rate_by_type |\n\n---\n\n## Best Practices\n\n1. **Monitor latency percentiles** — P99 matters more than average\n2. **Set alerts proactively** — Catch issues before users notice\n3. **Track custom metrics** — Business-specific KPIs\n4. **Review daily reports** — Spot trends early\n5. **Export for analysis** — Use external tools for deep dives\n",{"name":5,"emoji":27,"description":7},"📈","main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--metrics",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add JSGforever\u002Fskillguard --skill metrics",{"tool":41,"command":42},"bunx","bunx skills add JSGforever\u002Fskillguard --skill metrics",{"tool":44,"command":45},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill metrics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--metrics\u002FSKILL.md",true,[49],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"index.ts","SCRIPT","脚本",1934,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--metrics\u002Findex.ts",[56,88,104,130,152,173],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":67,"publishedAt":22},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","when","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":92,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":100,"publishedAt":22},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[95],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[101,102,103],"data","data exfiltrator","files",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":22},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[111,112,113,114,115,116,117,118,119,18,120,121,122,123,124,125,126,127,128,129],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":22},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000009","前端开发",[18,140,127,128,141,142,143,144,145,146,111,147,148,123,125,149,126,129,150,151],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":22},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[158],{"categoryNo":137,"categoryName":138,"taxonomyType":65,"taxonomyTypeDesc":66},[160,129,161,162,163,164,18,111,165,166,167,125,126,127,168,128,169,170,171,172],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":186,"publishedAt":22},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[179,182,185],{"categoryNo":180,"categoryName":181,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":183,"categoryName":184,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},[187,188,189,190,191,192,193,118,145,194,195,196,126,151,197,172,198,199,200,201],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","testing","ci","workflows","run","release","write","edit","git"]