[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CXSQGQDRVWPZ98SCRTQTJ8":3,"skill-same:01M6CXSQGQDRVWPZ98SCRTQTJ8":51},{"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":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":31,"commitSha":32,"skillDirectory":5,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6CXSQGQDRVWPZ98SCRTQTJ8","vulnerability-assessment",null,"Finding and assessing security vulnerabilities","ffsshhttiikk\u002Fopencode-agents-skills","ffsshhttiikk","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F226346827?v=4","01M6CWD9RR3Y7VRQX3MXYC8FYH","01M6CWD9WVPYAZW0J82G1VKGHY",3,"MIT","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fvulnerability-assessment\u002FSKILL.md",[],[18,19,20,21,22,23],"assessment","vulnerability","vulnerability assessment","security","vulnerabilities","opencode","2026-11-10 10:12:30",false,"---\nname: vulnerability-assessment\ndescription: Finding and assessing security vulnerabilities\nlicense: MIT\ncompatibility: opencode\nmetadata:\n  audience: developers\n  category: security\n---\n\n## What I do\n- Scan for vulnerabilities in systems and applications\n- Assess vulnerability severity and risk\n- Prioritize remediation efforts\n- Verify vulnerability fixes\n- Maintain vulnerability inventory\n- Provide remediation guidance\n\n## When to use me\nWhen identifying security weaknesses in code, infrastructure, or applications.\n\n## Vulnerability Assessment Process\n\n### Discovery\n```python\nfrom enum import Enum\n\nclass VulnerabilityType(Enum):\n    INJECTION = \"injection\"\n    AUTHENTICATION = \"authentication\"\n    SENSITIVE_DATA = \"sensitive_data\"\n    XXE = \"xxe\"\n    ACCESS_CONTROL = \"access_control\"\n    MISCONFIGURATION = \"misconfiguration\"\n\nclass VulnerabilityScanner:\n    \"\"\"Automated vulnerability discovery\"\"\"\n    \n    def __init__(self):\n        self.findings = []\n    \n    def scan_web_application(self, url: str) -> list:\n        \"\"\"Scan web application for vulnerabilities\"\"\"\n        vulnerabilities = []\n        \n        # Check for SQL injection\n        if self._test_sql_injection(url):\n            vulnerabilities.append(self._create_finding(\n                \"SQL Injection\",\n                VulnerabilityType.INJECTION,\n                \"high\",\n                \"Unsanitized input in database query\"\n            ))\n        \n        # Check for XSS\n        if self._test_xss(url):\n            vulnerabilities.append(self._create_finding(\n                \"Cross-Site Scripting\",\n                VulnerabilityType.INJECTION,\n                \"medium\",\n                \"Unescaped user output\"\n            ))\n        \n        # Check for CSRF\n        if self._test_csrf(url):\n            vulnerabilities.append(self._create_finding(\n                \"CSRF\",\n                VulnerabilityType.ACCESS_CONTROL,\n                \"medium\",\n                \"Missing anti-CSRF token\"\n            ))\n        \n        return vulnerabilities\n    \n    def scan_code(self, code: str, language: str) -> list:\n        \"\"\"Static code analysis\"\"\"\n        findings = []\n        \n        # Check for hardcoded credentials\n        if \"password =\" in code.lower():\n            findings.append(self._create_finding(\n                \"Hardcoded Credentials\",\n                VulnerabilityType.SENSITIVE_DATA,\n                \"critical\",\n                \"Hardcoded password in source\"\n            ))\n        \n        # Check for SQL injection risk\n        if \"execute(\" in code and \"f'\" in code:\n            findings.append(self._create_finding(\n                \"Potential SQL Injection\",\n                VulnerabilityType.INJECTION,\n                \"high\",\n                \"String formatting in SQL query\"\n            ))\n        \n        return findings\n    \n    def _create_finding(self, name: str, vuln_type: VulnerabilityType,\n                       severity: str, description: str) -> dict:\n        return {\n            \"name\": name,\n            \"type\": vuln_type.value,\n            \"severity\": severity,\n            \"description\": description,\n            \"cwe\": self._lookup_cwe(name),\n            \"cvss\": self._calculate_cvss(severity)\n        }\n```\n\n### Assessment\n```python\nclass VulnerabilityAssessment:\n    \"\"\"Assess and prioritize vulnerabilities\"\"\"\n    \n    CVSS_SEVERITY = {\n        9.0: \"critical\",\n        7.0: \"high\",\n        4.0: \"medium\",\n        0.1: \"low\",\n        0.0: \"info\"\n    }\n    \n    def __init__(self):\n        self.vulnerabilities = []\n    \n    def add_vulnerability(self, vuln: dict):\n        \"\"\"Add vulnerability to assessment\"\"\"\n        vuln[\"cvss_score\"] = self._calculate_cvss_score(vuln)\n        vuln[\"risk_level\"] = self._determine_risk_level(vuln[\"cvss_score\"])\n        vuln[\"affected_assets\"] = []\n        vuln[\"remediation_status\"] = \"open\"\n        \n        self.vulnerabilities.append(vuln)\n    \n    def _calculate_cvss_score(self, vuln: dict) -> float:\n        \"\"\"Calculate CVSS 3.1 score\"\"\"\n        # Simplified CVSS calculation\n        base_score = 0\n        \n        if vuln.get(\"severity\") == \"critical\":\n            base_score = 9.5\n        elif vuln.get(\"severity\") == \"high\":\n            base_score = 7.5\n        elif vuln.get(\"severity\") == \"medium\":\n            base_score = 5.0\n        else:\n            base_score = 2.5\n        \n        # Adjust for exploitability\n        if vuln.get(\"exploitable\"):\n            base_score = min(base_score + 0.5, 10.0)\n        \n        return base_score\n    \n    def prioritize(self) -> list:\n        \"\"\"Sort vulnerabilities by priority\"\"\"\n        return sorted(\n            self.vulnerabilities,\n            key=lambda v: (v[\"risk_level\"], v[\"cvss_score\"]),\n            reverse=True\n        )\n    \n    def get_remediation_sla(self, risk_level: str) -> int:\n        \"\"\"Get remediation SLA in days\"\"\"\n        return {\n            \"critical\": 7,\n            \"high\": 30,\n            \"medium\": 90,\n            \"low\": 180\n        }.get(risk_level, 180)\n```\n\n### Remediation Tracking\n```python\nclass RemediationTracker:\n    \"\"\"Track vulnerability remediation\"\"\"\n    \n    def __init__(self):\n        self.remediation_queue = []\n    \n    def create_remediation_task(self, vulnerability: dict,\n                               assignee: str) -> dict:\n        \"\"\"Create remediation task\"\"\"\n        task = {\n            \"id\": f\"REM-{len(self.remediation_queue) + 1}\",\n            \"vulnerability\": vulnerability,\n            \"assignee\": assignee,\n            \"status\": \"in_progress\",\n            \"created\": datetime.now(),\n            \"due_date\": datetime.now() + timedelta(\n                days=vulnerability.get(\"sla_days\", 30)\n            ),\n            \"steps\": self._generate_remediation_steps(vulnerability)\n        }\n        \n        self.remediation_queue.append(task)\n        return task\n    \n    def _generate_remediation_steps(self, vuln: dict) -> list:\n        \"\"\"Generate remediation steps based on vulnerability type\"\"\"\n        templates = {\n            \"sql_injection\": [\n                \"Use parameterized queries\",\n                \"Implement input validation\",\n                \"Apply least privilege to database user\"\n            ],\n            \"xss\": [\n                \"Escape output based on context\",\n                \"Use Content Security Policy\",\n                \"Implement output encoding\"\n            ],\n            \"hardcoded_credentials\": [\n                \"Remove credentials from code\",\n                \"Implement secrets management\",\n                \"Rotate exposed credentials\"\n            ]\n        }\n        \n        return templates.get(vuln.get(\"type\"), [\"Investigate and fix\"])\n    \n    def verify_remediation(self, task_id: str) -> bool:\n        \"\"\"Verify vulnerability is fixed\"\"\"\n        task = next((t for t in self.remediation_queue if t[\"id\"] == task_id), None)\n        if not task:\n            return False\n        \n        # Re-scan to verify fix\n        # In practice, this would trigger a rescan\n        task[\"status\"] = \"verified\"\n        task[\"verified_date\"] = datetime.now()\n        \n        return True\n```\n\n### OWASP Top 10\n```python\nclass OWASPAssessment:\n    \"\"\"OWASP Top 10 vulnerability checks\"\"\"\n    \n    TOP_10 = [\n        \"A01:2021-Broken Access Control\",\n        \"A02:2021-Cryptographic Failures\",\n        \"A03:2021-Injection\",\n        \"A04:2021-Insecure Design\",\n        \"A05:2021-Security Misconfiguration\",\n        \"A06:2021-Vulnerable Components\",\n        \"A07:2021-Authentication Failures\",\n        \"A08:2021-Software Data Integrity Failures\",\n        \"A09:2021-Security Logging Failures\",\n        \"A10:2021-Server-Side Request Forgery\"\n    ]\n    \n    def check_access_control(self, app) -> dict:\n        \"\"\"Check for broken access control\"\"\"\n        checks = [\n            {\n                \"check\": \"Directory traversal\",\n                \"vulnerable\": self._test_directory_traversal(app),\n                \"remediation\": \"Validate and sanitize file paths\"\n            },\n            {\n                \"check\": \"IDOR\",\n                \"vulnerable\": self._test_idor(app),\n                \"remediation\": \"Implement object-level authorization\"\n            },\n            {\n                \"check\": \"Privilege escalation\",\n                \"vulnerable\": self._test_privilege_escalation(app),\n                \"remediation\": \"Verify user permissions on each request\"\n            }\n        ]\n        \n        return {\n            \"category\": self.TOP_10[0],\n            \"findings\": [c for c in checks if c[\"vulnerable\"]],\n            \"overall_status\": \"pass\" if not any(c[\"vulnerable\"] for c in checks) else \"fail\"\n        }\n```\n","## What I do\n- Scan for vulnerabilities in systems and applications\n- Assess vulnerability severity and risk\n- Prioritize remediation efforts\n- Verify vulnerability fixes\n- Maintain vulnerability inventory\n- Provide remediation guidance\n\n## When to use me\nWhen identifying security weaknesses in code, infrastructure, or applications.\n\n## Vulnerability Assessment Process\n\n### Discovery\n```python\nfrom enum import Enum\n\nclass VulnerabilityType(Enum):\n    INJECTION = \"injection\"\n    AUTHENTICATION = \"authentication\"\n    SENSITIVE_DATA = \"sensitive_data\"\n    XXE = \"xxe\"\n    ACCESS_CONTROL = \"access_control\"\n    MISCONFIGURATION = \"misconfiguration\"\n\nclass VulnerabilityScanner:\n    \"\"\"Automated vulnerability discovery\"\"\"\n    \n    def __init__(self):\n        self.findings = []\n    \n    def scan_web_application(self, url: str) -> list:\n        \"\"\"Scan web application for vulnerabilities\"\"\"\n        vulnerabilities = []\n        \n        # Check for SQL injection\n        if self._test_sql_injection(url):\n            vulnerabilities.append(self._create_finding(\n                \"SQL Injection\",\n                VulnerabilityType.INJECTION,\n                \"high\",\n                \"Unsanitized input in database query\"\n            ))\n        \n        # Check for XSS\n        if self._test_xss(url):\n            vulnerabilities.append(self._create_finding(\n                \"Cross-Site Scripting\",\n                VulnerabilityType.INJECTION,\n                \"medium\",\n                \"Unescaped user output\"\n            ))\n        \n        # Check for CSRF\n        if self._test_csrf(url):\n            vulnerabilities.append(self._create_finding(\n                \"CSRF\",\n                VulnerabilityType.ACCESS_CONTROL,\n                \"medium\",\n                \"Missing anti-CSRF token\"\n            ))\n        \n        return vulnerabilities\n    \n    def scan_code(self, code: str, language: str) -> list:\n        \"\"\"Static code analysis\"\"\"\n        findings = []\n        \n        # Check for hardcoded credentials\n        if \"password =\" in code.lower():\n            findings.append(self._create_finding(\n                \"Hardcoded Credentials\",\n                VulnerabilityType.SENSITIVE_DATA,\n                \"critical\",\n                \"Hardcoded password in source\"\n            ))\n        \n        # Check for SQL injection risk\n        if \"execute(\" in code and \"f'\" in code:\n            findings.append(self._create_finding(\n                \"Potential SQL Injection\",\n                VulnerabilityType.INJECTION,\n                \"high\",\n                \"String formatting in SQL query\"\n            ))\n        \n        return findings\n    \n    def _create_finding(self, name: str, vuln_type: VulnerabilityType,\n                       severity: str, description: str) -> dict:\n        return {\n            \"name\": name,\n            \"type\": vuln_type.value,\n            \"severity\": severity,\n            \"description\": description,\n            \"cwe\": self._lookup_cwe(name),\n            \"cvss\": self._calculate_cvss(severity)\n        }\n```\n\n### Assessment\n```python\nclass VulnerabilityAssessment:\n    \"\"\"Assess and prioritize vulnerabilities\"\"\"\n    \n    CVSS_SEVERITY = {\n        9.0: \"critical\",\n        7.0: \"high\",\n        4.0: \"medium\",\n        0.1: \"low\",\n        0.0: \"info\"\n    }\n    \n    def __init__(self):\n        self.vulnerabilities = []\n    \n    def add_vulnerability(self, vuln: dict):\n        \"\"\"Add vulnerability to assessment\"\"\"\n        vuln[\"cvss_score\"] = self._calculate_cvss_score(vuln)\n        vuln[\"risk_level\"] = self._determine_risk_level(vuln[\"cvss_score\"])\n        vuln[\"affected_assets\"] = []\n        vuln[\"remediation_status\"] = \"open\"\n        \n        self.vulnerabilities.append(vuln)\n    \n    def _calculate_cvss_score(self, vuln: dict) -> float:\n        \"\"\"Calculate CVSS 3.1 score\"\"\"\n        # Simplified CVSS calculation\n        base_score = 0\n        \n        if vuln.get(\"severity\") == \"critical\":\n            base_score = 9.5\n        elif vuln.get(\"severity\") == \"high\":\n            base_score = 7.5\n        elif vuln.get(\"severity\") == \"medium\":\n            base_score = 5.0\n        else:\n            base_score = 2.5\n        \n        # Adjust for exploitability\n        if vuln.get(\"exploitable\"):\n            base_score = min(base_score + 0.5, 10.0)\n        \n        return base_score\n    \n    def prioritize(self) -> list:\n        \"\"\"Sort vulnerabilities by priority\"\"\"\n        return sorted(\n            self.vulnerabilities,\n            key=lambda v: (v[\"risk_level\"], v[\"cvss_score\"]),\n            reverse=True\n        )\n    \n    def get_remediation_sla(self, risk_level: str) -> int:\n        \"\"\"Get remediation SLA in days\"\"\"\n        return {\n            \"critical\": 7,\n            \"high\": 30,\n            \"medium\": 90,\n            \"low\": 180\n        }.get(risk_level, 180)\n```\n\n### Remediation Tracking\n```python\nclass RemediationTracker:\n    \"\"\"Track vulnerability remediation\"\"\"\n    \n    def __init__(self):\n        self.remediation_queue = []\n    \n    def create_remediation_task(self, vulnerability: dict,\n                               assignee: str) -> dict:\n        \"\"\"Create remediation task\"\"\"\n        task = {\n            \"id\": f\"REM-{len(self.remediation_queue) + 1}\",\n            \"vulnerability\": vulnerability,\n            \"assignee\": assignee,\n            \"status\": \"in_progress\",\n            \"created\": datetime.now(),\n            \"due_date\": datetime.now() + timedelta(\n                days=vulnerability.get(\"sla_days\", 30)\n            ),\n            \"steps\": self._generate_remediation_steps(vulnerability)\n        }\n        \n        self.remediation_queue.append(task)\n        return task\n    \n    def _generate_remediation_steps(self, vuln: dict) -> list:\n        \"\"\"Generate remediation steps based on vulnerability type\"\"\"\n        templates = {\n            \"sql_injection\": [\n                \"Use parameterized queries\",\n                \"Implement input validation\",\n                \"Apply least privilege to database user\"\n            ],\n            \"xss\": [\n                \"Escape output based on context\",\n                \"Use Content Security Policy\",\n                \"Implement output encoding\"\n            ],\n            \"hardcoded_credentials\": [\n                \"Remove credentials from code\",\n                \"Implement secrets management\",\n                \"Rotate exposed credentials\"\n            ]\n        }\n        \n        return templates.get(vuln.get(\"type\"), [\"Investigate and fix\"])\n    \n    def verify_remediation(self, task_id: str) -> bool:\n        \"\"\"Verify vulnerability is fixed\"\"\"\n        task = next((t for t in self.remediation_queue if t[\"id\"] == task_id), None)\n        if not task:\n            return False\n        \n        # Re-scan to verify fix\n        # In practice, this would trigger a rescan\n        task[\"status\"] = \"verified\"\n        task[\"verified_date\"] = datetime.now()\n        \n        return True\n```\n\n### OWASP Top 10\n```python\nclass OWASPAssessment:\n    \"\"\"OWASP Top 10 vulnerability checks\"\"\"\n    \n    TOP_10 = [\n        \"A01:2021-Broken Access Control\",\n        \"A02:2021-Cryptographic Failures\",\n        \"A03:2021-Injection\",\n        \"A04:2021-Insecure Design\",\n        \"A05:2021-Security Misconfiguration\",\n        \"A06:2021-Vulnerable Components\",\n        \"A07:2021-Authentication Failures\",\n        \"A08:2021-Software Data Integrity Failures\",\n        \"A09:2021-Security Logging Failures\",\n        \"A10:2021-Server-Side Request Forgery\"\n    ]\n    \n    def check_access_control(self, app) -> dict:\n        \"\"\"Check for broken access control\"\"\"\n        checks = [\n            {\n                \"check\": \"Directory traversal\",\n                \"vulnerable\": self._test_directory_traversal(app),\n                \"remediation\": \"Validate and sanitize file paths\"\n            },\n            {\n                \"check\": \"IDOR\",\n                \"vulnerable\": self._test_idor(app),\n                \"remediation\": \"Implement object-level authorization\"\n            },\n            {\n                \"check\": \"Privilege escalation\",\n                \"vulnerable\": self._test_privilege_escalation(app),\n                \"remediation\": \"Verify user permissions on each request\"\n            }\n        ]\n        \n        return {\n            \"category\": self.TOP_10[0],\n            \"findings\": [c for c in checks if c[\"vulnerable\"]],\n            \"overall_status\": \"pass\" if not any(c[\"vulnerable\"] for c in checks) else \"fail\"\n        }\n```\n",{"name":5,"license":14,"metadata":29,"description":7,"compatibility":23},{"audience":30,"category":21},"developers","main","5f7a3e453c98261f93d19a6a7de44ad8f7b72d41",2,"https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk","2026-03-01 06:55:40",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill vulnerability-assessment",{"tool":43,"command":44},"bunx","bunx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill vulnerability-assessment",{"tool":46,"command":47},"pnpm","pnpm dlx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill vulnerability-assessment","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fvulnerability-assessment\u002FSKILL.md",true,[],[52,63,73,82,92,101],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":24},"01M6CXT9TXDF79BWJTMQAPB49G","xamarin","Xamarin cross-platform development","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fxamarin\u002FSKILL.md",[],[54,59,60,61,23,62],"platform","cross-platform","mobile","development",{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":24},"01M6CXT8AD04MFYDA32VW3FKAG","wrangling","Data wrangling fundamentals","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwrangling\u002FSKILL.md",[],[65,70,23,71,72],"data wrangling","science","data",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":24},"01M6CXT717GCN7SRRNPBDP4508","windows","Windows operating system administration and scripting","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwindows\u002FSKILL.md",[],[75,80,23,81],"system","scripting",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":24},"01M6CXT54K794NMEM3XAPZZDKT","wide-column","Wide-column data model","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column\u002FSKILL.md",[],[89,90,23,91,72],"wide column","databases","model",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":24},"01M6CXT28FMT2P4V9GZE67WA8E","wide-column-stores","Wide-column database stores","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column-stores\u002FSKILL.md",[],[99,90,23,100],"wide column stores","database",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":24},"01M6CXT0D0M0Q4T2N7C2RX7DSN","websockets","WebSocket implementation and best practices","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwebsockets\u002FSKILL.md",[],[103,108,109,110,23,111,112],"websocket","real-time","time","best practices","implementation"]