[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CBSS4X1HFEY5ZRA5F2Y0P9":3,"skill-same:01M6CBSS4X1HFEY5ZRA5F2Y0P9":57},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":42,"install":43,"resources":56},"01M6CBSS4X1HFEY5ZRA5F2Y0P9","error-tracking",null,"Implement error tracking with Sentry for automatic exception monitoring, release tracking, and performance issues. Use when setting up error monitoring, tracking bugs in production, or analyzing application stability.","ray-manaloto\u002Fmacos-development-environment","ray-manaloto","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F227192835?v=4","01M6CBR7J13ZA01X5YB1A1QRJP","01M6CBR7P0S3NS8ZV81JYNST14",1,"MIT","https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ferror-tracking\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30],"tracking","error tracking","performance","implement","stability","release","issues","sentry","monitoring","analyzing","Production","use","up","2026-11-10 10:12:30",false,"---\nname: error-tracking\ndescription: Implement error tracking with Sentry for automatic exception monitoring, release tracking, and performance issues. Use when setting up error monitoring, tracking bugs in production, or analyzing application stability.\n---\n\n# Error Tracking\n\n## Overview\n\nSet up comprehensive error tracking with Sentry to automatically capture, report, and analyze exceptions, performance issues, and application stability.\n\n## When to Use\n\n- Production error monitoring\n- Automatic exception capture\n- Release tracking\n- Performance issue detection\n- User impact analysis\n\n## Instructions\n\n### 1. **Sentry Setup**\n\n```bash\nnpm install -g @sentry\u002Fcli\nnpm install @sentry\u002Fnode @sentry\u002Ftracing\nsentry init -d\n```\n\n### 2. **Node.js Sentry Integration**\n\n```javascript\n\u002F\u002F sentry.js\nconst Sentry = require(\"@sentry\u002Fnode\");\nconst Tracing = require(\"@sentry\u002Ftracing\");\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  environment: process.env.NODE_ENV || 'development',\n  tracesSampleRate: process.env.NODE_ENV === 'production' ? 0.1 : 1.0,\n  release: process.env.APP_VERSION || '1.0.0',\n  integrations: [\n    new Sentry.Integrations.Http({ tracing: true }),\n    new Tracing.Integrations.Express({\n      app: true,\n      request: true,\n      transaction: true\n    })\n  ],\n  ignoreErrors: [\n    'Network request failed',\n    'TimeoutError'\n  ]\n});\n\nmodule.exports = Sentry;\n```\n\n### 3. **Express Middleware Integration**\n\n```javascript\n\u002F\u002F app.js\nconst express = require('express');\nconst Sentry = require('.\u002Fsentry');\n\nconst app = express();\n\napp.use(Sentry.Handlers.requestHandler());\napp.use(Sentry.Handlers.tracingHandler());\n\napp.get('\u002Fapi\u002Fusers\u002F:id', (req, res) => {\n  const transaction = Sentry.startTransaction({\n    name: 'get_user',\n    op: 'http.server'\n  });\n\n  try {\n    const userId = req.params.id;\n\n    Sentry.captureMessage('Fetching user', {\n      level: 'info',\n      tags: { userId: userId }\n    });\n\n    const user = db.query(`SELECT * FROM users WHERE id = ${userId}`);\n\n    if (!user) {\n      Sentry.captureException(new Error('User not found'), {\n        level: 'warning',\n        contexts: { request: { userId } }\n      });\n      return res.status(404).json({ error: 'User not found' });\n    }\n\n    transaction.setTag('user.id', user.id);\n    res.json(user);\n  } catch (error) {\n    Sentry.captureException(error, {\n      level: 'error',\n      tags: { endpoint: 'get_user', userId: req.params.id }\n    });\n    res.status(500).json({ error: 'Internal server error' });\n  } finally {\n    transaction.finish();\n  }\n});\n\napp.use(Sentry.Handlers.errorHandler());\n\napp.listen(3000);\n```\n\n### 4. **Python Sentry Integration**\n\n```python\n# sentry_config.py\nimport sentry_sdk\nfrom sentry_sdk.integrations.flask import FlaskIntegration\nfrom sentry_sdk.integrations.logging import LoggingIntegration\nimport logging\nimport os\n\nsentry_logging = LoggingIntegration(\n    level=logging.INFO,\n    event_level=logging.ERROR\n)\n\nsentry_sdk.init(\n    dsn=os.environ.get('SENTRY_DSN'),\n    integrations=[FlaskIntegration(), sentry_logging],\n    environment=os.environ.get('ENVIRONMENT', 'development'),\n    release=os.environ.get('APP_VERSION', '1.0.0'),\n    traces_sample_rate=0.1 if os.environ.get('ENVIRONMENT') == 'production' else 1.0,\n    attach_stacktrace=True\n)\n\n# Flask integration\nfrom flask import Flask\nimport sentry_sdk\n\napp = Flask(__name__)\n\n@app.route('\u002Fapi\u002Forders\u002F\u003Corder_id>')\ndef get_order(order_id):\n    try:\n        sentry_sdk.set_user({'id': request.user.id})\n        sentry_sdk.capture_message(f'Fetching order {order_id}', level='info')\n\n        order = db.query(f'SELECT * FROM orders WHERE id = {order_id}')\n\n        if not order:\n            sentry_sdk.capture_exception(ValueError('Order not found'))\n            return {'error': 'Order not found'}, 404\n\n        return {'order': order}\n\n    except Exception as e:\n        sentry_sdk.capture_exception(e, {\n            'tags': { 'endpoint': 'get_order', 'order_id': order_id }\n        })\n        return {'error': 'Internal server error'}, 500\n```\n\n### 5. **Source Maps and Release Management**\n\n```javascript\n\u002F\u002F webpack.config.js\nconst SentryCliPlugin = require('@sentry\u002Fwebpack-plugin');\n\nmodule.exports = {\n  plugins: [\n    new SentryCliPlugin({\n      include: '.\u002Fdist',\n      urlPrefix: 'https:\u002F\u002Fexample.com\u002F',\n      release: process.env.APP_VERSION || '1.0.0',\n      org: process.env.SENTRY_ORG,\n      project: process.env.SENTRY_PROJECT,\n      authToken: process.env.SENTRY_AUTH_TOKEN\n    })\n  ]\n};\n```\n\n### 6. **CI\u002FCD Release Creation**\n\n```bash\n#!\u002Fbin\u002Fbash\nVERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's\u002F[\",]\u002F\u002Fg')\n\n# Create release\nsentry-cli releases -o my-org -p my-project create $VERSION\n\n# Upload source maps\nsentry-cli releases -o my-org -p my-project files $VERSION upload-sourcemaps .\u002Fdist\n\n# Finalize release\nsentry-cli releases -o my-org -p my-project finalize $VERSION\n\n# Deploy\nsentry-cli releases -o my-org -p my-project deploys $VERSION new -e production\n```\n\n### 7. **Custom Error Context**\n\n```javascript\n\u002F\u002F custom-error-context.js\nconst Sentry = require('@sentry\u002Fnode');\n\nSentry.configureScope(scope => {\n  scope.setUser({\n    id: userId,\n    email: userEmail,\n    subscription: 'pro'\n  });\n\n  scope.setTag('feature_flag', 'new-ui');\n  scope.setTag('database', 'postgres-v12');\n\n  scope.setContext('character', {\n    name: 'Mighty Fighter',\n    level: 19\n  });\n\n  scope.addBreadcrumb({\n    category: 'ui.click',\n    message: 'User clicked signup button',\n    level: 'info'\n  });\n\n  scope.addBreadcrumb({\n    category: 'database',\n    message: 'Query executed',\n    level: 'debug',\n    data: {\n      query: 'SELECT * FROM users',\n      duration: 125\n    }\n  });\n});\n\n\u002F\u002F Before sending\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  beforeSend(event, hint) {\n    if (event.request) {\n      delete event.request.cookies;\n      delete event.request.headers['authorization'];\n    }\n    return event;\n  }\n});\n```\n\n### 8. **Performance Monitoring**\n\n```javascript\n\u002F\u002F performance.js\nconst Sentry = require('@sentry\u002Fnode');\n\nconst transaction = Sentry.startTransaction({\n  name: 'process_order',\n  op: 'task',\n  data: { orderId: '12345' }\n});\n\nconst dbSpan = transaction.startChild({\n  op: 'db',\n  description: 'Save order to database'\n});\nsaveOrderToDb(order);\ndbSpan.finish();\n\nconst paymentSpan = transaction.startChild({\n  op: 'http.client',\n  description: 'Process payment'\n});\nprocessPayment(order);\npaymentSpan.finish();\n\ntransaction.setStatus('ok');\ntransaction.finish();\n```\n\n## Best Practices\n\n### ✅ DO\n- Set up source maps for production\n- Configure appropriate sample rates\n- Track releases and deployments\n- Filter sensitive information\n- Add meaningful context to errors\n- Use breadcrumbs for debugging\n- Set user information\n- Review error patterns regularly\n\n### ❌ DON'T\n- Send 100% of errors in production\n- Include passwords in context\n- Ignore configuration for environment\n- Skip source map uploads\n- Log personally identifiable information\n- Use without proper filtering\n- Disable tracking in production\n\n## Key Commands\n\n```bash\nsentry-cli releases create $VERSION\nsentry-cli releases files upload-sourcemaps $VERSION .\u002Fdist\nsentry-cli releases deploys $VERSION new -e production\nsentry-cli releases finalize $VERSION\nsentry-cli releases info $VERSION\n```\n","# Error Tracking\n\n## Overview\n\nSet up comprehensive error tracking with Sentry to automatically capture, report, and analyze exceptions, performance issues, and application stability.\n\n## When to Use\n\n- Production error monitoring\n- Automatic exception capture\n- Release tracking\n- Performance issue detection\n- User impact analysis\n\n## Instructions\n\n### 1. **Sentry Setup**\n\n```bash\nnpm install -g @sentry\u002Fcli\nnpm install @sentry\u002Fnode @sentry\u002Ftracing\nsentry init -d\n```\n\n### 2. **Node.js Sentry Integration**\n\n```javascript\n\u002F\u002F sentry.js\nconst Sentry = require(\"@sentry\u002Fnode\");\nconst Tracing = require(\"@sentry\u002Ftracing\");\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  environment: process.env.NODE_ENV || 'development',\n  tracesSampleRate: process.env.NODE_ENV === 'production' ? 0.1 : 1.0,\n  release: process.env.APP_VERSION || '1.0.0',\n  integrations: [\n    new Sentry.Integrations.Http({ tracing: true }),\n    new Tracing.Integrations.Express({\n      app: true,\n      request: true,\n      transaction: true\n    })\n  ],\n  ignoreErrors: [\n    'Network request failed',\n    'TimeoutError'\n  ]\n});\n\nmodule.exports = Sentry;\n```\n\n### 3. **Express Middleware Integration**\n\n```javascript\n\u002F\u002F app.js\nconst express = require('express');\nconst Sentry = require('.\u002Fsentry');\n\nconst app = express();\n\napp.use(Sentry.Handlers.requestHandler());\napp.use(Sentry.Handlers.tracingHandler());\n\napp.get('\u002Fapi\u002Fusers\u002F:id', (req, res) => {\n  const transaction = Sentry.startTransaction({\n    name: 'get_user',\n    op: 'http.server'\n  });\n\n  try {\n    const userId = req.params.id;\n\n    Sentry.captureMessage('Fetching user', {\n      level: 'info',\n      tags: { userId: userId }\n    });\n\n    const user = db.query(`SELECT * FROM users WHERE id = ${userId}`);\n\n    if (!user) {\n      Sentry.captureException(new Error('User not found'), {\n        level: 'warning',\n        contexts: { request: { userId } }\n      });\n      return res.status(404).json({ error: 'User not found' });\n    }\n\n    transaction.setTag('user.id', user.id);\n    res.json(user);\n  } catch (error) {\n    Sentry.captureException(error, {\n      level: 'error',\n      tags: { endpoint: 'get_user', userId: req.params.id }\n    });\n    res.status(500).json({ error: 'Internal server error' });\n  } finally {\n    transaction.finish();\n  }\n});\n\napp.use(Sentry.Handlers.errorHandler());\n\napp.listen(3000);\n```\n\n### 4. **Python Sentry Integration**\n\n```python\n# sentry_config.py\nimport sentry_sdk\nfrom sentry_sdk.integrations.flask import FlaskIntegration\nfrom sentry_sdk.integrations.logging import LoggingIntegration\nimport logging\nimport os\n\nsentry_logging = LoggingIntegration(\n    level=logging.INFO,\n    event_level=logging.ERROR\n)\n\nsentry_sdk.init(\n    dsn=os.environ.get('SENTRY_DSN'),\n    integrations=[FlaskIntegration(), sentry_logging],\n    environment=os.environ.get('ENVIRONMENT', 'development'),\n    release=os.environ.get('APP_VERSION', '1.0.0'),\n    traces_sample_rate=0.1 if os.environ.get('ENVIRONMENT') == 'production' else 1.0,\n    attach_stacktrace=True\n)\n\n# Flask integration\nfrom flask import Flask\nimport sentry_sdk\n\napp = Flask(__name__)\n\n@app.route('\u002Fapi\u002Forders\u002F\u003Corder_id>')\ndef get_order(order_id):\n    try:\n        sentry_sdk.set_user({'id': request.user.id})\n        sentry_sdk.capture_message(f'Fetching order {order_id}', level='info')\n\n        order = db.query(f'SELECT * FROM orders WHERE id = {order_id}')\n\n        if not order:\n            sentry_sdk.capture_exception(ValueError('Order not found'))\n            return {'error': 'Order not found'}, 404\n\n        return {'order': order}\n\n    except Exception as e:\n        sentry_sdk.capture_exception(e, {\n            'tags': { 'endpoint': 'get_order', 'order_id': order_id }\n        })\n        return {'error': 'Internal server error'}, 500\n```\n\n### 5. **Source Maps and Release Management**\n\n```javascript\n\u002F\u002F webpack.config.js\nconst SentryCliPlugin = require('@sentry\u002Fwebpack-plugin');\n\nmodule.exports = {\n  plugins: [\n    new SentryCliPlugin({\n      include: '.\u002Fdist',\n      urlPrefix: 'https:\u002F\u002Fexample.com\u002F',\n      release: process.env.APP_VERSION || '1.0.0',\n      org: process.env.SENTRY_ORG,\n      project: process.env.SENTRY_PROJECT,\n      authToken: process.env.SENTRY_AUTH_TOKEN\n    })\n  ]\n};\n```\n\n### 6. **CI\u002FCD Release Creation**\n\n```bash\n#!\u002Fbin\u002Fbash\nVERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's\u002F[\",]\u002F\u002Fg')\n\n# Create release\nsentry-cli releases -o my-org -p my-project create $VERSION\n\n# Upload source maps\nsentry-cli releases -o my-org -p my-project files $VERSION upload-sourcemaps .\u002Fdist\n\n# Finalize release\nsentry-cli releases -o my-org -p my-project finalize $VERSION\n\n# Deploy\nsentry-cli releases -o my-org -p my-project deploys $VERSION new -e production\n```\n\n### 7. **Custom Error Context**\n\n```javascript\n\u002F\u002F custom-error-context.js\nconst Sentry = require('@sentry\u002Fnode');\n\nSentry.configureScope(scope => {\n  scope.setUser({\n    id: userId,\n    email: userEmail,\n    subscription: 'pro'\n  });\n\n  scope.setTag('feature_flag', 'new-ui');\n  scope.setTag('database', 'postgres-v12');\n\n  scope.setContext('character', {\n    name: 'Mighty Fighter',\n    level: 19\n  });\n\n  scope.addBreadcrumb({\n    category: 'ui.click',\n    message: 'User clicked signup button',\n    level: 'info'\n  });\n\n  scope.addBreadcrumb({\n    category: 'database',\n    message: 'Query executed',\n    level: 'debug',\n    data: {\n      query: 'SELECT * FROM users',\n      duration: 125\n    }\n  });\n});\n\n\u002F\u002F Before sending\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  beforeSend(event, hint) {\n    if (event.request) {\n      delete event.request.cookies;\n      delete event.request.headers['authorization'];\n    }\n    return event;\n  }\n});\n```\n\n### 8. **Performance Monitoring**\n\n```javascript\n\u002F\u002F performance.js\nconst Sentry = require('@sentry\u002Fnode');\n\nconst transaction = Sentry.startTransaction({\n  name: 'process_order',\n  op: 'task',\n  data: { orderId: '12345' }\n});\n\nconst dbSpan = transaction.startChild({\n  op: 'db',\n  description: 'Save order to database'\n});\nsaveOrderToDb(order);\ndbSpan.finish();\n\nconst paymentSpan = transaction.startChild({\n  op: 'http.client',\n  description: 'Process payment'\n});\nprocessPayment(order);\npaymentSpan.finish();\n\ntransaction.setStatus('ok');\ntransaction.finish();\n```\n\n## Best Practices\n\n### ✅ DO\n- Set up source maps for production\n- Configure appropriate sample rates\n- Track releases and deployments\n- Filter sensitive information\n- Add meaningful context to errors\n- Use breadcrumbs for debugging\n- Set user information\n- Review error patterns regularly\n\n### ❌ DON'T\n- Send 100% of errors in production\n- Include passwords in context\n- Ignore configuration for environment\n- Skip source map uploads\n- Log personally identifiable information\n- Use without proper filtering\n- Disable tracking in production\n\n## Key Commands\n\n```bash\nsentry-cli releases create $VERSION\nsentry-cli releases files upload-sourcemaps $VERSION .\u002Fdist\nsentry-cli releases deploys $VERSION new -e production\nsentry-cli releases finalize $VERSION\nsentry-cli releases info $VERSION\n```\n",{"name":5,"description":7},"main","716b17df3ef6719d88aeac180015008b7ddfff6f",".agents\u002Fskills\u002Ferror-tracking",0,"https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment","https:\u002F\u002Fgithub.com\u002Fray-manaloto","2026-08-03 16:55:50",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add ray-manaloto\u002Fmacos-development-environment --skill error-tracking",{"tool":49,"command":50},"bunx","bunx skills add ray-manaloto\u002Fmacos-development-environment --skill error-tracking",{"tool":52,"command":53},"pnpm","pnpm dlx skills add ray-manaloto\u002Fmacos-development-environment --skill error-tracking","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ferror-tracking\u002FSKILL.md",true,[],[58,79,97,115,135,149],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":69,"publishedAt":31},"01M6CC8DXNJ39YWERYTWCGGCGG","next-workflow-step","Use this skill when the user wants to transition to the next workflow step, wrap up a session cleanly, prepare a handoff, or says things like \"next step\", \"continue the workflow\", \"wrap up\", \"hand off\", \"move to the next phase\", \"what's next in embrace\", or \"prepare for \u002Fclear\". Also triggers when the current octo:embrace phase appears complete and no explicit next action is set.","https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002Frsm-subagents\u002Fplugins\u002Fworkflow-toolkit\u002Fskills\u002Fnext-workflow-step\u002FSKILL.md",[64],{"categoryNo":65,"categoryName":66,"taxonomyType":67,"taxonomyTypeDesc":68},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[70,71,30,29,72,73,74,75,76,77,78],"next workflow step","workflow","session","user","wrap up","continue","handoff","prepare","SET",{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":31},"01M6CC8BRZBQHEBXGMKPDM422P","source-discovery","This skill should be used when the user asks to \"find sources\", \"discover URLs\", \"catalog a source\", \"classify a URL\", \"search for libraries\", \"check what exists\", or mentions source discovery, URL cataloging, source classification, or research source management.","https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002Frsm-subagents\u002Fplugins\u002Fresearch-review-toolkit\u002Fskills\u002Fsource-discovery\u002FSKILL.md",[],[86,87,88,89,90,91,92,93,94,73,95,96],"discovery","source discovery","research","libraries","search","classification","find","check","management","catalog","find sources",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":31},"01M6CC89CGJP69A0PS22G2H1FV","review-synthesis","This skill should be used when the user asks to \"summarize review findings\", \"prioritize fixes\", \"rank review issues\", \"combine reviewer feedback\", \"create action items from review\", or mentions review synthesis, finding prioritization, severity ranking, or review result summarization.","https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002Frsm-subagents\u002Fplugins\u002Fresearch-review-toolkit\u002Fskills\u002Freview-synthesis\u002FSKILL.md",[],[104,105,106,107,108,109,110,73,111,112,113,24,114],"review","review synthesis","Synthesis","prioritize","create action","feedback","reviewer","summarize","prioritization","create","severity",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":124,"publishedAt":31},"01M6CC872EZ9GRJY0HRCG0RT2M","research-scoring","This skill should be used when the user asks to \"score research\", \"check research quality\", \"evaluate coverage\", \"measure improvement\", \"assess research completeness\", or mentions research scoring, quality metrics, coverage gaps, improvement baseline, or research pipeline status.","https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002Frsm-subagents\u002Fplugins\u002Fresearch-review-toolkit\u002Fskills\u002Fresearch-scoring\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":67,"taxonomyTypeDesc":68},"01JBSEEDCAT000000000000021","资料检索与研究",[125,88,126,127,128,129,130,131,93,73,132,133,134],"research scoring","status","coverage gaps","metrics","pipeline","baseline","quality","coverage","pipeline status","research quality",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":31},"01M6CC852HSDS1FE4EJAT0RHGR","notebooklm-integration","This skill should be used when the user asks to \"ingest into NotebookLM\", \"query NotebookLM\", \"add sources to notebook\", \"cross-source synthesis\", \"check stale sources\", or mentions NotebookLM, notebook integration, source ingestion, or knowledge consolidation.","https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002Frsm-subagents\u002Fplugins\u002Fresearch-review-toolkit\u002Fskills\u002Fnotebooklm-integration\u002FSKILL.md",[],[142,143,144,145,93,73,146,147,148,106],"notebooklm integration","notebooklm","integration","knowledge","ingestion","ingest","stale",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":31},"01M6CC82Z4V3205KCJWQZPS2VG","evidence-synthesis","This skill should be used when the user asks to \"synthesize findings\", \"combine research\", \"cross-reference sources\", \"summarize evidence\", \"write a deep review\", or mentions evidence synthesis, finding consolidation, cross-source analysis, or research summarization.","https:\u002F\u002Fgithub.com\u002Fray-manaloto\u002Fmacos-development-environment\u002Fblob\u002Fmain\u002Frsm-subagents\u002Fplugins\u002Fresearch-review-toolkit\u002Fskills\u002Fevidence-synthesis\u002FSKILL.md",[155],{"categoryNo":122,"categoryName":123,"taxonomyType":67,"taxonomyTypeDesc":68},[157,106,158,111,88,159,160,161,73,162,104],"evidence synthesis","evidence","deep review","analysis","write","reference"]