[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6R609BT4F4MFVK9M2YZPQTV":3,"skill-same:01M6R609BT4F4MFVK9M2YZPQTV":116},{"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":18,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":46,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6R609BT4F4MFVK9M2YZPQTV","web-search",null,"Discover a bounded set of fresh web source candidates from one explicit search query, preserve provider evidence and reported cost, and prepare source selection for fetching and research.","runxhq\u002Frunx","runxhq","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278566904?v=4","01M6R54JKTWZNT4VQZ0K0DZ7V2","runx","01M6R54JRGDE4MDVDDR0E9MN0K",103,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"search","web","web search","bounded","prepare","source","research","cost","fresh","preserve","query","selection","provider","for","discover","evidence","SET","2026-11-10 10:12:30",false,"---\nname: web-search\ndescription: Discover a bounded set of fresh web source candidates from one explicit search query, preserve provider evidence and reported cost, and prepare source selection for fetching and research.\n---\n\n# Web search\n\nDiscover sources for a specific question. The initial `search` method uses the\nselected Exa account for one query and at most 20 results. It normalizes source\nidentity, removes exact duplicate URLs, rejects malformed non-web candidates\nand preserves the provider operation alongside the result. It does not silently\nchoose another provider, execute extra queries, fetch full pages or write a\nresearch conclusion. Exa is the initial executable backend; additional backends\nneed their own declared operations and result mapping.\n\n## Search procedure\n\nChoose one concrete information need per query. Include the relevant entity,\ndecision and discriminating terms. Prefer direct evidence: official documentation,\nfirst-party announcements, original reports or research. Use domain restrictions\nwhen the task requires authoritative sources. Use publication-date bounds for a\ntime-sensitive question, remembering that a publication date is not necessarily\nthe event date. Do not add filters that exclude the contrary evidence you need.\n\nLimit queries and results to the caller's actual budget. Search may consume paid\ncredits. The result includes reported cost when available; missing cost remains\nunknown. The result cap is not a monetary spending limit. This package adds no\nbilling authority or automatic retry after an uncertain paid request.\n\n## Result and composition\n\n`search_result` contains the query, provider request ID, usable source candidates,\ndiscard counts and reported cost. `provider_operation` retains the exact native\nprovider evidence and account binding. An empty provider result returns\n`no_results`; a nonempty response with no usable candidates returns\n`unusable_results`. Neither means the question has been researched exhaustively.\n\nTitles, dates and any returned excerpt are discovery metadata, not verified claims\nor full page content. Fetch selected URLs through `web-fetch` and feed the actual\nretrieved packets to `research`. Check contradictions, source diversity and\ncoverage before drawing conclusions. `research` over supplied evidence does not\nperform fresh discovery by itself. Reuse adequate existing evidence rather than\nrepeating a paid search.\n","# Web search\n\nDiscover sources for a specific question. The initial `search` method uses the\nselected Exa account for one query and at most 20 results. It normalizes source\nidentity, removes exact duplicate URLs, rejects malformed non-web candidates\nand preserves the provider operation alongside the result. It does not silently\nchoose another provider, execute extra queries, fetch full pages or write a\nresearch conclusion. Exa is the initial executable backend; additional backends\nneed their own declared operations and result mapping.\n\n## Search procedure\n\nChoose one concrete information need per query. Include the relevant entity,\ndecision and discriminating terms. Prefer direct evidence: official documentation,\nfirst-party announcements, original reports or research. Use domain restrictions\nwhen the task requires authoritative sources. Use publication-date bounds for a\ntime-sensitive question, remembering that a publication date is not necessarily\nthe event date. Do not add filters that exclude the contrary evidence you need.\n\nLimit queries and results to the caller's actual budget. Search may consume paid\ncredits. The result includes reported cost when available; missing cost remains\nunknown. The result cap is not a monetary spending limit. This package adds no\nbilling authority or automatic retry after an uncertain paid request.\n\n## Result and composition\n\n`search_result` contains the query, provider request ID, usable source candidates,\ndiscard counts and reported cost. `provider_operation` retains the exact native\nprovider evidence and account binding. An empty provider result returns\n`no_results`; a nonempty response with no usable candidates returns\n`unusable_results`. Neither means the question has been researched exhaustively.\n\nTitles, dates and any returned excerpt are discovery metadata, not verified claims\nor full page content. Fetch selected URLs through `web-fetch` and feed the actual\nretrieved packets to `research`. Check contradictions, source diversity and\ncoverage before drawing conclusions. `research` over supplied evidence does not\nperform fresh discovery by itself. Reuse adequate existing evidence rather than\nrepeating a paid search.\n",{"name":5,"description":7},"main","14cf84bcc80d7abf0008335efac4d92aacfa682e","skills\u002Fweb-search",108,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx","https:\u002F\u002Frunx.ai","https:\u002F\u002Fgithub.com\u002Frunxhq","the governed runtime for agent skills","2026-11-14 13:45:54",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add runxhq\u002Frunx --skill web-search",{"tool":56,"command":57},"bunx","bunx skills add runxhq\u002Frunx --skill web-search",{"tool":59,"command":60},"pnpm","pnpm dlx skills add runxhq\u002Frunx --skill web-search","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002FSKILL.md",true,[64,70,74,78,82,86,90,94,98,102,106,112],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"eval_queries.json","REFERENCE","参考文档",2168,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Feval_queries.json",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"evals\u002Fevals.json",766,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Fevals\u002Fevals.json",{"path":75,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":76,"sourceHtmlUrl":77},"evals\u002Ffiles\u002Fbounded-query.json",274,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Fevals\u002Ffiles\u002Fbounded-query.json",{"path":79,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fcatalog.md",142,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Freferences\u002Fcatalog.md",{"path":83,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":84,"sourceHtmlUrl":85},"run.yaml",4597,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Frun.yaml",{"path":87,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":88,"sourceHtmlUrl":89},"tests\u002Fbounded-discovery.yaml",1060,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Ftests\u002Fbounded-discovery.yaml",{"path":91,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":92,"sourceHtmlUrl":93},"tests\u002Fcomposes-in-workflow.yaml",97,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Ftests\u002Fcomposes-in-workflow.yaml",{"path":95,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":96,"sourceHtmlUrl":97},"tests\u002Fempty-discovery.yaml",750,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Ftests\u002Fempty-discovery.yaml",{"path":99,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":100,"sourceHtmlUrl":101},"tests\u002Finvalid-publication-time-stops-before-provider.yaml",230,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Ftests\u002Finvalid-publication-time-stops-before-provider.yaml",{"path":103,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":104,"sourceHtmlUrl":105},"tests\u002Funusable-candidates.yaml",949,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Ftests\u002Funusable-candidates.yaml",{"path":107,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":110,"sourceHtmlUrl":111},"web-search.mjs","SCRIPT","脚本",2795,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Fweb-search.mjs",{"path":113,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":114,"sourceHtmlUrl":115},"web-search.test.mjs",721,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002Fweb-search.test.mjs",[117,147,163,182,199,214],{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":128,"publishedAt":36},"01M6R60D2HHP5C47QZ7ZBYBHSM","webhook-handoff","Validate a runx execution context and deliver a governed payload once to an n8n Cloud workflow webhook or a Zapier Catch Hook, with exact approval and the receiver's acknowledgement receipted.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fwebhook-handoff\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[129,130,131,132,12,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"webhook handoff","handoff","webhook","approval","context","receiver","deliver","acknowledgement","execution","workflow","zapier","with","catch","validate","n8n","payload","cloud","hook",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":36},"01M6R5ZV4Z3FK8AHATF7AARXYD","web-fetch","Fetch and extract one public web source, optionally restrict its hosts, and return the content by digest with full provenance.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-fetch\u002FSKILL.md",[],[20,154,155,156,157,158,159,24,160,161,162,140],"web fetch","fetch","provenance","extract","content","full","public","digest","hosts",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":170,"publishedAt":36},"01M6R5ZPRJQZ1Y8CBPT3WHSWCB","vuln-triage","Prioritize actual exact-coordinate vulnerability findings, preserve unknown exposure and partial coverage, and return practical remediation or an unsent advisory draft.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fvuln-triage\u002FSKILL.md",[169],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[171,172,173,174,175,28,176,177,178,179,180,181],"vuln triage","triage","prioritize","remediation","draft","vulnerability","unknown","coordinate","practical","coverage","advisory",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":189,"publishedAt":36},"01M6R5Z9RR7V456TAW4J5AJG0R","twitter","Govern X (Twitter) account work through three lanes: evidence reads, typed act plans for posting and account hygiene, and gated execution with per-act provider evidence. Nothing reaches a live timeline or mutates an account without an explicit approval recorded in the receipt.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Ftwitter\u002FSKILL.md",[188],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[184,31,32,190,191,34,137,192,132,193,194,195,196,197,140,198],"three","posting","timeline","live","act","hygiene","gated","work","plans",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":36},"01M6R5Z3XRVR0V5XTES05XJRV8","team-delegate","Divide bounded work across an operator-selected team and return exact member assignments with source context, scope ceilings and acceptance checks.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fteam-delegate\u002FSKILL.md",[205],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[207,208,209,24,22,133,210,197,140,211,212,213],"team delegate","team","delegate","operator","across","acceptance","scope",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":218,"categories":219,"keywords":221,"publishedAt":36},"01M6R5YRXFTX914206WAEY5BD8","taste-profile","Build a scoped taste profile packet from examples, preferences, and explicit dislikes so downstream agents can make style decisions without inventing the user's taste.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Ftaste-profile\u002FSKILL.md",[220],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[222,223,224,225,226,227,228,229,230,231,232,233],"taste","profile","taste profile","scoped","preferences","decisions","can","build","user","make","examples","style"]