[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EPCAZZNHKCX0WSQQF8AEBN":3,"skill-same:01M6EPCAZZNHKCX0WSQQF8AEBN":87},{"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":23,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6EPCAZZNHKCX0WSQQF8AEBN","autofix",null,"Auto-fix CodeRabbit review comments - get CodeRabbit review comments from GitHub and fix them interactively or in batch","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\u002Fcoderabbitai\u002Fautofix\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33],"review","github","issues","batch","fix","auto","coderabbit","show","get","coderabbit review","2026-11-10 10:12:30",false,"---\nname: autofix\ndescription: Auto-fix CodeRabbit review comments - get CodeRabbit review comments from GitHub and fix them interactively or in batch\nversion: 0.1.0\ntriggers:\n  - coderabbit.?autofix\n  - coderabbit.?auto.?fix\n  - autofix.?coderabbit\n  - coderabbit.?fix\n  - fix.?coderabbit\n  - coderabbit.?review\n  - review.?coderabbit\n  - coderabbit.?issues?\n  - show.?coderabbit\n  - get.?coderabbit\n  - cr.?autofix\n  - cr.?fix\n  - cr.?review\n---\n\n# CodeRabbit Autofix\n\nFetch CodeRabbit review comments for your current branch's PR and fix them interactively or in batch.\n\n## Prerequisites\n\n### Required Tools\n- `gh` (GitHub CLI) - [Installation guide](.\u002Fgithub.md)\n- `git`\n\nVerify: `gh auth status`\n\n### Required State\n- Git repo on GitHub\n- Current branch has open PR\n- PR reviewed by CodeRabbit bot (`coderabbitai`, `coderabbit[bot]`, `coderabbitai[bot]`)\n\n## Workflow\n\n### Step 0: Load Repository Instructions (`AGENTS.md`)\n\nBefore any autofix actions, search for `AGENTS.md` in the current repository and load applicable instructions.\n\n- If found, follow its build\u002Flint\u002Ftest\u002Fcommit guidance throughout the run.\n- If not found, continue with default workflow.\n\n### Step 1: Check Code Push Status\n\nCheck: `git status` + check for unpushed commits\n\n**If uncommitted changes:**\n- Warn: \"⚠️ Uncommitted changes won't be in CodeRabbit review\"\n- Ask: \"Commit and push first?\" → If yes: wait for user action, then continue\n\n**If unpushed commits:**\n- Warn: \"⚠️ N unpushed commits. CodeRabbit hasn't reviewed them\"\n- Ask: \"Push now?\" → If yes: `git push`, inform \"CodeRabbit will review in ~5 min\", EXIT skill\n\n**Otherwise:** Proceed to Step 2\n\n### Step 2: Find Open PR\n\n```bash\ngh pr list --head $(git branch --show-current) --state open --json number,title\n```\n\n**If no PR:** Ask \"Create PR?\" → If yes: create PR (see [github.md § 5](.\u002Fgithub.md#5-create-pr-if-needed)), inform \"Run skill again in ~5 min\", EXIT\n\n### Step 3: Fetch Unresolved CodeRabbit Threads\n\nFetch PR review threads (see [github.md § 2](.\u002Fgithub.md#2-fetch-unresolved-threads)):\n- Threads: `gh api graphql ... pullRequest.reviewThreads ...` (see [github.md § 2](.\u002Fgithub.md#2-fetch-unresolved-threads))\n\nFilter to:\n- unresolved threads only (`isResolved == false`)\n- threads started by CodeRabbit bot (`coderabbitai`, `coderabbit[bot]`, `coderabbitai[bot]`)\n\n**If review in progress:** Check for \"Come back again in a few minutes\" message → Inform \"⏳ Review in progress, try again in a few minutes\", EXIT\n\n**If no unresolved CodeRabbit threads:** Inform \"No unresolved CodeRabbit review threads found\", EXIT\n\n**For each selected thread:**\n- Extract issue metadata from root comment\n\n### Step 4: Parse and Display Issues\n\n**Extract from each comment:**\n1. **Header:** `_([^_]+)_ \\| _([^_]+)_` → Issue type | Severity\n2. **Description:** Main body text\n3. **Agent prompt:** Content in `\u003Cdetails>\u003Csummary>? Prompt for AI Agents\u003C\u002Fsummary>` (this is the fix instruction)\n   - If missing, use description as fallback\n4. **Location:** File path and line numbers\n\n**Map severity:**\n- ? Critical\u002FHigh → CRITICAL (action required)\n- ? Medium → HIGH (review recommended)\n- ? Minor\u002FLow → MEDIUM (review recommended)\n- ? Info\u002FSuggestion → LOW (optional)\n- ? Security → Treat as high priority\n\n**Display in CodeRabbit's original order** (already severity-ordered):\n\n```\nCodeRabbit Issues for PR #123: [PR Title]\n\n| # | Severity | Issue Title | Location & Details | Type | Action |\n|---|----------|-------------|-------------------|------|--------|\n| 1 | ? CRITICAL | Insecure authentication check | src\u002Fauth\u002Fservice.py:42\u003Cbr>Authorization logic inverted | ? Bug ? Security | Fix |\n| 2 | ? HIGH | Database query not awaited | src\u002Fdb\u002Frepository.py:89\u003Cbr>Async call missing await | ? Bug | Fix |\n```\n\n### Step 5: Ask User for Fix Preference\n\nUse AskUserQuestion:\n- ? \"Review each issue\" - Manual review and approval (recommended)\n- ⚡ \"Auto-fix all\" - Apply all \"Fix\" issues without approval\n- ❌ \"Cancel\" - Exit\n\n**Route based on choice:**\n- Review → Step 5\n- Auto-fix → Step 6\n- Cancel → EXIT\n\n### Step 6: Manual Review Mode\n\nFor each \"Fix\" issue (CRITICAL first):\n1. Read relevant files\n2. **Execute CodeRabbit's agent prompt as direct instruction** (from \"? Prompt for AI Agents\" section)\n3. Calculate proposed fix (DO NOT apply yet)\n4. **Show fix and ask approval in ONE step:**\n   - Issue title + location\n   - CodeRabbit's agent prompt (so user can verify)\n   - Current code\n   - Proposed diff\n   - AskUserQuestion: ✅ Apply fix | ⏭️ Defer | ? Modify\n\n**If \"Apply fix\":**\n- Apply with Edit tool\n- Track changed files for a single consolidated commit after all fixes\n- Confirm: \"✅ Fix applied and commented\"\n\n**If \"Defer\":**\n- Ask for reason (AskUserQuestion)\n- Move to next\n\n**If \"Modify\":**\n- Inform user can make changes manually\n- Move to next\n\n### Step 7: Auto-Fix Mode\n\nFor each \"Fix\" issue (CRITICAL first):\n1. Read relevant files\n2. **Execute CodeRabbit's agent prompt as direct instruction**\n3. Apply fix with Edit tool\n4. Track changed files for one consolidated commit\n5. Report:\n   > ✅ **Fixed: [Issue Title]** at `[Location]`\n   > **Agent prompt:** [prompt used]\n\nAfter all fixes, display summary of fixed\u002Fskipped issues.\n\n### Step 8: Create Single Consolidated Commit\n\nIf any fixes were applied:\n\n```bash\ngit add \u003Call-changed-files>\ngit commit -m \"fix: apply CodeRabbit auto-fixes\"\n```\n\nUse one commit for all applied fixes in this run.\n\n### Step 9: Prompt Build\u002FLint Before Push\n\nIf a consolidated commit was created:\n- Prompt user interactively to run validation before push (recommended, not required).\n- Remind the user of the `AGENTS.md` instructions already loaded in Step 0 (if present).\n- If user agrees, run the requested checks and report results.\n\n### Step 10: Push Changes\n\nIf a consolidated commit was created:\n- Ask: \"Push changes?\" → If yes: `git push`\n\nIf all deferred (no commit): Skip this step.\n\n### Step 11: Post Summary\n\n**REQUIRED after all issues reviewed:**\n\n```bash\ngh pr comment \u003Cpr-number> --body \"$(cat \u003C\u003C'EOF'\n## Fixes Applied Successfully\n\nFixed \u003Cfile-count> file(s) based on \u003Cissue-count> unresolved review comment(s).\n\n**Files modified:**\n- `path\u002Fto\u002Ffile-a.ts`\n- `path\u002Fto\u002Ffile-b.ts`\n\n**Commit:** `\u003Ccommit-sha>`\n\nThe latest autofix changes are on the `\u003Cbranch-name>` branch.\n\nEOF\n)\"\n```\n\nSee [github.md § 3](.\u002Fgithub.md#3-post-summary-comment) for details.\n\nOptionally react to CodeRabbit's main comment with ?.\n\n## Key Notes\n\n- **Follow agent prompts literally** - The \"? Prompt for AI Agents\" section IS the fix specification\n- **One approval per fix** - Show context + diff + AskUserQuestion in single message (manual mode)\n- **Preserve issue titles** - Use CodeRabbit's exact titles, don't paraphrase\n- **Preserve ordering** - Display issues in CodeRabbit's original order\n- **Do not post per-issue replies** - Keep the workflow summary-comment only\n","# CodeRabbit Autofix\n\nFetch CodeRabbit review comments for your current branch's PR and fix them interactively or in batch.\n\n## Prerequisites\n\n### Required Tools\n- `gh` (GitHub CLI) - [Installation guide](.\u002Fgithub.md)\n- `git`\n\nVerify: `gh auth status`\n\n### Required State\n- Git repo on GitHub\n- Current branch has open PR\n- PR reviewed by CodeRabbit bot (`coderabbitai`, `coderabbit[bot]`, `coderabbitai[bot]`)\n\n## Workflow\n\n### Step 0: Load Repository Instructions (`AGENTS.md`)\n\nBefore any autofix actions, search for `AGENTS.md` in the current repository and load applicable instructions.\n\n- If found, follow its build\u002Flint\u002Ftest\u002Fcommit guidance throughout the run.\n- If not found, continue with default workflow.\n\n### Step 1: Check Code Push Status\n\nCheck: `git status` + check for unpushed commits\n\n**If uncommitted changes:**\n- Warn: \"⚠️ Uncommitted changes won't be in CodeRabbit review\"\n- Ask: \"Commit and push first?\" → If yes: wait for user action, then continue\n\n**If unpushed commits:**\n- Warn: \"⚠️ N unpushed commits. CodeRabbit hasn't reviewed them\"\n- Ask: \"Push now?\" → If yes: `git push`, inform \"CodeRabbit will review in ~5 min\", EXIT skill\n\n**Otherwise:** Proceed to Step 2\n\n### Step 2: Find Open PR\n\n```bash\ngh pr list --head $(git branch --show-current) --state open --json number,title\n```\n\n**If no PR:** Ask \"Create PR?\" → If yes: create PR (see [github.md § 5](.\u002Fgithub.md#5-create-pr-if-needed)), inform \"Run skill again in ~5 min\", EXIT\n\n### Step 3: Fetch Unresolved CodeRabbit Threads\n\nFetch PR review threads (see [github.md § 2](.\u002Fgithub.md#2-fetch-unresolved-threads)):\n- Threads: `gh api graphql ... pullRequest.reviewThreads ...` (see [github.md § 2](.\u002Fgithub.md#2-fetch-unresolved-threads))\n\nFilter to:\n- unresolved threads only (`isResolved == false`)\n- threads started by CodeRabbit bot (`coderabbitai`, `coderabbit[bot]`, `coderabbitai[bot]`)\n\n**If review in progress:** Check for \"Come back again in a few minutes\" message → Inform \"⏳ Review in progress, try again in a few minutes\", EXIT\n\n**If no unresolved CodeRabbit threads:** Inform \"No unresolved CodeRabbit review threads found\", EXIT\n\n**For each selected thread:**\n- Extract issue metadata from root comment\n\n### Step 4: Parse and Display Issues\n\n**Extract from each comment:**\n1. **Header:** `_([^_]+)_ \\| _([^_]+)_` → Issue type | Severity\n2. **Description:** Main body text\n3. **Agent prompt:** Content in `\u003Cdetails>\u003Csummary>? Prompt for AI Agents\u003C\u002Fsummary>` (this is the fix instruction)\n   - If missing, use description as fallback\n4. **Location:** File path and line numbers\n\n**Map severity:**\n- ? Critical\u002FHigh → CRITICAL (action required)\n- ? Medium → HIGH (review recommended)\n- ? Minor\u002FLow → MEDIUM (review recommended)\n- ? Info\u002FSuggestion → LOW (optional)\n- ? Security → Treat as high priority\n\n**Display in CodeRabbit's original order** (already severity-ordered):\n\n```\nCodeRabbit Issues for PR #123: [PR Title]\n\n| # | Severity | Issue Title | Location & Details | Type | Action |\n|---|----------|-------------|-------------------|------|--------|\n| 1 | ? CRITICAL | Insecure authentication check | src\u002Fauth\u002Fservice.py:42\u003Cbr>Authorization logic inverted | ? Bug ? Security | Fix |\n| 2 | ? HIGH | Database query not awaited | src\u002Fdb\u002Frepository.py:89\u003Cbr>Async call missing await | ? Bug | Fix |\n```\n\n### Step 5: Ask User for Fix Preference\n\nUse AskUserQuestion:\n- ? \"Review each issue\" - Manual review and approval (recommended)\n- ⚡ \"Auto-fix all\" - Apply all \"Fix\" issues without approval\n- ❌ \"Cancel\" - Exit\n\n**Route based on choice:**\n- Review → Step 5\n- Auto-fix → Step 6\n- Cancel → EXIT\n\n### Step 6: Manual Review Mode\n\nFor each \"Fix\" issue (CRITICAL first):\n1. Read relevant files\n2. **Execute CodeRabbit's agent prompt as direct instruction** (from \"? Prompt for AI Agents\" section)\n3. Calculate proposed fix (DO NOT apply yet)\n4. **Show fix and ask approval in ONE step:**\n   - Issue title + location\n   - CodeRabbit's agent prompt (so user can verify)\n   - Current code\n   - Proposed diff\n   - AskUserQuestion: ✅ Apply fix | ⏭️ Defer | ? Modify\n\n**If \"Apply fix\":**\n- Apply with Edit tool\n- Track changed files for a single consolidated commit after all fixes\n- Confirm: \"✅ Fix applied and commented\"\n\n**If \"Defer\":**\n- Ask for reason (AskUserQuestion)\n- Move to next\n\n**If \"Modify\":**\n- Inform user can make changes manually\n- Move to next\n\n### Step 7: Auto-Fix Mode\n\nFor each \"Fix\" issue (CRITICAL first):\n1. Read relevant files\n2. **Execute CodeRabbit's agent prompt as direct instruction**\n3. Apply fix with Edit tool\n4. Track changed files for one consolidated commit\n5. Report:\n   > ✅ **Fixed: [Issue Title]** at `[Location]`\n   > **Agent prompt:** [prompt used]\n\nAfter all fixes, display summary of fixed\u002Fskipped issues.\n\n### Step 8: Create Single Consolidated Commit\n\nIf any fixes were applied:\n\n```bash\ngit add \u003Call-changed-files>\ngit commit -m \"fix: apply CodeRabbit auto-fixes\"\n```\n\nUse one commit for all applied fixes in this run.\n\n### Step 9: Prompt Build\u002FLint Before Push\n\nIf a consolidated commit was created:\n- Prompt user interactively to run validation before push (recommended, not required).\n- Remind the user of the `AGENTS.md` instructions already loaded in Step 0 (if present).\n- If user agrees, run the requested checks and report results.\n\n### Step 10: Push Changes\n\nIf a consolidated commit was created:\n- Ask: \"Push changes?\" → If yes: `git push`\n\nIf all deferred (no commit): Skip this step.\n\n### Step 11: Post Summary\n\n**REQUIRED after all issues reviewed:**\n\n```bash\ngh pr comment \u003Cpr-number> --body \"$(cat \u003C\u003C'EOF'\n## Fixes Applied Successfully\n\nFixed \u003Cfile-count> file(s) based on \u003Cissue-count> unresolved review comment(s).\n\n**Files modified:**\n- `path\u002Fto\u002Ffile-a.ts`\n- `path\u002Fto\u002Ffile-b.ts`\n\n**Commit:** `\u003Ccommit-sha>`\n\nThe latest autofix changes are on the `\u003Cbranch-name>` branch.\n\nEOF\n)\"\n```\n\nSee [github.md § 3](.\u002Fgithub.md#3-post-summary-comment) for details.\n\nOptionally react to CodeRabbit's main comment with ?.\n\n## Key Notes\n\n- **Follow agent prompts literally** - The \"? Prompt for AI Agents\" section IS the fix specification\n- **One approval per fix** - Show context + diff + AskUserQuestion in single message (manual mode)\n- **Preserve issue titles** - Use CodeRabbit's exact titles, don't paraphrase\n- **Preserve ordering** - Display issues in CodeRabbit's original order\n- **Do not post per-issue replies** - Keep the workflow summary-comment only\n",{"name":5,"version":39,"triggers":40,"description":7},"0.1.0",[41,42,43,44,45,46,47,48,49,50,51,52,53],"coderabbit.?autofix","coderabbit.?auto.?fix","autofix.?coderabbit","coderabbit.?fix","fix.?coderabbit","coderabbit.?review","review.?coderabbit","coderabbit.?issues?","show.?coderabbit","get.?coderabbit","cr.?autofix","cr.?fix","cr.?review","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fcoderabbitai\u002Fautofix",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 autofix",{"tool":69,"command":70},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill autofix",{"tool":72,"command":73},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill autofix","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fcoderabbitai\u002Fautofix\u002FSKILL.md",true,[77,83],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"github.md","REFERENCE","参考文档",2269,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fcoderabbitai\u002Fautofix\u002Fgithub.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"skill-report.json",9879,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fcoderabbitai\u002Fautofix\u002Fskill-report.json",[88,98,108,117,123,130],{"skillNo":89,"name":90,"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":91,"categories":92,"keywords":94,"publishedAt":34},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[93],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[95,96,97],"model","model hierarchy","model hierarchy skill",{"skillNo":99,"name":100,"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":101,"categories":102,"keywords":104,"publishedAt":34},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[103],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[105,106,107],"MCP","zoom","zoom mcp",{"skillNo":109,"name":110,"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":111,"categories":112,"keywords":113,"publishedAt":34},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[114,115,116,106],"sdk","zoom apps sdk","apps",{"skillNo":118,"name":119,"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":120,"categories":121,"keywords":122,"publishedAt":34},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[119],{"skillNo":124,"name":125,"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":126,"categories":127,"keywords":129,"publishedAt":34},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[128],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[125],{"skillNo":131,"name":132,"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":133,"categories":134,"keywords":135,"publishedAt":34},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[132]]