[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DKYV9FSTHQEKFGQ4N1MFSF":3,"skill-same:01M6DKYV9FSTHQEKFGQ4N1MFSF":254},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6DKYV9FSTHQEKFGQ4N1MFSF","drugsda-data-valid",null,"Check if the input protein sequence or molecule SMILES string is valid.","InternScience\u002FDrClaw","InternScience","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F154449623?v=4","01M6DHY1ZF02QASNAVMNPT7NP6","Intern Science","01M6DHY2523FY56Q5572NKAAD0",172,"MIT","https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fscience\u002Fdrug\u002Fdrugsda-data-valid\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[24,25,26,27,28],"valid","data","drugsda data valid","check","input","2026-11-10 10:12:30",false,"---\nname: drugsda-data-valid\ndescription: Check if the input protein sequence or molecule SMILES string is valid.\nlicense: MIT license\nmetadata:\n  skill-author: PJLab\ni18n:\n  zh:\n    description: 检查蛋白质序列或SMILES有。\n---\n\n# Protein or Molecule Data Check\n\n## Usage\n\n### 1. MCP Server Definition\n\n```python\nimport json\nfrom mcp.client.streamable_http import streamablehttp_client\nfrom mcp import ClientSession\n\nclass DrugSDAClient:    \n    def __init__(self, server_url: str):\n        self.server_url = server_url\n        self.session = None\n        \n    async def connect(self):\n        print(f\"server url: {self.server_url}\")\n        try:\n            self.transport = streamablehttp_client(\n                url=self.server_url,\n                headers={\"SCP-HUB-API-KEY\": \"sk-a0033dde-b3cd-413b-adbe-980bc78d6126\"}\n            )\n            self.read, self.write, self.get_session_id = await self.transport.__aenter__()\n            \n            self.session_ctx = ClientSession(self.read, self.write)\n            self.session = await self.session_ctx.__aenter__()\n\n            await self.session.initialize()\n            session_id = self.get_session_id()\n            \n            print(f\"✓ connect success\")\n            return True\n            \n        except Exception as e:\n            print(f\"✗ connect failure: {e}\")\n            import traceback\n            traceback.print_exc()\n            return False\n    \n    async def disconnect(self):\n        try:\n            if self.session:\n                await self.session_ctx.__aexit__(None, None, None)\n            if hasattr(self, 'transport'):\n                await self.transport.__aexit__(None, None, None)\n            print(\"✓ already disconnect\")\n        except Exception as e:\n            print(f\"✗ disconnect error: {e}\")\n    \n    def parse_result(self, result):\n        try:\n            if hasattr(result, 'content') and result.content:\n                content = result.content[0]\n                if hasattr(content, 'text'):\n                    return json.loads(content.text)\n            return str(result)\n        except Exception as e:\n            return {\"error\": f\"parse error: {e}\", \"raw\": str(result)}\n```\n\n### 2. Protein Sequence Valid Check\n\nThe description of tool *is_valid_protein_sequence*.\n\n```tex\nCheck if the input protein sequence string is valid.\nArgs:\n    sequences (List[str]): List of input protein sequences\nReturn:\n    status (str): success\u002Fpartial_success\u002Ferror\n    msg (str): message\n    valid_res (List[dict]): List of dict, each containing the keys 'sequence' and 'is_valid'.\n        --sequence (str): A protein sequence of the input sequences list \n        --is_valid (bool): Is the protein sequence valid or not\n```\n\nHow to use tool *is_valid_protein_sequence* :\n\n```python\nclient = DrugSDAClient(\"https:\u002F\u002Fscp.intern-ai.org.cn\u002Fapi\u002Fv1\u002Fmcp\u002F2\u002FDrugSDA-Tool\")\nif not await client.connect():\n    print(\"connection failed\")\n    return\n\nresponse = await client.session.call_tool(\n    \"is_valid_protein_sequence\",\n    arguments={\n        \"sequences\": sequence_list\n    }\n)\nresult = client.parse_result(response)\nvalid_res = result[\"valid_res\"]\n\nawait client.disconnect() \n```\n\n### 3. Molecule SMILCES Valid Check\n\nThe description of tool *is_valid_smiles*.\n\n```tex\nCheck if the input SMILES string is valid\nArgs:\n    smiles_list (List[str]): List of input SMILES strings, (e.g., [\"N[C@@H](Cc1ccc(O)cc1)C(=O)O\", \"CC(C)C1=CC=CC=C1\"])\nReturn:\n    status (str): success\u002Fpartial_success\u002Ferror\n    msg (str): message\n    valid_res (List[dict]): List of dict, each containing the keys 'smiles' and 'is_valid'. \n        --smiles (str): A SMILES string of smiles_list\n        --is_valid (bool): Is the SMILES valid or not\n```\n\nHow to use tool *is_valid_smiles* :\n\n```python\nclient = DrugSDAClient(\"https:\u002F\u002Fscp.intern-ai.org.cn\u002Fapi\u002Fv1\u002Fmcp\u002F2\u002FDrugSDA-Tool\")\nif not await client.connect():\n    print(\"connection failed\")\n    return\n\nresponse = await client.session.call_tool(\n    \"is_valid_smiles\",\n    arguments={\n        \"smiles_list\": smiles_list\n    }\n)\nresult = client.parse_result(response)\nvalid_res = result[\"valid_res\"]\n\nawait client.disconnect() \n```\n\n","# Protein or Molecule Data Check\n\n## Usage\n\n### 1. MCP Server Definition\n\n```python\nimport json\nfrom mcp.client.streamable_http import streamablehttp_client\nfrom mcp import ClientSession\n\nclass DrugSDAClient:    \n    def __init__(self, server_url: str):\n        self.server_url = server_url\n        self.session = None\n        \n    async def connect(self):\n        print(f\"server url: {self.server_url}\")\n        try:\n            self.transport = streamablehttp_client(\n                url=self.server_url,\n                headers={\"SCP-HUB-API-KEY\": \"sk-a0033dde-b3cd-413b-adbe-980bc78d6126\"}\n            )\n            self.read, self.write, self.get_session_id = await self.transport.__aenter__()\n            \n            self.session_ctx = ClientSession(self.read, self.write)\n            self.session = await self.session_ctx.__aenter__()\n\n            await self.session.initialize()\n            session_id = self.get_session_id()\n            \n            print(f\"✓ connect success\")\n            return True\n            \n        except Exception as e:\n            print(f\"✗ connect failure: {e}\")\n            import traceback\n            traceback.print_exc()\n            return False\n    \n    async def disconnect(self):\n        try:\n            if self.session:\n                await self.session_ctx.__aexit__(None, None, None)\n            if hasattr(self, 'transport'):\n                await self.transport.__aexit__(None, None, None)\n            print(\"✓ already disconnect\")\n        except Exception as e:\n            print(f\"✗ disconnect error: {e}\")\n    \n    def parse_result(self, result):\n        try:\n            if hasattr(result, 'content') and result.content:\n                content = result.content[0]\n                if hasattr(content, 'text'):\n                    return json.loads(content.text)\n            return str(result)\n        except Exception as e:\n            return {\"error\": f\"parse error: {e}\", \"raw\": str(result)}\n```\n\n### 2. Protein Sequence Valid Check\n\nThe description of tool *is_valid_protein_sequence*.\n\n```tex\nCheck if the input protein sequence string is valid.\nArgs:\n    sequences (List[str]): List of input protein sequences\nReturn:\n    status (str): success\u002Fpartial_success\u002Ferror\n    msg (str): message\n    valid_res (List[dict]): List of dict, each containing the keys 'sequence' and 'is_valid'.\n        --sequence (str): A protein sequence of the input sequences list \n        --is_valid (bool): Is the protein sequence valid or not\n```\n\nHow to use tool *is_valid_protein_sequence* :\n\n```python\nclient = DrugSDAClient(\"https:\u002F\u002Fscp.intern-ai.org.cn\u002Fapi\u002Fv1\u002Fmcp\u002F2\u002FDrugSDA-Tool\")\nif not await client.connect():\n    print(\"connection failed\")\n    return\n\nresponse = await client.session.call_tool(\n    \"is_valid_protein_sequence\",\n    arguments={\n        \"sequences\": sequence_list\n    }\n)\nresult = client.parse_result(response)\nvalid_res = result[\"valid_res\"]\n\nawait client.disconnect() \n```\n\n### 3. Molecule SMILCES Valid Check\n\nThe description of tool *is_valid_smiles*.\n\n```tex\nCheck if the input SMILES string is valid\nArgs:\n    smiles_list (List[str]): List of input SMILES strings, (e.g., [\"N[C@@H](Cc1ccc(O)cc1)C(=O)O\", \"CC(C)C1=CC=CC=C1\"])\nReturn:\n    status (str): success\u002Fpartial_success\u002Ferror\n    msg (str): message\n    valid_res (List[dict]): List of dict, each containing the keys 'smiles' and 'is_valid'. \n        --smiles (str): A SMILES string of smiles_list\n        --is_valid (bool): Is the SMILES valid or not\n```\n\nHow to use tool *is_valid_smiles* :\n\n```python\nclient = DrugSDAClient(\"https:\u002F\u002Fscp.intern-ai.org.cn\u002Fapi\u002Fv1\u002Fmcp\u002F2\u002FDrugSDA-Tool\")\nif not await client.connect():\n    print(\"connection failed\")\n    return\n\nresponse = await client.session.call_tool(\n    \"is_valid_smiles\",\n    arguments={\n        \"smiles_list\": smiles_list\n    }\n)\nresult = client.parse_result(response)\nvalid_res = result[\"valid_res\"]\n\nawait client.disconnect() \n```\n\n",{"i18n":34,"name":5,"license":37,"metadata":38,"description":7},{"zh":35},{"description":36},"检查蛋白质序列或SMILES有。","MIT license",{"skill-author":39},"PJLab","main","4f96df0d9df0eae24a992afabe08edec5fc575f0","drclaw\u002Flocal_skill_hub\u002Fscience\u002Fdrug\u002Fdrugsda-data-valid",10,"https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw","https:\u002F\u002Fgithub.com\u002FInternScience","Shanghai Artificial Intelligence Laboratory","2026-03-20 17:06:10",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add InternScience\u002FDrClaw --skill drugsda-data-valid",{"tool":54,"command":55},"bunx","bunx skills add InternScience\u002FDrClaw --skill drugsda-data-valid",{"tool":57,"command":58},"pnpm","pnpm dlx skills add InternScience\u002FDrClaw --skill drugsda-data-valid","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fscience\u002Fdrug\u002Fdrugsda-data-valid\u002FSKILL.md",true,[62,68,74,78,82,86,90,94,98,104,108,112,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,230,234,238,242,246,250],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},".DS_Store","OTHER","其他",6148,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002F.DS_Store",{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"csharp\u002Fclaude-api.md","REFERENCE","参考文档",14390,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fcsharp\u002Fclaude-api.md",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"curl\u002Fexamples.md",6489,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fcurl\u002Fexamples.md",{"path":79,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":80,"sourceHtmlUrl":81},"curl\u002Fmanaged-agents.md",7379,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fcurl\u002Fmanaged-agents.md",{"path":83,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":84,"sourceHtmlUrl":85},"go\u002Fclaude-api.md",13873,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fgo\u002Fclaude-api.md",{"path":87,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":88,"sourceHtmlUrl":89},"go\u002Fmanaged-agents\u002FREADME.md",18478,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fgo\u002Fmanaged-agents\u002FREADME.md",{"path":91,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":92,"sourceHtmlUrl":93},"java\u002Fclaude-api.md",15095,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fjava\u002Fclaude-api.md",{"path":95,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":96,"sourceHtmlUrl":97},"java\u002Fmanaged-agents\u002FREADME.md",16585,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fjava\u002Fmanaged-agents\u002FREADME.md",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"LICENSE.txt","LICENSE","许可证",11345,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002FLICENSE.txt",{"path":105,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":106,"sourceHtmlUrl":107},"php\u002Fclaude-api.md",11161,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fphp\u002Fclaude-api.md",{"path":109,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":110,"sourceHtmlUrl":111},"php\u002Fmanaged-agents\u002FREADME.md",13184,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fphp\u002Fmanaged-agents\u002FREADME.md",{"path":113,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":114},"python\u002F.DS_Store","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fpython\u002F.DS_Store",{"path":116,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":117,"sourceHtmlUrl":118},"python\u002Fclaude-api\u002Fbatches.md",5095,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fpython\u002Fclaude-api\u002Fbatches.md",{"path":120,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":121,"sourceHtmlUrl":122},"python\u002Fclaude-api\u002Ffiles-api.md",3994,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fpython\u002Fclaude-api\u002Ffiles-api.md",{"path":124,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":125,"sourceHtmlUrl":126},"python\u002Fclaude-api\u002FREADME.md",12197,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fpython\u002Fclaude-api\u002FREADME.md",{"path":128,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":129,"sourceHtmlUrl":130},"python\u002Fclaude-api\u002Fstreaming.md",5244,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fpython\u002Fclaude-api\u002Fstreaming.md",{"path":132,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":133,"sourceHtmlUrl":134},"python\u002Fclaude-api\u002Ftool-use.md",16933,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fpython\u002Fclaude-api\u002Ftool-use.md",{"path":136,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":137,"sourceHtmlUrl":138},"python\u002Fmanaged-agents\u002FREADME.md",9815,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fpython\u002Fmanaged-agents\u002FREADME.md",{"path":140,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":141,"sourceHtmlUrl":142},"ruby\u002Fclaude-api.md",2935,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fruby\u002Fclaude-api.md",{"path":144,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":145,"sourceHtmlUrl":146},"ruby\u002Fmanaged-agents\u002FREADME.md",10175,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fruby\u002Fmanaged-agents\u002FREADME.md",{"path":148,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":149,"sourceHtmlUrl":150},"shared\u002Fagent-design.md",8335,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fagent-design.md",{"path":152,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":153,"sourceHtmlUrl":154},"shared\u002Ferror-codes.md",7712,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Ferror-codes.md",{"path":156,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":157,"sourceHtmlUrl":158},"shared\u002Flive-sources.md",17146,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Flive-sources.md",{"path":160,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":161,"sourceHtmlUrl":162},"shared\u002Fmanaged-agents-api-reference.md",24843,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-api-reference.md",{"path":164,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":165,"sourceHtmlUrl":166},"shared\u002Fmanaged-agents-client-patterns.md",9403,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-client-patterns.md",{"path":168,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":169,"sourceHtmlUrl":170},"shared\u002Fmanaged-agents-core.md",13977,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-core.md",{"path":172,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":173,"sourceHtmlUrl":174},"shared\u002Fmanaged-agents-environments.md",11251,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-environments.md",{"path":176,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":177,"sourceHtmlUrl":178},"shared\u002Fmanaged-agents-events.md",9663,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-events.md",{"path":180,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":181,"sourceHtmlUrl":182},"shared\u002Fmanaged-agents-memory.md",9583,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-memory.md",{"path":184,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":185,"sourceHtmlUrl":186},"shared\u002Fmanaged-agents-multiagent.md",6548,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-multiagent.md",{"path":188,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":189,"sourceHtmlUrl":190},"shared\u002Fmanaged-agents-onboarding.md",8306,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-onboarding.md",{"path":192,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":193,"sourceHtmlUrl":194},"shared\u002Fmanaged-agents-outcomes.md",6140,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-outcomes.md",{"path":196,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":197,"sourceHtmlUrl":198},"shared\u002Fmanaged-agents-overview.md",9806,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-overview.md",{"path":200,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":201,"sourceHtmlUrl":202},"shared\u002Fmanaged-agents-self-hosted-sandboxes.md",9936,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-self-hosted-sandboxes.md",{"path":204,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":205,"sourceHtmlUrl":206},"shared\u002Fmanaged-agents-tools.md",14523,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-tools.md",{"path":208,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":209,"sourceHtmlUrl":210},"shared\u002Fmanaged-agents-webhooks.md",5051,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmanaged-agents-webhooks.md",{"path":212,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":213,"sourceHtmlUrl":214},"shared\u002Fmodel-migration.md",81023,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmodel-migration.md",{"path":216,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":217,"sourceHtmlUrl":218},"shared\u002Fmodels.md",8187,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fmodels.md",{"path":220,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":221,"sourceHtmlUrl":222},"shared\u002Fprompt-caching.md",9793,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Fprompt-caching.md",{"path":224,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":225,"sourceHtmlUrl":226},"shared\u002Ftool-use-concepts.md",17045,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Fshared\u002Ftool-use-concepts.md",{"path":228,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":229},"typescript\u002F.DS_Store","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Ftypescript\u002F.DS_Store",{"path":231,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":232,"sourceHtmlUrl":233},"typescript\u002Fclaude-api\u002Fbatches.md",2596,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Ftypescript\u002Fclaude-api\u002Fbatches.md",{"path":235,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":236,"sourceHtmlUrl":237},"typescript\u002Fclaude-api\u002Ffiles-api.md",2261,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Ftypescript\u002Fclaude-api\u002Ffiles-api.md",{"path":239,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":240,"sourceHtmlUrl":241},"typescript\u002Fclaude-api\u002FREADME.md",9954,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Ftypescript\u002Fclaude-api\u002FREADME.md",{"path":243,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":244,"sourceHtmlUrl":245},"typescript\u002Fclaude-api\u002Fstreaming.md",5607,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Ftypescript\u002Fclaude-api\u002Fstreaming.md",{"path":247,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":248,"sourceHtmlUrl":249},"typescript\u002Fclaude-api\u002Ftool-use.md",15358,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Ftypescript\u002Fclaude-api\u002Ftool-use.md",{"path":251,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":252,"sourceHtmlUrl":253},"typescript\u002Fmanaged-agents\u002FREADME.md",9384,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fclaude-api\u002Ftypescript\u002Fmanaged-agents\u002FREADME.md",[255,290,312,330,348,363],{"skillNo":256,"name":257,"nameZh":6,"description":258,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":259,"categories":260,"keywords":269,"publishedAt":29},"01M6DMQESTSBW8VJW03QWHMT85","scientific-critical-thinking","Evaluate scientific claims and evidence quality. Use for assessing experimental design validity, identifying biases and confounders, applying evidence grading frameworks (GRADE, Cochrane Risk of Bias), or teaching critical analysis. Best for understanding evidence quality, identifying flaws. For formal peer review writing use peer-review.","https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fthinking\u002Fscientific-critical-thinking\u002FSKILL.md",[261,266],{"categoryNo":262,"categoryName":263,"taxonomyType":264,"taxonomyTypeDesc":265},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":267,"categoryName":268,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000032","设计师",[270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289],"critical","scientific critical thinking","thinking","design","writing","review","risk","analysis","peer review","Bash","quality","read","write","edit","use","evidence","peer","frameworks","teaching","bias",{"skillNo":291,"name":292,"nameZh":6,"description":293,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":294,"categories":295,"keywords":296,"publishedAt":29},"01M6DMQ77Z121463E049G2DG8K","scientific-brainstorming","Creative research ideation and exploration. Use for open-ended brainstorming sessions, exploring interdisciplinary connections, challenging assumptions, or identifying research gaps. Best for early-stage research planning when you do not have specific observations yet. For formulating testable hypotheses from data use hypothesis-generation.","https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fthinking\u002Fscientific-brainstorming\u002FSKILL.md",[],[297,298,299,300,301,302,303,304,305,306,307,308,309,25,310,311,284],"brainstorming","scientific brainstorming","research ideation","stage","connections","generation","exploration","do","planning","creative","ideation","research","sessions","hypothesis","open",{"skillNo":313,"name":314,"nameZh":6,"description":315,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":316,"categories":317,"keywords":324,"publishedAt":29},"01M6DMPV4AMCCTWARGPSFHDWJB","scientific-literature-search","Search scientific literature and research papers using FlowSearch to find relevant academic articles and publications.","https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fsearch\u002Fscientific-literature-search\u002FSKILL.md",[318,321],{"categoryNo":319,"categoryName":320,"taxonomyType":264,"taxonomyTypeDesc":265},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":322,"categoryName":323,"taxonomyType":264,"taxonomyTypeDesc":265},"01JBSEEDCAT000000000000023","Skill与智能体开发",[325,326,308,327,328,329],"search","scientific literature search","find","Academic","搜索",{"skillNo":331,"name":332,"nameZh":6,"description":333,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":334,"categories":335,"keywords":342,"publishedAt":29},"01M6DMPQJP8HVFV54V05D6K9HA","pubmed-article-search","Search PubMed database for scientific articles and publications to retrieve biomedical literature.","https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fsearch\u002Fpubmed-article-search\u002FSKILL.md",[336,339],{"categoryNo":337,"categoryName":338,"taxonomyType":264,"taxonomyTypeDesc":265},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":340,"categoryName":341,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000036","内容创作者",[343,344,325,329,345,346,347],"pubmed article search","article","database","pubmed database","biomedical",{"skillNo":349,"name":350,"nameZh":6,"description":351,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":352,"categories":353,"keywords":355,"publishedAt":29},"01M6DMPK4H3JQ185M97BRB9KQJ","biomedical-web-search","Search biomedical literature and web content using Tavily search engine for research and clinical information.","https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fsearch\u002Fbiomedical-web-search\u002FSKILL.md",[354],{"categoryNo":319,"categoryName":320,"taxonomyType":264,"taxonomyTypeDesc":265},[356,347,357,325,358,359,308,360,361,329,362],"biomedical web search","web search","web","tavily","content","engine","clinical",{"skillNo":364,"name":365,"nameZh":6,"description":366,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":367,"categories":368,"keywords":370,"publishedAt":29},"01M6DMNNJH9V1S5PQHZRX0N934","uniprot-protein-retrieval","Retrieve protein sequences and functional information from UniProt database by protein name, enabling protein analysis and bioinformatics workflows.","https:\u002F\u002Fgithub.com\u002FInternScience\u002FDrClaw\u002Fblob\u002Fmain\u002Fdrclaw\u002Flocal_skill_hub\u002Fscience\u002Fprotein\u002Funiprot-protein-retrieval\u002FSKILL.md",[369],{"categoryNo":322,"categoryName":323,"taxonomyType":264,"taxonomyTypeDesc":265},[371,345,277,372,373,374,375],"uniprot protein retrieval","uniprot database","bioinformatics","name","workflows"]