[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F7GFANNV2QD7NQNJ3P6ECA":3,"skill-same:01M6F7GFANNV2QD7NQNJ3P6ECA":84},{"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":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":66,"ownerHtmlUrl":67,"ownerBlogUrl":6,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6F7GFANNV2QD7NQNJ3P6ECA","attio-core-workflow-b",null,"Manage Attio lists, entries, notes, and tasks via the REST API.\nUse when working with sales pipelines, kanban boards, CRM notes,\nor task assignments in Attio.\nTrigger: \"attio lists\", \"attio entries\", \"attio pipeline\",\n\"attio notes\", \"attio tasks\", \"add to attio list\".","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\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fattio-core-workflow-b\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","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],"attio core workflow b","core","attio","workflow","edit","add","trigger","io","crm","manage","kanban","list","write","read","Bash","api","pipeline","code","tasks","notes","2026-11-10 10:12:30",false,"---\nname: attio-core-workflow-b\ndescription: |\n  Manage Attio lists, entries, notes, and tasks via the REST API.\n  Use when working with sales pipelines, kanban boards, CRM notes,\n  or task assignments in Attio.\n  Trigger: \"attio lists\", \"attio entries\", \"attio pipeline\",\n  \"attio notes\", \"attio tasks\", \"add to attio list\".\nallowed-tools: Read, Write, Edit, Bash(curl:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, crm, attio]\ncompatible-with: claude-code\n---\n\n# Attio Lists, Notes & Tasks (Core Workflow B)\n\n## Overview\n\nLists are Attio's pipeline\u002Fboard primitive -- they contain entries (records added to the list with list-specific attributes like stage or owner). This skill also covers notes and tasks, which attach to records for activity tracking.\n\n## Prerequisites\n\n- `attio-install-auth` completed\n- Scopes: `object_configuration:read`, `record_permission:read`, `list_entry:read`, `list_entry:read-write`, `note:read-write`, `task:read-write`, `user_management:read`\n\n## Instructions\n\n### Step 1: List All Lists\n\n```typescript\n\u002F\u002F GET \u002Fv2\u002Flists\nconst lists = await client.get\u003C{\n  data: Array\u003C{\n    id: { list_id: string };\n    api_slug: string;\n    name: string;\n    parent_object: string[];  \u002F\u002F Which object types can be added\n  }>;\n}>(\"\u002Flists\");\n\nconsole.log(lists.data.map((l) => `${l.api_slug}: ${l.name}`));\n\u002F\u002F Output: [\"sales_pipeline: Sales Pipeline\", \"hiring: Hiring Pipeline\"]\n```\n\n### Step 2: Query List Entries\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002Fquery\nconst entries = await client.post\u003C{\n  data: Array\u003C{\n    entry_id: string;\n    record_id: string;\n    created_at: string;\n    values: Record\u003Cstring, any[]>;\n  }>;\n}>(\"\u002Flists\u002Fsales_pipeline\u002Fentries\u002Fquery\", {\n  filter: {\n    stage: { status: { $eq: \"In Progress\" } },\n  },\n  sorts: [\n    { attribute: \"created_at\", field: \"created_at\", direction: \"desc\" },\n  ],\n  limit: 50,\n});\n```\n\n### Step 3: Add a Record to a List (Create Entry)\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\nconst entry = await client.post\u003C{ data: { entry_id: string } }>(\n  \"\u002Flists\u002Fsales_pipeline\u002Fentries\",\n  {\n    data: {\n      \u002F\u002F The record to add to the list\n      parent_record_id: companyRecordId,\n      parent_object: \"companies\",\n      \u002F\u002F List-specific attribute values\n      values: {\n        stage: [{ status: \"Qualified\" }],\n        deal_value: [{ currency_code: \"USD\", currency_value: 50000 }],\n        owner: [{ referenced_actor_id: workspaceMemberId, referenced_actor_type: \"workspace-member\" }],\n      },\n    },\n  }\n);\n```\n\n### Step 4: Update an Entry\n\n```typescript\n\u002F\u002F PATCH \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002F{entry_id} -- append multiselect\nawait client.patch(\n  `\u002Flists\u002Fsales_pipeline\u002Fentries\u002F${entryId}`,\n  {\n    data: {\n      values: {\n        stage: [{ status: \"Won\" }],\n      },\n    },\n  }\n);\n\n\u002F\u002F PUT \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002F{entry_id} -- overwrite multiselect\nawait client.put(\n  `\u002Flists\u002Fsales_pipeline\u002Fentries\u002F${entryId}`,\n  {\n    data: {\n      values: {\n        stage: [{ status: \"Lost\" }],\n      },\n    },\n  }\n);\n```\n\n### Step 5: Delete an Entry (Remove from List)\n\n```typescript\n\u002F\u002F DELETE \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002F{entry_id}\nawait client.delete(`\u002Flists\u002Fsales_pipeline\u002Fentries\u002F${entryId}`);\n\u002F\u002F Note: This removes from the list only. The underlying record is not deleted.\n```\n\n### Step 6: Create a Note on a Record\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Fnotes\nconst note = await client.post\u003C{\n  data: { id: { note_id: string } };\n}>(\"\u002Fnotes\", {\n  data: {\n    \u002F\u002F Link to a parent record\n    parent_object: \"companies\",\n    parent_record_id: companyRecordId,\n    \u002F\u002F Note content\n    title: \"Q1 Review Meeting\",\n    format: \"plaintext\",                     \u002F\u002F or \"markdown\"\n    content: \"Discussed renewal timeline. Budget approved for next quarter.\",\n  },\n});\n```\n\n### Step 7: List Notes on a Record\n\n```typescript\n\u002F\u002F GET \u002Fv2\u002Fnotes?parent_object=companies&parent_record_id={id}\nconst notes = await client.get\u003C{\n  data: Array\u003C{\n    id: { note_id: string };\n    title: string;\n    content: string;\n    created_at: string;\n    created_by_actor: { type: string; id: string };\n  }>;\n}>(`\u002Fnotes?parent_object=companies&parent_record_id=${companyRecordId}`);\n```\n\n### Step 8: Create and Manage Tasks\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Ftasks\nconst task = await client.post\u003C{\n  data: { id: { task_id: string } };\n}>(\"\u002Ftasks\", {\n  data: {\n    content: \"Send renewal proposal to Acme Corp\",\n    deadline: \"2025-07-15T17:00:00.000Z\",\n    is_completed: false,\n    \u002F\u002F Link to records\n    linked_records: [\n      { target_object: \"companies\", target_record_id: companyRecordId },\n    ],\n    \u002F\u002F Assign to workspace members\n    assignees: [\n      { referenced_actor_id: memberId, referenced_actor_type: \"workspace-member\" },\n    ],\n  },\n});\n\n\u002F\u002F Complete a task\nawait client.patch(`\u002Ftasks\u002F${taskId}`, {\n  data: { is_completed: true },\n});\n\n\u002F\u002F List tasks (sorted oldest to newest by default)\nconst tasks = await client.get\u003C{\n  data: Array\u003C{\n    id: { task_id: string };\n    content: string;\n    deadline: string | null;\n    is_completed: boolean;\n  }>;\n}>(\"\u002Ftasks\");\n```\n\n## Attio Lists vs Records Mental Model\n\n```\nObjects (people, companies, deals)\n └── Records  ← individual CRM entries (Step 1-7 of core-workflow-a)\n      └── Notes, Tasks  ← activity attached to records\n\nLists (pipelines, boards)\n └── Entries  ← a record placed in a list context\n      └── List-specific values (stage, owner, custom columns)\n```\n\n## Error Handling\n\n| Error | Status | Cause | Solution |\n|-------|--------|-------|----------|\n| `not_found` | 404 | Invalid list slug or entry ID | Verify with `GET \u002Fv2\u002Flists` |\n| `insufficient_scopes` | 403 | Missing `list_entry:read-write` | Update token scopes |\n| `validation_error` | 422 | Wrong parent_object for list | Check list's `parent_object` array |\n| `insufficient_scopes` | 403 | Missing `note:read-write` for notes | Add note scope to token |\n| `insufficient_scopes` | 403 | Missing `task:read-write` + `user_management:read` | Tasks need both scopes |\n\n## Resources\n\n- [Attio List Entries](https:\u002F\u002Fdocs.attio.com\u002Frest-api\u002Fendpoint-reference\u002Fentries\u002Flist-entries)\n- [Attio Create Note](https:\u002F\u002Fdocs.attio.com\u002Frest-api\u002Fendpoint-reference\u002Fnotes\u002Fcreate-a-note)\n- [Attio Create Task](https:\u002F\u002Fdocs.attio.com\u002Frest-api\u002Fendpoint-reference\u002Ftasks\u002Fcreate-a-task)\n- [Attio Objects and Lists](https:\u002F\u002Fdocs.attio.com\u002Fdocs\u002Fobjects-and-lists)\n\n## Next Steps\n\nFor error diagnosis, see `attio-common-errors`. For webhooks on list\u002Frecord changes, see `attio-webhooks-events`.\n\n","# Attio Lists, Notes & Tasks (Core Workflow B)\n\n## Overview\n\nLists are Attio's pipeline\u002Fboard primitive -- they contain entries (records added to the list with list-specific attributes like stage or owner). This skill also covers notes and tasks, which attach to records for activity tracking.\n\n## Prerequisites\n\n- `attio-install-auth` completed\n- Scopes: `object_configuration:read`, `record_permission:read`, `list_entry:read`, `list_entry:read-write`, `note:read-write`, `task:read-write`, `user_management:read`\n\n## Instructions\n\n### Step 1: List All Lists\n\n```typescript\n\u002F\u002F GET \u002Fv2\u002Flists\nconst lists = await client.get\u003C{\n  data: Array\u003C{\n    id: { list_id: string };\n    api_slug: string;\n    name: string;\n    parent_object: string[];  \u002F\u002F Which object types can be added\n  }>;\n}>(\"\u002Flists\");\n\nconsole.log(lists.data.map((l) => `${l.api_slug}: ${l.name}`));\n\u002F\u002F Output: [\"sales_pipeline: Sales Pipeline\", \"hiring: Hiring Pipeline\"]\n```\n\n### Step 2: Query List Entries\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002Fquery\nconst entries = await client.post\u003C{\n  data: Array\u003C{\n    entry_id: string;\n    record_id: string;\n    created_at: string;\n    values: Record\u003Cstring, any[]>;\n  }>;\n}>(\"\u002Flists\u002Fsales_pipeline\u002Fentries\u002Fquery\", {\n  filter: {\n    stage: { status: { $eq: \"In Progress\" } },\n  },\n  sorts: [\n    { attribute: \"created_at\", field: \"created_at\", direction: \"desc\" },\n  ],\n  limit: 50,\n});\n```\n\n### Step 3: Add a Record to a List (Create Entry)\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\nconst entry = await client.post\u003C{ data: { entry_id: string } }>(\n  \"\u002Flists\u002Fsales_pipeline\u002Fentries\",\n  {\n    data: {\n      \u002F\u002F The record to add to the list\n      parent_record_id: companyRecordId,\n      parent_object: \"companies\",\n      \u002F\u002F List-specific attribute values\n      values: {\n        stage: [{ status: \"Qualified\" }],\n        deal_value: [{ currency_code: \"USD\", currency_value: 50000 }],\n        owner: [{ referenced_actor_id: workspaceMemberId, referenced_actor_type: \"workspace-member\" }],\n      },\n    },\n  }\n);\n```\n\n### Step 4: Update an Entry\n\n```typescript\n\u002F\u002F PATCH \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002F{entry_id} -- append multiselect\nawait client.patch(\n  `\u002Flists\u002Fsales_pipeline\u002Fentries\u002F${entryId}`,\n  {\n    data: {\n      values: {\n        stage: [{ status: \"Won\" }],\n      },\n    },\n  }\n);\n\n\u002F\u002F PUT \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002F{entry_id} -- overwrite multiselect\nawait client.put(\n  `\u002Flists\u002Fsales_pipeline\u002Fentries\u002F${entryId}`,\n  {\n    data: {\n      values: {\n        stage: [{ status: \"Lost\" }],\n      },\n    },\n  }\n);\n```\n\n### Step 5: Delete an Entry (Remove from List)\n\n```typescript\n\u002F\u002F DELETE \u002Fv2\u002Flists\u002F{list_slug}\u002Fentries\u002F{entry_id}\nawait client.delete(`\u002Flists\u002Fsales_pipeline\u002Fentries\u002F${entryId}`);\n\u002F\u002F Note: This removes from the list only. The underlying record is not deleted.\n```\n\n### Step 6: Create a Note on a Record\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Fnotes\nconst note = await client.post\u003C{\n  data: { id: { note_id: string } };\n}>(\"\u002Fnotes\", {\n  data: {\n    \u002F\u002F Link to a parent record\n    parent_object: \"companies\",\n    parent_record_id: companyRecordId,\n    \u002F\u002F Note content\n    title: \"Q1 Review Meeting\",\n    format: \"plaintext\",                     \u002F\u002F or \"markdown\"\n    content: \"Discussed renewal timeline. Budget approved for next quarter.\",\n  },\n});\n```\n\n### Step 7: List Notes on a Record\n\n```typescript\n\u002F\u002F GET \u002Fv2\u002Fnotes?parent_object=companies&parent_record_id={id}\nconst notes = await client.get\u003C{\n  data: Array\u003C{\n    id: { note_id: string };\n    title: string;\n    content: string;\n    created_at: string;\n    created_by_actor: { type: string; id: string };\n  }>;\n}>(`\u002Fnotes?parent_object=companies&parent_record_id=${companyRecordId}`);\n```\n\n### Step 8: Create and Manage Tasks\n\n```typescript\n\u002F\u002F POST \u002Fv2\u002Ftasks\nconst task = await client.post\u003C{\n  data: { id: { task_id: string } };\n}>(\"\u002Ftasks\", {\n  data: {\n    content: \"Send renewal proposal to Acme Corp\",\n    deadline: \"2025-07-15T17:00:00.000Z\",\n    is_completed: false,\n    \u002F\u002F Link to records\n    linked_records: [\n      { target_object: \"companies\", target_record_id: companyRecordId },\n    ],\n    \u002F\u002F Assign to workspace members\n    assignees: [\n      { referenced_actor_id: memberId, referenced_actor_type: \"workspace-member\" },\n    ],\n  },\n});\n\n\u002F\u002F Complete a task\nawait client.patch(`\u002Ftasks\u002F${taskId}`, {\n  data: { is_completed: true },\n});\n\n\u002F\u002F List tasks (sorted oldest to newest by default)\nconst tasks = await client.get\u003C{\n  data: Array\u003C{\n    id: { task_id: string };\n    content: string;\n    deadline: string | null;\n    is_completed: boolean;\n  }>;\n}>(\"\u002Ftasks\");\n```\n\n## Attio Lists vs Records Mental Model\n\n```\nObjects (people, companies, deals)\n └── Records  ← individual CRM entries (Step 1-7 of core-workflow-a)\n      └── Notes, Tasks  ← activity attached to records\n\nLists (pipelines, boards)\n └── Entries  ← a record placed in a list context\n      └── List-specific values (stage, owner, custom columns)\n```\n\n## Error Handling\n\n| Error | Status | Cause | Solution |\n|-------|--------|-------|----------|\n| `not_found` | 404 | Invalid list slug or entry ID | Verify with `GET \u002Fv2\u002Flists` |\n| `insufficient_scopes` | 403 | Missing `list_entry:read-write` | Update token scopes |\n| `validation_error` | 422 | Wrong parent_object for list | Check list's `parent_object` array |\n| `insufficient_scopes` | 403 | Missing `note:read-write` for notes | Add note scope to token |\n| `insufficient_scopes` | 403 | Missing `task:read-write` + `user_management:read` | Tasks need both scopes |\n\n## Resources\n\n- [Attio List Entries](https:\u002F\u002Fdocs.attio.com\u002Frest-api\u002Fendpoint-reference\u002Fentries\u002Flist-entries)\n- [Attio Create Note](https:\u002F\u002Fdocs.attio.com\u002Frest-api\u002Fendpoint-reference\u002Fnotes\u002Fcreate-a-note)\n- [Attio Create Task](https:\u002F\u002Fdocs.attio.com\u002Frest-api\u002Fendpoint-reference\u002Ftasks\u002Fcreate-a-task)\n- [Attio Objects and Lists](https:\u002F\u002Fdocs.attio.com\u002Fdocs\u002Fobjects-and-lists)\n\n## Next Steps\n\nFor error diagnosis, see `attio-common-errors`. For webhooks on list\u002Frecord changes, see `attio-webhooks-events`.\n\n",{"name":5,"tags":54,"author":56,"license":15,"version":57,"description":58,"allowed-tools":59,"compatible-with":60},[55,37,31],"saas","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Manage Attio lists, entries, notes, and tasks via the REST API.\nUse when working with sales pipelines, kanban boards, CRM notes,\nor task assignments in Attio.\nTrigger: \"attio lists\", \"attio entries\", \"attio pipeline\",\n\"attio notes\", \"attio tasks\", \"add to attio list\".\n","Read, Write, Edit, Bash(curl:*), Grep","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fattio-core-workflow-b",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":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill attio-core-workflow-b",{"tool":76,"command":77},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill attio-core-workflow-b",{"tool":79,"command":80},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill attio-core-workflow-b","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fattio-core-workflow-b\u002FSKILL.md",true,[],[85,95,105,114,120,127],{"skillNo":86,"name":87,"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":88,"categories":89,"keywords":91,"publishedAt":49},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[90],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,93,94],"model","model hierarchy","model hierarchy skill",{"skillNo":96,"name":97,"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":98,"categories":99,"keywords":101,"publishedAt":49},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[100],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[102,103,104],"MCP","zoom","zoom mcp",{"skillNo":106,"name":107,"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":108,"categories":109,"keywords":110,"publishedAt":49},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[111,112,113,103],"sdk","zoom apps sdk","apps",{"skillNo":115,"name":116,"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":117,"categories":118,"keywords":119,"publishedAt":49},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[116],{"skillNo":121,"name":122,"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":123,"categories":124,"keywords":126,"publishedAt":49},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[125],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[122],{"skillNo":128,"name":129,"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":130,"categories":131,"keywords":132,"publishedAt":49},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[129]]