[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6E94Q5NFMRXY4S832FSYV3G":3,"skill-same:01M6E94Q5NFMRXY4S832FSYV3G":342},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6E94Q5NFMRXY4S832FSYV3G","ocr-web-service-automation",null,"Automate OCR Web Service tasks via Rube MCP (Composio). Always search tools first for current schemas.","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\u002FComposioHQ\u002Fawesome-claude-skills\u002Focr-web-service-automation\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36],"automation","web","ocr","ocr web service automation","service","MCP","tasks","search","Tools","first","automate","composio","via","2026-11-10 10:12:30",false,"---\nname: ocr-web-service-automation\ndescription: \"Automate OCR Web Service tasks via Rube MCP (Composio). Always search tools first for current schemas.\"\nrequires:\n  mcp: [rube]\n---\n\n# OCR Web Service Automation via Rube MCP\n\nAutomate OCR Web Service operations through Composio's OCR Web Service toolkit via Rube MCP.\n\n**Toolkit docs**: [composio.dev\u002Ftoolkits\u002Focr_web_service](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Focr_web_service)\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active OCR Web Service connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `ocr_web_service`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `ocr_web_service`\n3. If connection is not ACTIVE, follow the returned auth link to complete setup\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Tool Discovery\n\nAlways discover available tools before executing workflows:\n\n```\nRUBE_SEARCH_TOOLS\nqueries: [{use_case: \"OCR Web Service operations\", known_fields: \"\"}]\nsession: {generate_id: true}\n```\n\nThis returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.\n\n## Core Workflow Pattern\n\n### Step 1: Discover Available Tools\n\n```\nRUBE_SEARCH_TOOLS\nqueries: [{use_case: \"your specific OCR Web Service task\"}]\nsession: {id: \"existing_session_id\"}\n```\n\n### Step 2: Check Connection\n\n```\nRUBE_MANAGE_CONNECTIONS\ntoolkits: [\"ocr_web_service\"]\nsession_id: \"your_session_id\"\n```\n\n### Step 3: Execute Tools\n\n```\nRUBE_MULTI_EXECUTE_TOOL\ntools: [{\n  tool_slug: \"TOOL_SLUG_FROM_SEARCH\",\n  arguments: {\u002F* schema-compliant args from search results *\u002F}\n}]\nmemory: {}\nsession_id: \"your_session_id\"\n```\n\n## Known Pitfalls\n\n- **Always search first**: Tool schemas change. Never hardcode tool slugs or arguments without calling `RUBE_SEARCH_TOOLS`\n- **Check connection**: Verify `RUBE_MANAGE_CONNECTIONS` shows ACTIVE status before executing tools\n- **Schema compliance**: Use exact field names and types from the search results\n- **Memory parameter**: Always include `memory` in `RUBE_MULTI_EXECUTE_TOOL` calls, even if empty (`{}`)\n- **Session reuse**: Reuse session IDs within a workflow. Generate new ones for new workflows\n- **Pagination**: Check responses for pagination tokens and continue fetching until complete\n\n## Quick Reference\n\n| Operation | Approach |\n|-----------|----------|\n| Find tools | `RUBE_SEARCH_TOOLS` with OCR Web Service-specific use case |\n| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `ocr_web_service` |\n| Execute | `RUBE_MULTI_EXECUTE_TOOL` with discovered tool slugs |\n| Bulk ops | `RUBE_REMOTE_WORKBENCH` with `run_composio_tool()` |\n| Full schema | `RUBE_GET_TOOL_SCHEMAS` for tools with `schemaRef` |\n\n---\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n\n","# OCR Web Service Automation via Rube MCP\n\nAutomate OCR Web Service operations through Composio's OCR Web Service toolkit via Rube MCP.\n\n**Toolkit docs**: [composio.dev\u002Ftoolkits\u002Focr_web_service](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Focr_web_service)\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active OCR Web Service connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `ocr_web_service`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `ocr_web_service`\n3. If connection is not ACTIVE, follow the returned auth link to complete setup\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Tool Discovery\n\nAlways discover available tools before executing workflows:\n\n```\nRUBE_SEARCH_TOOLS\nqueries: [{use_case: \"OCR Web Service operations\", known_fields: \"\"}]\nsession: {generate_id: true}\n```\n\nThis returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.\n\n## Core Workflow Pattern\n\n### Step 1: Discover Available Tools\n\n```\nRUBE_SEARCH_TOOLS\nqueries: [{use_case: \"your specific OCR Web Service task\"}]\nsession: {id: \"existing_session_id\"}\n```\n\n### Step 2: Check Connection\n\n```\nRUBE_MANAGE_CONNECTIONS\ntoolkits: [\"ocr_web_service\"]\nsession_id: \"your_session_id\"\n```\n\n### Step 3: Execute Tools\n\n```\nRUBE_MULTI_EXECUTE_TOOL\ntools: [{\n  tool_slug: \"TOOL_SLUG_FROM_SEARCH\",\n  arguments: {\u002F* schema-compliant args from search results *\u002F}\n}]\nmemory: {}\nsession_id: \"your_session_id\"\n```\n\n## Known Pitfalls\n\n- **Always search first**: Tool schemas change. Never hardcode tool slugs or arguments without calling `RUBE_SEARCH_TOOLS`\n- **Check connection**: Verify `RUBE_MANAGE_CONNECTIONS` shows ACTIVE status before executing tools\n- **Schema compliance**: Use exact field names and types from the search results\n- **Memory parameter**: Always include `memory` in `RUBE_MULTI_EXECUTE_TOOL` calls, even if empty (`{}`)\n- **Session reuse**: Reuse session IDs within a workflow. Generate new ones for new workflows\n- **Pagination**: Check responses for pagination tokens and continue fetching until complete\n\n## Quick Reference\n\n| Operation | Approach |\n|-----------|----------|\n| Find tools | `RUBE_SEARCH_TOOLS` with OCR Web Service-specific use case |\n| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `ocr_web_service` |\n| Execute | `RUBE_MULTI_EXECUTE_TOOL` with discovered tool slugs |\n| Bulk ops | `RUBE_REMOTE_WORKBENCH` with `run_composio_tool()` |\n| Full schema | `RUBE_GET_TOOL_SCHEMAS` for tools with `schemaRef` |\n\n---\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n\n",{"name":5,"requires":42,"description":7},{"mcp":43},[44],"rube","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FComposioHQ\u002Fawesome-claude-skills\u002Focr-web-service-automation",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":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill ocr-web-service-automation",{"tool":60,"command":61},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill ocr-web-service-automation",{"tool":63,"command":64},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill ocr-web-service-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FComposioHQ\u002Fawesome-claude-skills\u002Focr-web-service-automation\u002FSKILL.md",true,[68,74,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,290,294,298,302,306,310,314,318,322,326,330,334,338],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"checklist.md","REFERENCE","参考文档",12470,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fchecklist.md",{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"customize.toml","OTHER","其他",1557,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fcustomize.toml",{"path":81,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":82,"sourceHtmlUrl":83},"instructions.md",1133,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Finstructions.md",{"path":85,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":86,"sourceHtmlUrl":87},"resources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",25356,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",{"path":89,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":90,"sourceHtmlUrl":91},"resources\u002Fknowledge\u002Fapi-request.md",17129,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fapi-request.md",{"path":93,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":94,"sourceHtmlUrl":95},"resources\u002Fknowledge\u002Fapi-testing-patterns.md",26976,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fapi-testing-patterns.md",{"path":97,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":98,"sourceHtmlUrl":99},"resources\u002Fknowledge\u002Fauth-session.md",16215,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fauth-session.md",{"path":101,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":102,"sourceHtmlUrl":103},"resources\u002Fknowledge\u002Fburn-in.md",6503,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fburn-in.md",{"path":105,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":106,"sourceHtmlUrl":107},"resources\u002Fknowledge\u002Fci-burn-in.md",22486,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fci-burn-in.md",{"path":109,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":110,"sourceHtmlUrl":111},"resources\u002Fknowledge\u002Fcomponent-tdd.md",16149,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fcomponent-tdd.md",{"path":113,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":114,"sourceHtmlUrl":115},"resources\u002Fknowledge\u002Fcontract-testing.md",38991,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fcontract-testing.md",{"path":117,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":118,"sourceHtmlUrl":119},"resources\u002Fknowledge\u002Fdata-factories.md",15331,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fdata-factories.md",{"path":121,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":122,"sourceHtmlUrl":123},"resources\u002Fknowledge\u002Femail-auth.md",24553,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Femail-auth.md",{"path":125,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":126,"sourceHtmlUrl":127},"resources\u002Fknowledge\u002Ferror-handling.md",22959,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ferror-handling.md",{"path":129,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":130,"sourceHtmlUrl":131},"resources\u002Fknowledge\u002Ffeature-flags.md",23214,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ffeature-flags.md",{"path":133,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":134,"sourceHtmlUrl":135},"resources\u002Fknowledge\u002Ffile-utils.md",13745,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ffile-utils.md",{"path":137,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":138,"sourceHtmlUrl":139},"resources\u002Fknowledge\u002Ffixture-architecture.md",12414,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ffixture-architecture.md",{"path":141,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":142,"sourceHtmlUrl":143},"resources\u002Fknowledge\u002Ffixtures-composition.md",11249,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ffixtures-composition.md",{"path":145,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":146,"sourceHtmlUrl":147},"resources\u002Fknowledge\u002Fintercept-network-call.md",13489,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fintercept-network-call.md",{"path":149,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":150,"sourceHtmlUrl":151},"resources\u002Fknowledge\u002Flog.md",11281,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Flog.md",{"path":153,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":154,"sourceHtmlUrl":155},"resources\u002Fknowledge\u002Fnetwork-error-monitor.md",12277,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fnetwork-error-monitor.md",{"path":157,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":158,"sourceHtmlUrl":159},"resources\u002Fknowledge\u002Fnetwork-first.md",16327,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fnetwork-first.md",{"path":161,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":162,"sourceHtmlUrl":163},"resources\u002Fknowledge\u002Fnetwork-recorder.md",15499,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fnetwork-recorder.md",{"path":165,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":166,"sourceHtmlUrl":167},"resources\u002Fknowledge\u002Fnfr-criteria.md",26670,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fnfr-criteria.md",{"path":169,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":170,"sourceHtmlUrl":171},"resources\u002Fknowledge\u002Foverview.md",9663,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Foverview.md",{"path":173,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":174,"sourceHtmlUrl":175},"resources\u002Fknowledge\u002Fpact-broker-webhooks.md",13376,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpact-broker-webhooks.md",{"path":177,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":178,"sourceHtmlUrl":179},"resources\u002Fknowledge\u002Fpact-consumer-di.md",12005,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpact-consumer-di.md",{"path":181,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":182,"sourceHtmlUrl":183},"resources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",35846,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",{"path":185,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":186,"sourceHtmlUrl":187},"resources\u002Fknowledge\u002Fpact-mcp.md",8977,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpact-mcp.md",{"path":189,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":190,"sourceHtmlUrl":191},"resources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",16029,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",{"path":193,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":194,"sourceHtmlUrl":195},"resources\u002Fknowledge\u002Fpactjs-utils-overview.md",10481,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpactjs-utils-overview.md",{"path":197,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":198,"sourceHtmlUrl":199},"resources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",18180,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",{"path":201,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":202,"sourceHtmlUrl":203},"resources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",7275,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",{"path":205,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":206,"sourceHtmlUrl":207},"resources\u002Fknowledge\u002Fplaywright-cli.md",14993,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fplaywright-cli.md",{"path":209,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":210,"sourceHtmlUrl":211},"resources\u002Fknowledge\u002Fplaywright-config.md",21457,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fplaywright-config.md",{"path":213,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":214,"sourceHtmlUrl":215},"resources\u002Fknowledge\u002Fprobability-impact.md",19200,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fprobability-impact.md",{"path":217,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":218,"sourceHtmlUrl":219},"resources\u002Fknowledge\u002Frecurse.md",12936,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Frecurse.md",{"path":221,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":222,"sourceHtmlUrl":223},"resources\u002Fknowledge\u002Frisk-governance.md",20965,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Frisk-governance.md",{"path":225,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":226,"sourceHtmlUrl":227},"resources\u002Fknowledge\u002Fselective-testing.md",21846,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fselective-testing.md",{"path":229,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":230,"sourceHtmlUrl":231},"resources\u002Fknowledge\u002Fselector-resilience.md",19784,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fselector-resilience.md",{"path":233,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":234,"sourceHtmlUrl":235},"resources\u002Fknowledge\u002Ftest-healing-patterns.md",21388,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ftest-healing-patterns.md",{"path":237,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":238,"sourceHtmlUrl":239},"resources\u002Fknowledge\u002Ftest-levels-framework.md",14756,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ftest-levels-framework.md",{"path":241,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":242,"sourceHtmlUrl":243},"resources\u002Fknowledge\u002Ftest-priorities-matrix.md",11454,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ftest-priorities-matrix.md",{"path":245,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":246,"sourceHtmlUrl":247},"resources\u002Fknowledge\u002Ftest-quality.md",24580,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ftest-quality.md",{"path":249,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":250,"sourceHtmlUrl":251},"resources\u002Fknowledge\u002Ftiming-debugging.md",14021,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Ftiming-debugging.md",{"path":253,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":254,"sourceHtmlUrl":255},"resources\u002Fknowledge\u002Fvisual-debugging.md",17480,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fvisual-debugging.md",{"path":257,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":258,"sourceHtmlUrl":259},"resources\u002Fknowledge\u002Fwebhook-module-setup.md",5834,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fwebhook-module-setup.md",{"path":261,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":262,"sourceHtmlUrl":263},"resources\u002Fknowledge\u002Fwebhook-providers.md",6440,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fwebhook-providers.md",{"path":265,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":266,"sourceHtmlUrl":267},"resources\u002Fknowledge\u002Fwebhook-risk-guidance.md",6474,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fwebhook-risk-guidance.md",{"path":269,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":270,"sourceHtmlUrl":271},"resources\u002Fknowledge\u002Fwebhook-template-matchers.md",6011,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fwebhook-template-matchers.md",{"path":273,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":274,"sourceHtmlUrl":275},"resources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",3185,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",{"path":277,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":278,"sourceHtmlUrl":279},"resources\u002Fknowledge\u002Fwebhook-timeout-error.md",5726,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fwebhook-timeout-error.md",{"path":281,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":282,"sourceHtmlUrl":283},"resources\u002Fknowledge\u002Fwebhook-waiting-querying.md",7074,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Fknowledge\u002Fwebhook-waiting-querying.md",{"path":285,"resourceType":286,"resourceTypeDesc":287,"sizeBytes":288,"sourceHtmlUrl":289},"resources\u002Ftea-index.csv","ASSET","资产文件",11002,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fresources\u002Ftea-index.csv",{"path":291,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":292,"sourceHtmlUrl":293},"steps-c\u002Fstep-01-preflight.md",4068,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-c\u002Fstep-01-preflight.md",{"path":295,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":296,"sourceHtmlUrl":297},"steps-c\u002Fstep-01b-resume.md",3804,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-c\u002Fstep-01b-resume.md",{"path":299,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":300,"sourceHtmlUrl":301},"steps-c\u002Fstep-02-select-framework.md",3016,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-c\u002Fstep-02-select-framework.md",{"path":303,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":304,"sourceHtmlUrl":305},"steps-c\u002Fstep-03-scaffold-framework.md",14572,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-c\u002Fstep-03-scaffold-framework.md",{"path":307,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":308,"sourceHtmlUrl":309},"steps-c\u002Fstep-04-docs-and-scripts.md",3060,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-c\u002Fstep-04-docs-and-scripts.md",{"path":311,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":312,"sourceHtmlUrl":313},"steps-c\u002Fstep-05-validate-and-summary.md",2508,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-c\u002Fstep-05-validate-and-summary.md",{"path":315,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":316,"sourceHtmlUrl":317},"steps-e\u002Fstep-01-assess.md",1253,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-e\u002Fstep-01-assess.md",{"path":319,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":320,"sourceHtmlUrl":321},"steps-e\u002Fstep-02-apply-edit.md",1475,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-e\u002Fstep-02-apply-edit.md",{"path":323,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":324,"sourceHtmlUrl":325},"steps-v\u002Fstep-01-validate.md",1797,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fsteps-v\u002Fstep-01-validate.md",{"path":327,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":328,"sourceHtmlUrl":329},"validation-report-20260127-095021.md",2088,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fvalidation-report-20260127-095021.md",{"path":331,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":332,"sourceHtmlUrl":333},"validation-report-20260127-102401.md",3751,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fvalidation-report-20260127-102401.md",{"path":335,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":336,"sourceHtmlUrl":337},"workflow-plan.md",519,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fworkflow-plan.md",{"path":339,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":340,"sourceHtmlUrl":341},"workflow.yaml",1715,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.crush\u002Fskills\u002Fbmad-testarch-framework\u002Fworkflow.yaml",[343,353,362,371,377,384],{"skillNo":344,"name":345,"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":346,"categories":347,"keywords":349,"publishedAt":37},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[348],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[350,351,352],"model","model hierarchy","model hierarchy skill",{"skillNo":354,"name":355,"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":356,"categories":357,"keywords":359,"publishedAt":37},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[358],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[29,360,361],"zoom","zoom mcp",{"skillNo":363,"name":364,"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":365,"categories":366,"keywords":367,"publishedAt":37},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[368,369,370,360],"sdk","zoom apps sdk","apps",{"skillNo":372,"name":373,"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":374,"categories":375,"keywords":376,"publishedAt":37},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[373],{"skillNo":378,"name":379,"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":380,"categories":381,"keywords":383,"publishedAt":37},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[382],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[379],{"skillNo":385,"name":386,"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":387,"categories":388,"keywords":389,"publishedAt":37},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[386]]