[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EFD9GVC2MAX7S0A6WFYTPW":3,"skill-same:01M6EFD9GVC2MAX7S0A6WFYTPW":345},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M6EFD9GVC2MAX7S0A6WFYTPW","lm-studio-subagents",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Flm-studio-subagents\u002FSKILL.md",[],[18,19],"subagents","lm studio subagents","2026-11-10 10:12:30",false,"# LM Studio Subagents\n\n## Overview\n\nOffload LLM tasks to local models running in LM Studio to save API costs and maintain privacy. LM Studio provides an OpenAI-compatible API for local models, making it a drop-in replacement for cloud LLM calls. Use local models for high-volume, lower-complexity tasks like summarization, extraction, classification, and reformatting while reserving cloud APIs for complex reasoning.\n\n## Instructions\n\nWhen a user wants to use local models via LM Studio, determine the task:\n\n### Task A: Set up LM Studio as a local API server\n\n1. Download and install LM Studio from `https:\u002F\u002Flmstudio.ai\u002F`\n2. Download a model through the LM Studio UI (recommended starting models):\n   - `lmstudio-community\u002FLlama-3.1-8B-Instruct-GGUF` (general purpose)\n   - `lmstudio-community\u002FMistral-7B-Instruct-v0.3-GGUF` (fast inference)\n   - `lmstudio-community\u002FQwen2.5-7B-Instruct-GGUF` (multilingual)\n\n3. Start the local server:\n   - Open LM Studio, go to the \"Developer\" tab\n   - Load a model and click \"Start Server\"\n   - Server runs at `http:\u002F\u002Flocalhost:1234` by default\n\n4. Verify the server is running:\n\n```bash\ncurl http:\u002F\u002Flocalhost:1234\u002Fv1\u002Fmodels\n```\n\n### Task B: Call LM Studio from Python (OpenAI-compatible)\n\n```python\nfrom openai import OpenAI\n\n# Point to local LM Studio server\nclient = OpenAI(\n    base_url=\"http:\u002F\u002Flocalhost:1234\u002Fv1\",\n    api_key=\"lm-studio\",  # Any string works\n)\n\ndef ask_local(prompt: str, system: str = \"You are a helpful assistant.\") -> str:\n    response = client.chat.completions.create(\n        model=\"loaded-model\",  # LM Studio ignores this, uses loaded model\n        messages=[\n            {\"role\": \"system\", \"content\": system},\n            {\"role\": \"user\", \"content\": prompt},\n        ],\n        temperature=0.3,\n        max_tokens=1024,\n    )\n    return response.choices[0].message.content\n\n# Example usage\nresult = ask_local(\"Summarize this text in 2 sentences: ...\")\nprint(result)\n```\n\n### Task C: Create task-specific subagents\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(base_url=\"http:\u002F\u002Flocalhost:1234\u002Fv1\", api_key=\"lm-studio\")\n\nclass LocalSubagent:\n    def __init__(self, system_prompt: str, temperature: float = 0.2):\n        self.system_prompt = system_prompt\n        self.temperature = temperature\n\n    def run(self, user_input: str) -> str:\n        response = client.chat.completions.create(\n            model=\"loaded-model\",\n            messages=[\n                {\"role\": \"system\", \"content\": self.system_prompt},\n                {\"role\": \"user\", \"content\": user_input},\n            ],\n            temperature=self.temperature,\n            max_tokens=2048,\n        )\n        return response.choices[0].message.content\n\n# Define specialized subagents\nsummarizer = LocalSubagent(\n    system_prompt=\"You are a summarization expert. Produce concise 2-3 sentence summaries.\"\n)\n\nclassifier = LocalSubagent(\n    system_prompt=\"Classify the input into one of these categories: billing, technical, general, urgent. Respond with only the category name.\",\n    temperature=0.0,\n)\n\nextractor = LocalSubagent(\n    system_prompt=\"Extract all named entities (people, organizations, dates, amounts) from the text. Return as JSON.\",\n    temperature=0.0,\n)\n\n# Use the subagents\nsummary = summarizer.run(\"Long document text here...\")\ncategory = classifier.run(\"I can't log into my account and I need to submit a report by EOD\")\nentities = extractor.run(\"John Smith signed a $50,000 contract with Acme Corp on March 15, 2025\")\n```\n\n### Task D: Batch processing with local models\n\n```python\nimport asyncio\nfrom openai import AsyncOpenAI\n\nclient = AsyncOpenAI(base_url=\"http:\u002F\u002Flocalhost:1234\u002Fv1\", api_key=\"lm-studio\")\n\nasync def process_batch(items: list[str], system_prompt: str, max_concurrent: int = 4) -> list[str]:\n    semaphore = asyncio.Semaphore(max_concurrent)\n\n    async def process_one(text: str) -> str:\n        async with semaphore:\n            response = await client.chat.completions.create(\n                model=\"loaded-model\",\n                messages=[\n                    {\"role\": \"system\", \"content\": system_prompt},\n                    {\"role\": \"user\", \"content\": text},\n                ],\n                temperature=0.2,\n                max_tokens=512,\n            )\n            return response.choices[0].message.content\n\n    tasks = [process_one(item) for item in items]\n    return await asyncio.gather(*tasks)\n\n# Batch summarize 100 documents\ndocuments = [\"doc1 text...\", \"doc2 text...\", ...]  # 100 documents\nsummaries = asyncio.run(process_batch(\n    documents,\n    system_prompt=\"Summarize in 2 sentences.\",\n    max_concurrent=2,  # LM Studio handles one request at a time by default\n))\n```\n\n### Task E: Cost comparison and routing strategy\n\nDecide when to use local vs. cloud models:\n\n| Task | Local Model | Cloud API | Recommendation |\n|------|------------|-----------|----------------|\n| Summarization | Good | Better | Local (save cost) |\n| Classification | Good | Good | Local (save cost) |\n| Data extraction | Moderate | Good | Local for simple, cloud for complex |\n| Code generation | Moderate | Better | Cloud |\n| Complex reasoning | Weak | Strong | Cloud |\n| Translation | Good | Better | Local for common languages |\n\n```python\ndef smart_route(task_type: str, text: str) -> str:\n    \"\"\"Route tasks between local and cloud models.\"\"\"\n    local_tasks = {\"summarize\", \"classify\", \"extract_simple\", \"reformat\"}\n\n    if task_type in local_tasks:\n        return ask_local(text)  # Free, local inference\n    else:\n        return ask_cloud(text)  # Paid, cloud API\n```\n\n## Examples\n\n### Example 1: Summarize 500 support tickets locally\n\n**User request:** \"Summarize all our support tickets from last month without API costs\"\n\n```python\ntickets = load_tickets_from_csv(\"tickets.csv\")\nsummaries = asyncio.run(process_batch(\n    [t[\"description\"] for t in tickets],\n    system_prompt=\"Summarize this support ticket in one sentence. Include the main issue and any resolution.\",\n    max_concurrent=2,\n))\n# Cost: $0 (vs ~$15 with GPT-4)\n```\n\n### Example 2: Classify incoming emails\n\n**User request:** \"Auto-classify emails into categories using a local model\"\n\n```python\nclassifier = LocalSubagent(\n    system_prompt=\"Classify this email into exactly one category: sales, support, spam, internal. Reply with only the category.\",\n    temperature=0.0,\n)\nfor email in emails:\n    category = classifier.run(email[\"subject\"] + \"\\n\" + email[\"body\"])\n    email[\"category\"] = category.strip().lower()\n```\n\n### Example 3: Extract structured data from documents\n\n**User request:** \"Extract names, dates, and amounts from these contracts\"\n\n```python\nextractor = LocalSubagent(\n    system_prompt='Extract fields from the contract as JSON: {\"parties\": [], \"date\": \"\", \"amount\": \"\", \"term\": \"\"}',\n    temperature=0.0,\n)\nfor doc in contracts:\n    data = extractor.run(doc[\"text\"])\n    print(f\"{doc['filename']}: {data}\")\n```\n\n## Guidelines\n\n- LM Studio processes one request at a time by default. Set `max_concurrent=1-2` for batch jobs.\n- Use quantized models (Q4_K_M or Q5_K_M) for best speed-to-quality ratio on consumer hardware.\n- 8B parameter models are the sweet spot for most extraction and classification tasks.\n- Set `temperature=0.0` for deterministic tasks like classification and extraction.\n- Test local model accuracy on a sample of 20-50 items before running full batches.\n- For tasks where local models underperform, fall back to cloud APIs automatically.\n- Keep LM Studio running as a background service for always-on local inference.\n- Monitor RAM and VRAM usage; 7B models need ~6 GB RAM (quantized) or ~16 GB (full precision).\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FTerminalSkills\u002Fskills\u002Flm-studio-subagents",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":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill lm-studio-subagents",{"tool":39,"command":40},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill lm-studio-subagents",{"tool":42,"command":43},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill lm-studio-subagents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Flm-studio-subagents\u002FSKILL.md",true,[47,53,59,63,67,71,75,79,83,87,91,95,99,103,107,111,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,231,235,239,243,247,251,255,259,263,267,273,277,281,285,289,293,297,301,305,309,313,317,321,325,329,333,337,341],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"checklist.md","REFERENCE","参考文档",13686,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fchecklist.md",{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"customize.toml","OTHER","其他",1551,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fcustomize.toml",{"path":60,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":61,"sourceHtmlUrl":62},"instructions.md",1131,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Finstructions.md",{"path":64,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":65,"sourceHtmlUrl":66},"nfr-report-template.md",13925,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fnfr-report-template.md",{"path":68,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":69,"sourceHtmlUrl":70},"resources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",25356,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",{"path":72,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":73,"sourceHtmlUrl":74},"resources\u002Fknowledge\u002Fapi-request.md",17129,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fapi-request.md",{"path":76,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":77,"sourceHtmlUrl":78},"resources\u002Fknowledge\u002Fapi-testing-patterns.md",26976,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fapi-testing-patterns.md",{"path":80,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":81,"sourceHtmlUrl":82},"resources\u002Fknowledge\u002Fauth-session.md",16215,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fauth-session.md",{"path":84,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":85,"sourceHtmlUrl":86},"resources\u002Fknowledge\u002Fburn-in.md",6503,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fburn-in.md",{"path":88,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":89,"sourceHtmlUrl":90},"resources\u002Fknowledge\u002Fci-burn-in.md",22486,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fci-burn-in.md",{"path":92,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":93,"sourceHtmlUrl":94},"resources\u002Fknowledge\u002Fcomponent-tdd.md",16149,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fcomponent-tdd.md",{"path":96,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":97,"sourceHtmlUrl":98},"resources\u002Fknowledge\u002Fcontract-testing.md",38991,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fcontract-testing.md",{"path":100,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":101,"sourceHtmlUrl":102},"resources\u002Fknowledge\u002Fdata-factories.md",15331,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fdata-factories.md",{"path":104,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":105,"sourceHtmlUrl":106},"resources\u002Fknowledge\u002Femail-auth.md",24553,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Femail-auth.md",{"path":108,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":109,"sourceHtmlUrl":110},"resources\u002Fknowledge\u002Ferror-handling.md",22959,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ferror-handling.md",{"path":112,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":113,"sourceHtmlUrl":114},"resources\u002Fknowledge\u002Ffeature-flags.md",23214,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffeature-flags.md",{"path":116,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":117,"sourceHtmlUrl":118},"resources\u002Fknowledge\u002Ffile-utils.md",13745,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffile-utils.md",{"path":120,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":121,"sourceHtmlUrl":122},"resources\u002Fknowledge\u002Ffixture-architecture.md",12414,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffixture-architecture.md",{"path":124,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":125,"sourceHtmlUrl":126},"resources\u002Fknowledge\u002Ffixtures-composition.md",11249,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffixtures-composition.md",{"path":128,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":129,"sourceHtmlUrl":130},"resources\u002Fknowledge\u002Fintercept-network-call.md",13489,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fintercept-network-call.md",{"path":132,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":133,"sourceHtmlUrl":134},"resources\u002Fknowledge\u002Flog.md",11281,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Flog.md",{"path":136,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":137,"sourceHtmlUrl":138},"resources\u002Fknowledge\u002Fnetwork-error-monitor.md",12277,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnetwork-error-monitor.md",{"path":140,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":141,"sourceHtmlUrl":142},"resources\u002Fknowledge\u002Fnetwork-first.md",16327,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnetwork-first.md",{"path":144,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":145,"sourceHtmlUrl":146},"resources\u002Fknowledge\u002Fnetwork-recorder.md",15499,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnetwork-recorder.md",{"path":148,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":149,"sourceHtmlUrl":150},"resources\u002Fknowledge\u002Fnfr-criteria.md",26670,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnfr-criteria.md",{"path":152,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":153,"sourceHtmlUrl":154},"resources\u002Fknowledge\u002Foverview.md",9663,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Foverview.md",{"path":156,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":157,"sourceHtmlUrl":158},"resources\u002Fknowledge\u002Fpact-broker-webhooks.md",13376,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpact-broker-webhooks.md",{"path":160,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":161,"sourceHtmlUrl":162},"resources\u002Fknowledge\u002Fpact-consumer-di.md",12005,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpact-consumer-di.md",{"path":164,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":165,"sourceHtmlUrl":166},"resources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",35846,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",{"path":168,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":169,"sourceHtmlUrl":170},"resources\u002Fknowledge\u002Fpact-mcp.md",8977,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpact-mcp.md",{"path":172,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":173,"sourceHtmlUrl":174},"resources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",16029,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",{"path":176,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":177,"sourceHtmlUrl":178},"resources\u002Fknowledge\u002Fpactjs-utils-overview.md",10481,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-overview.md",{"path":180,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":181,"sourceHtmlUrl":182},"resources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",18180,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",{"path":184,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":185,"sourceHtmlUrl":186},"resources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",7275,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",{"path":188,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":189,"sourceHtmlUrl":190},"resources\u002Fknowledge\u002Fplaywright-cli.md",14993,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fplaywright-cli.md",{"path":192,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":193,"sourceHtmlUrl":194},"resources\u002Fknowledge\u002Fplaywright-config.md",21457,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fplaywright-config.md",{"path":196,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":197,"sourceHtmlUrl":198},"resources\u002Fknowledge\u002Fprobability-impact.md",19200,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fprobability-impact.md",{"path":200,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":201,"sourceHtmlUrl":202},"resources\u002Fknowledge\u002Frecurse.md",12936,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Frecurse.md",{"path":204,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":205,"sourceHtmlUrl":206},"resources\u002Fknowledge\u002Frisk-governance.md",20965,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Frisk-governance.md",{"path":208,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":209,"sourceHtmlUrl":210},"resources\u002Fknowledge\u002Fselective-testing.md",21846,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fselective-testing.md",{"path":212,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":213,"sourceHtmlUrl":214},"resources\u002Fknowledge\u002Fselector-resilience.md",19784,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fselector-resilience.md",{"path":216,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":217,"sourceHtmlUrl":218},"resources\u002Fknowledge\u002Ftest-healing-patterns.md",21388,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-healing-patterns.md",{"path":220,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":221,"sourceHtmlUrl":222},"resources\u002Fknowledge\u002Ftest-levels-framework.md",14756,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-levels-framework.md",{"path":224,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":225,"sourceHtmlUrl":226},"resources\u002Fknowledge\u002Ftest-priorities-matrix.md",11454,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-priorities-matrix.md",{"path":228,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":229,"sourceHtmlUrl":230},"resources\u002Fknowledge\u002Ftest-quality.md",24580,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-quality.md",{"path":232,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":233,"sourceHtmlUrl":234},"resources\u002Fknowledge\u002Ftiming-debugging.md",14021,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftiming-debugging.md",{"path":236,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":237,"sourceHtmlUrl":238},"resources\u002Fknowledge\u002Fvisual-debugging.md",17480,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fvisual-debugging.md",{"path":240,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":241,"sourceHtmlUrl":242},"resources\u002Fknowledge\u002Fwebhook-module-setup.md",5834,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fwebhook-module-setup.md",{"path":244,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":245,"sourceHtmlUrl":246},"resources\u002Fknowledge\u002Fwebhook-providers.md",6440,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fwebhook-providers.md",{"path":248,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":249,"sourceHtmlUrl":250},"resources\u002Fknowledge\u002Fwebhook-risk-guidance.md",6474,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fwebhook-risk-guidance.md",{"path":252,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":253,"sourceHtmlUrl":254},"resources\u002Fknowledge\u002Fwebhook-template-matchers.md",6011,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fwebhook-template-matchers.md",{"path":256,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":257,"sourceHtmlUrl":258},"resources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",3185,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",{"path":260,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":261,"sourceHtmlUrl":262},"resources\u002Fknowledge\u002Fwebhook-timeout-error.md",5726,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fwebhook-timeout-error.md",{"path":264,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":265,"sourceHtmlUrl":266},"resources\u002Fknowledge\u002Fwebhook-waiting-querying.md",7074,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fwebhook-waiting-querying.md",{"path":268,"resourceType":269,"resourceTypeDesc":270,"sizeBytes":271,"sourceHtmlUrl":272},"resources\u002Ftea-index.csv","ASSET","资产文件",11002,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Ftea-index.csv",{"path":274,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":275,"sourceHtmlUrl":276},"steps-c\u002Fstep-01-load-context.md",3763,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-01-load-context.md",{"path":278,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":279,"sourceHtmlUrl":280},"steps-c\u002Fstep-01b-resume.md",3326,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-01b-resume.md",{"path":282,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":283,"sourceHtmlUrl":284},"steps-c\u002Fstep-02-define-thresholds.md",2588,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-02-define-thresholds.md",{"path":286,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":287,"sourceHtmlUrl":288},"steps-c\u002Fstep-03-gather-evidence.md",3143,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-03-gather-evidence.md",{"path":290,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":291,"sourceHtmlUrl":292},"steps-c\u002Fstep-04-evaluate-and-score.md",6989,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04-evaluate-and-score.md",{"path":294,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":295,"sourceHtmlUrl":296},"steps-c\u002Fstep-04a-subagent-security.md",3167,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04a-subagent-security.md",{"path":298,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":299,"sourceHtmlUrl":300},"steps-c\u002Fstep-04b-subagent-performance.md",1826,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04b-subagent-performance.md",{"path":302,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":303,"sourceHtmlUrl":304},"steps-c\u002Fstep-04c-subagent-reliability.md",1843,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04c-subagent-reliability.md",{"path":306,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":307,"sourceHtmlUrl":308},"steps-c\u002Fstep-04d-subagent-scalability.md",2020,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04d-subagent-scalability.md",{"path":310,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":311,"sourceHtmlUrl":312},"steps-c\u002Fstep-04e-aggregate-nfr.md",6937,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04e-aggregate-nfr.md",{"path":314,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":315,"sourceHtmlUrl":316},"steps-c\u002Fstep-05-generate-report.md",3171,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-05-generate-report.md",{"path":318,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":319,"sourceHtmlUrl":320},"steps-e\u002Fstep-01-assess.md",1253,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-e\u002Fstep-01-assess.md",{"path":322,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":323,"sourceHtmlUrl":324},"steps-e\u002Fstep-02-apply-edit.md",1475,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-e\u002Fstep-02-apply-edit.md",{"path":326,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":327,"sourceHtmlUrl":328},"steps-v\u002Fstep-01-validate.md",1798,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-v\u002Fstep-01-validate.md",{"path":330,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":331,"sourceHtmlUrl":332},"validation-report-20260127-095021.md",2072,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fvalidation-report-20260127-095021.md",{"path":334,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":335,"sourceHtmlUrl":336},"validation-report-20260127-102401.md",3745,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fvalidation-report-20260127-102401.md",{"path":338,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":339,"sourceHtmlUrl":340},"workflow-plan.md",397,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fworkflow-plan.md",{"path":342,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":343,"sourceHtmlUrl":344},"workflow.yaml",1635,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.qoder\u002Fskills\u002Fbmad-testarch-nfr\u002Fworkflow.yaml",[346,360,370,379,385,392],{"skillNo":347,"name":348,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":349,"categories":350,"keywords":356,"publishedAt":20},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[351],{"categoryNo":352,"categoryName":353,"taxonomyType":354,"taxonomyTypeDesc":355},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[357,358,359],"model","model hierarchy","model hierarchy skill",{"skillNo":361,"name":362,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":363,"categories":364,"keywords":366,"publishedAt":20},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[365],{"categoryNo":352,"categoryName":353,"taxonomyType":354,"taxonomyTypeDesc":355},[367,368,369],"MCP","zoom","zoom mcp",{"skillNo":371,"name":372,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":373,"categories":374,"keywords":375,"publishedAt":20},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[376,377,378,368],"sdk","zoom apps sdk","apps",{"skillNo":380,"name":381,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":382,"categories":383,"keywords":384,"publishedAt":20},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[381],{"skillNo":386,"name":387,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":388,"categories":389,"keywords":391,"publishedAt":20},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[390],{"categoryNo":352,"categoryName":353,"taxonomyType":354,"taxonomyTypeDesc":355},[387],{"skillNo":393,"name":394,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":395,"categories":396,"keywords":397,"publishedAt":20},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[394]]