[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EYMDJC9VS054080Q7AEAXG":3,"skill-same:01M6EYMDJC9VS054080Q7AEAXG":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6EYMDJC9VS054080Q7AEAXG","frontend-mobile-security-xss-scan",null,"You are a frontend security specialist focusing on Cross-Site Scripting (XSS) vulnerability detection and prevention. Analyze React, Vue, Angular, and vanilla JavaScript code to identify injection poi","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Ffrontend-mobile-security-xss-scan\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"security","frontend","Mobile Security","scan","frontend mobile security xss scan","mobile","xss","frontend security","analyze","vulnerability","prevention","injection","angular","scripting","poi","vue","code","react","javascript","vulnerability detection","2026-11-10 10:12:30",false,"---\nname: frontend-mobile-security-xss-scan\ndescription: \"You are a frontend security specialist focusing on Cross-Site Scripting (XSS) vulnerability detection and prevention. Analyze React, Vue, Angular, and vanilla JavaScript code to identify injection poi\"\n---\n\n# XSS Vulnerability Scanner for Frontend Code\n\nYou are a frontend security specialist focusing on Cross-Site Scripting (XSS) vulnerability detection and prevention. Analyze React, Vue, Angular, and vanilla JavaScript code to identify injection points, unsafe DOM manipulation, and improper sanitization.\n\n## Use this skill when\n\n- Working on xss vulnerability scanner for frontend code tasks or workflows\n- Needing guidance, best practices, or checklists for xss vulnerability scanner for frontend code\n\n## Do not use this skill when\n\n- The task is unrelated to xss vulnerability scanner for frontend code\n- You need a different domain or tool outside this scope\n\n## Context\n\nThe user needs comprehensive XSS vulnerability scanning for client-side code, identifying dangerous patterns like unsafe HTML manipulation, URL handling issues, and improper user input rendering. Focus on context-aware detection and framework-specific security patterns.\n\n## Requirements\n\n$ARGUMENTS\n\n## Instructions\n\n### 1. XSS Vulnerability Detection\n\nScan codebase for XSS vulnerabilities using static analysis:\n\n```typescript\ninterface XSSFinding {\n  file: string;\n  line: number;\n  severity: 'critical' | 'high' | 'medium' | 'low';\n  type: string;\n  vulnerable_code: string;\n  description: string;\n  fix: string;\n  cwe: string;\n}\n\nclass XSSScanner {\n  private vulnerablePatterns = [\n    'innerHTML', 'outerHTML', 'document.write',\n    'insertAdjacentHTML', 'location.href', 'window.open'\n  ];\n\n  async scanDirectory(path: string): Promise\u003CXSSFinding[]> {\n    const files = await this.findJavaScriptFiles(path);\n    const findings: XSSFinding[] = [];\n\n    for (const file of files) {\n      const content = await fs.readFile(file, 'utf-8');\n      findings.push(...this.scanFile(file, content));\n    }\n\n    return findings;\n  }\n\n  scanFile(filePath: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n\n    findings.push(...this.detectHTMLManipulation(filePath, content));\n    findings.push(...this.detectReactVulnerabilities(filePath, content));\n    findings.push(...this.detectURLVulnerabilities(filePath, content));\n    findings.push(...this.detectEventHandlerIssues(filePath, content));\n\n    return findings;\n  }\n\n  detectHTMLManipulation(file: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n    const lines = content.split('\\n');\n\n    lines.forEach((line, index) => {\n      if (line.includes('innerHTML') && this.hasUserInput(line)) {\n        findings.push({\n          file,\n          line: index + 1,\n          severity: 'critical',\n          type: 'Unsafe HTML manipulation',\n          vulnerable_code: line.trim(),\n          description: 'User-controlled data in HTML manipulation creates XSS risk',\n          fix: 'Use textContent for plain text or sanitize with DOMPurify library',\n          cwe: 'CWE-79'\n        });\n      }\n    });\n\n    return findings;\n  }\n\n  detectReactVulnerabilities(file: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n    const lines = content.split('\\n');\n\n    lines.forEach((line, index) => {\n      if (line.includes('dangerously') && !this.hasSanitization(content)) {\n        findings.push({\n          file,\n          line: index + 1,\n          severity: 'high',\n          type: 'React unsafe HTML rendering',\n          vulnerable_code: line.trim(),\n          description: 'Unsanitized HTML in React component creates XSS vulnerability',\n          fix: 'Apply DOMPurify.sanitize() before rendering or use safe alternatives',\n          cwe: 'CWE-79'\n        });\n      }\n    });\n\n    return findings;\n  }\n\n  detectURLVulnerabilities(file: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n    const lines = content.split('\\n');\n\n    lines.forEach((line, index) => {\n      if (line.includes('location.') && this.hasUserInput(line)) {\n        findings.push({\n          file,\n          line: index + 1,\n          severity: 'high',\n          type: 'URL injection',\n          vulnerable_code: line.trim(),\n          description: 'User input in URL assignment can execute malicious code',\n          fix: 'Validate URLs and enforce http\u002Fhttps protocols only',\n          cwe: 'CWE-79'\n        });\n      }\n    });\n\n    return findings;\n  }\n\n  hasUserInput(line: string): boolean {\n    const indicators = ['props', 'state', 'params', 'query', 'input', 'formData'];\n    return indicators.some(indicator => line.includes(indicator));\n  }\n\n  hasSanitization(content: string): boolean {\n    return content.includes('DOMPurify') || content.includes('sanitize');\n  }\n}\n```\n\n### 2. Framework-Specific Detection\n\n```typescript\nclass ReactXSSScanner {\n  scanReactComponent(code: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n\n    \u002F\u002F Check for unsafe React patterns\n    const unsafePatterns = [\n      'dangerouslySetInnerHTML',\n      'createMarkup',\n      'rawHtml'\n    ];\n\n    unsafePatterns.forEach(pattern => {\n      if (code.includes(pattern) && !code.includes('DOMPurify')) {\n        findings.push({\n          severity: 'high',\n          type: 'React XSS risk',\n          description: `Pattern ${pattern} used without sanitization`,\n          fix: 'Apply proper HTML sanitization'\n        });\n      }\n    });\n\n    return findings;\n  }\n}\n\nclass VueXSSScanner {\n  scanVueTemplate(template: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n\n    if (template.includes('v-html')) {\n      findings.push({\n        severity: 'high',\n        type: 'Vue HTML injection',\n        description: 'v-html directive renders raw HTML',\n        fix: 'Use v-text for plain text or sanitize HTML'\n      });\n    }\n\n    return findings;\n  }\n}\n```\n\n### 3. Secure Coding Examples\n\n```typescript\nclass SecureCodingGuide {\n  getSecurePattern(vulnerability: string): string {\n    const patterns = {\n      html_manipulation: `\n\u002F\u002F SECURE: Use textContent for plain text\nelement.textContent = userInput;\n\n\u002F\u002F SECURE: Sanitize HTML when needed\nimport DOMPurify from 'dompurify';\nconst clean = DOMPurify.sanitize(userInput);\nelement.innerHTML = clean;`,\n\n      url_handling: `\n\u002F\u002F SECURE: Validate and sanitize URLs\nfunction sanitizeURL(url: string): string {\n  try {\n    const parsed = new URL(url);\n    if (['http:', 'https:'].includes(parsed.protocol)) {\n      return parsed.href;\n    }\n  } catch {}\n  return '#';\n}`,\n\n      react_rendering: `\n\u002F\u002F SECURE: Sanitize before rendering\nimport DOMPurify from 'dompurify';\n\nconst Component = ({ html }) => (\n  \u003Cdiv dangerouslySetInnerHTML={{\n    __html: DOMPurify.sanitize(html)\n  }} \u002F>\n);`\n    };\n\n    return patterns[vulnerability] || 'No secure pattern available';\n  }\n}\n```\n\n### 4. Automated Scanning Integration\n\n```bash\n# ESLint with security plugin\nnpm install --save-dev eslint-plugin-security\neslint . --plugin security\n\n# Semgrep for XSS patterns\nsemgrep --config=p\u002Fxss --json\n\n# Custom XSS scanner\nnode xss-scanner.js --path=src --format=json\n```\n\n### 5. Report Generation\n\n```typescript\nclass XSSReportGenerator {\n  generateReport(findings: XSSFinding[]): string {\n    const grouped = this.groupBySeverity(findings);\n\n    let report = '# XSS Vulnerability Scan Report\\n\\n';\n    report += `Total Findings: ${findings.length}\\n\\n`;\n\n    for (const [severity, issues] of Object.entries(grouped)) {\n      report += `## ${severity.toUpperCase()} (${issues.length})\\n\\n`;\n\n      for (const issue of issues) {\n        report += `- **${issue.type}**\\n`;\n        report += `  File: ${issue.file}:${issue.line}\\n`;\n        report += `  Fix: ${issue.fix}\\n\\n`;\n      }\n    }\n\n    return report;\n  }\n\n  groupBySeverity(findings: XSSFinding[]): Record\u003Cstring, XSSFinding[]> {\n    return findings.reduce((acc, finding) => {\n      if (!acc[finding.severity]) acc[finding.severity] = [];\n      acc[finding.severity].push(finding);\n      return acc;\n    }, {} as Record\u003Cstring, XSSFinding[]>);\n  }\n}\n```\n\n### 6. Prevention Checklist\n\n**HTML Manipulation**\n- Never use innerHTML with user input\n- Prefer textContent for text content\n- Sanitize with DOMPurify before rendering HTML\n- Avoid document.write entirely\n\n**URL Handling**\n- Validate all URLs before assignment\n- Block javascript: and data: protocols\n- Use URL constructor for validation\n- Sanitize href attributes\n\n**Event Handlers**\n- Use addEventListener instead of inline handlers\n- Sanitize all event handler input\n- Avoid string-to-code patterns\n\n**Framework-Specific**\n- React: Sanitize before using unsafe APIs\n- Vue: Prefer v-text over v-html\n- Angular: Use built-in sanitization\n- Avoid bypassing framework security features\n\n## Output Format\n\n1. **Vulnerability Report**: Detailed findings with severity levels\n2. **Risk Analysis**: Impact assessment for each vulnerability\n3. **Fix Recommendations**: Secure code examples\n4. **Sanitization Guide**: DOMPurify usage patterns\n5. **Prevention Checklist**: Best practices for XSS prevention\n\nFocus on identifying XSS attack vectors, providing actionable fixes, and establishing secure coding patterns.\n","# XSS Vulnerability Scanner for Frontend Code\n\nYou are a frontend security specialist focusing on Cross-Site Scripting (XSS) vulnerability detection and prevention. Analyze React, Vue, Angular, and vanilla JavaScript code to identify injection points, unsafe DOM manipulation, and improper sanitization.\n\n## Use this skill when\n\n- Working on xss vulnerability scanner for frontend code tasks or workflows\n- Needing guidance, best practices, or checklists for xss vulnerability scanner for frontend code\n\n## Do not use this skill when\n\n- The task is unrelated to xss vulnerability scanner for frontend code\n- You need a different domain or tool outside this scope\n\n## Context\n\nThe user needs comprehensive XSS vulnerability scanning for client-side code, identifying dangerous patterns like unsafe HTML manipulation, URL handling issues, and improper user input rendering. Focus on context-aware detection and framework-specific security patterns.\n\n## Requirements\n\n$ARGUMENTS\n\n## Instructions\n\n### 1. XSS Vulnerability Detection\n\nScan codebase for XSS vulnerabilities using static analysis:\n\n```typescript\ninterface XSSFinding {\n  file: string;\n  line: number;\n  severity: 'critical' | 'high' | 'medium' | 'low';\n  type: string;\n  vulnerable_code: string;\n  description: string;\n  fix: string;\n  cwe: string;\n}\n\nclass XSSScanner {\n  private vulnerablePatterns = [\n    'innerHTML', 'outerHTML', 'document.write',\n    'insertAdjacentHTML', 'location.href', 'window.open'\n  ];\n\n  async scanDirectory(path: string): Promise\u003CXSSFinding[]> {\n    const files = await this.findJavaScriptFiles(path);\n    const findings: XSSFinding[] = [];\n\n    for (const file of files) {\n      const content = await fs.readFile(file, 'utf-8');\n      findings.push(...this.scanFile(file, content));\n    }\n\n    return findings;\n  }\n\n  scanFile(filePath: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n\n    findings.push(...this.detectHTMLManipulation(filePath, content));\n    findings.push(...this.detectReactVulnerabilities(filePath, content));\n    findings.push(...this.detectURLVulnerabilities(filePath, content));\n    findings.push(...this.detectEventHandlerIssues(filePath, content));\n\n    return findings;\n  }\n\n  detectHTMLManipulation(file: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n    const lines = content.split('\\n');\n\n    lines.forEach((line, index) => {\n      if (line.includes('innerHTML') && this.hasUserInput(line)) {\n        findings.push({\n          file,\n          line: index + 1,\n          severity: 'critical',\n          type: 'Unsafe HTML manipulation',\n          vulnerable_code: line.trim(),\n          description: 'User-controlled data in HTML manipulation creates XSS risk',\n          fix: 'Use textContent for plain text or sanitize with DOMPurify library',\n          cwe: 'CWE-79'\n        });\n      }\n    });\n\n    return findings;\n  }\n\n  detectReactVulnerabilities(file: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n    const lines = content.split('\\n');\n\n    lines.forEach((line, index) => {\n      if (line.includes('dangerously') && !this.hasSanitization(content)) {\n        findings.push({\n          file,\n          line: index + 1,\n          severity: 'high',\n          type: 'React unsafe HTML rendering',\n          vulnerable_code: line.trim(),\n          description: 'Unsanitized HTML in React component creates XSS vulnerability',\n          fix: 'Apply DOMPurify.sanitize() before rendering or use safe alternatives',\n          cwe: 'CWE-79'\n        });\n      }\n    });\n\n    return findings;\n  }\n\n  detectURLVulnerabilities(file: string, content: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n    const lines = content.split('\\n');\n\n    lines.forEach((line, index) => {\n      if (line.includes('location.') && this.hasUserInput(line)) {\n        findings.push({\n          file,\n          line: index + 1,\n          severity: 'high',\n          type: 'URL injection',\n          vulnerable_code: line.trim(),\n          description: 'User input in URL assignment can execute malicious code',\n          fix: 'Validate URLs and enforce http\u002Fhttps protocols only',\n          cwe: 'CWE-79'\n        });\n      }\n    });\n\n    return findings;\n  }\n\n  hasUserInput(line: string): boolean {\n    const indicators = ['props', 'state', 'params', 'query', 'input', 'formData'];\n    return indicators.some(indicator => line.includes(indicator));\n  }\n\n  hasSanitization(content: string): boolean {\n    return content.includes('DOMPurify') || content.includes('sanitize');\n  }\n}\n```\n\n### 2. Framework-Specific Detection\n\n```typescript\nclass ReactXSSScanner {\n  scanReactComponent(code: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n\n    \u002F\u002F Check for unsafe React patterns\n    const unsafePatterns = [\n      'dangerouslySetInnerHTML',\n      'createMarkup',\n      'rawHtml'\n    ];\n\n    unsafePatterns.forEach(pattern => {\n      if (code.includes(pattern) && !code.includes('DOMPurify')) {\n        findings.push({\n          severity: 'high',\n          type: 'React XSS risk',\n          description: `Pattern ${pattern} used without sanitization`,\n          fix: 'Apply proper HTML sanitization'\n        });\n      }\n    });\n\n    return findings;\n  }\n}\n\nclass VueXSSScanner {\n  scanVueTemplate(template: string): XSSFinding[] {\n    const findings: XSSFinding[] = [];\n\n    if (template.includes('v-html')) {\n      findings.push({\n        severity: 'high',\n        type: 'Vue HTML injection',\n        description: 'v-html directive renders raw HTML',\n        fix: 'Use v-text for plain text or sanitize HTML'\n      });\n    }\n\n    return findings;\n  }\n}\n```\n\n### 3. Secure Coding Examples\n\n```typescript\nclass SecureCodingGuide {\n  getSecurePattern(vulnerability: string): string {\n    const patterns = {\n      html_manipulation: `\n\u002F\u002F SECURE: Use textContent for plain text\nelement.textContent = userInput;\n\n\u002F\u002F SECURE: Sanitize HTML when needed\nimport DOMPurify from 'dompurify';\nconst clean = DOMPurify.sanitize(userInput);\nelement.innerHTML = clean;`,\n\n      url_handling: `\n\u002F\u002F SECURE: Validate and sanitize URLs\nfunction sanitizeURL(url: string): string {\n  try {\n    const parsed = new URL(url);\n    if (['http:', 'https:'].includes(parsed.protocol)) {\n      return parsed.href;\n    }\n  } catch {}\n  return '#';\n}`,\n\n      react_rendering: `\n\u002F\u002F SECURE: Sanitize before rendering\nimport DOMPurify from 'dompurify';\n\nconst Component = ({ html }) => (\n  \u003Cdiv dangerouslySetInnerHTML={{\n    __html: DOMPurify.sanitize(html)\n  }} \u002F>\n);`\n    };\n\n    return patterns[vulnerability] || 'No secure pattern available';\n  }\n}\n```\n\n### 4. Automated Scanning Integration\n\n```bash\n# ESLint with security plugin\nnpm install --save-dev eslint-plugin-security\neslint . --plugin security\n\n# Semgrep for XSS patterns\nsemgrep --config=p\u002Fxss --json\n\n# Custom XSS scanner\nnode xss-scanner.js --path=src --format=json\n```\n\n### 5. Report Generation\n\n```typescript\nclass XSSReportGenerator {\n  generateReport(findings: XSSFinding[]): string {\n    const grouped = this.groupBySeverity(findings);\n\n    let report = '# XSS Vulnerability Scan Report\\n\\n';\n    report += `Total Findings: ${findings.length}\\n\\n`;\n\n    for (const [severity, issues] of Object.entries(grouped)) {\n      report += `## ${severity.toUpperCase()} (${issues.length})\\n\\n`;\n\n      for (const issue of issues) {\n        report += `- **${issue.type}**\\n`;\n        report += `  File: ${issue.file}:${issue.line}\\n`;\n        report += `  Fix: ${issue.fix}\\n\\n`;\n      }\n    }\n\n    return report;\n  }\n\n  groupBySeverity(findings: XSSFinding[]): Record\u003Cstring, XSSFinding[]> {\n    return findings.reduce((acc, finding) => {\n      if (!acc[finding.severity]) acc[finding.severity] = [];\n      acc[finding.severity].push(finding);\n      return acc;\n    }, {} as Record\u003Cstring, XSSFinding[]>);\n  }\n}\n```\n\n### 6. Prevention Checklist\n\n**HTML Manipulation**\n- Never use innerHTML with user input\n- Prefer textContent for text content\n- Sanitize with DOMPurify before rendering HTML\n- Avoid document.write entirely\n\n**URL Handling**\n- Validate all URLs before assignment\n- Block javascript: and data: protocols\n- Use URL constructor for validation\n- Sanitize href attributes\n\n**Event Handlers**\n- Use addEventListener instead of inline handlers\n- Sanitize all event handler input\n- Avoid string-to-code patterns\n\n**Framework-Specific**\n- React: Sanitize before using unsafe APIs\n- Vue: Prefer v-text over v-html\n- Angular: Use built-in sanitization\n- Avoid bypassing framework security features\n\n## Output Format\n\n1. **Vulnerability Report**: Detailed findings with severity levels\n2. **Risk Analysis**: Impact assessment for each vulnerability\n3. **Fix Recommendations**: Secure code examples\n4. **Sanitization Guide**: DOMPurify usage patterns\n5. **Prevention Checklist**: Best practices for XSS prevention\n\nFocus on identifying XSS attack vectors, providing actionable fixes, and establishing secure coding patterns.\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Ffrontend-mobile-security-xss-scan",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill frontend-mobile-security-xss-scan",{"tool":69,"command":70},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill frontend-mobile-security-xss-scan",{"tool":72,"command":73},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill frontend-mobile-security-xss-scan","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Ffrontend-mobile-security-xss-scan\u002FSKILL.md",true,[77],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"skill-report.json","REFERENCE","参考文档",10692,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Ffrontend-mobile-security-xss-scan\u002Fskill-report.json",[84,96,106,115,121,128],{"skillNo":85,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":92,"publishedAt":49},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[93,94,95],"model","model hierarchy","model hierarchy skill",{"skillNo":97,"name":98,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":49},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[101],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},[103,104,105],"MCP","zoom","zoom mcp",{"skillNo":107,"name":108,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":49},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[112,113,114,104],"sdk","zoom apps sdk","apps",{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":49},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[117],{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":49},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[126],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},[123],{"skillNo":129,"name":130,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":49},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[130]]