[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698SW76KVMKNESC9VWFB64M":3,"skill-same:01M698SW76KVMKNESC9VWFB64M":59},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M698SW76KVMKNESC9VWFB64M","qmd",null,"Search markdown knowledge bases, notes, and documentation using QMD. Use when users ask to search notes, find documents, or look up information.","openclaw\u002Fnix-openclaw-tools","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698SJB382G4YREQ6HE3HRFG",54,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fqmd\u002Fskills\u002Fqmd\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,23,9,24,25],"MCP","cli","nix","2026-11-10 10:12:30",false,"---\nname: qmd\ndescription: Search markdown knowledge bases, notes, and documentation using QMD. Use when users ask to search notes, find documents, or look up information.\nlicense: MIT\ncompatibility: Requires qmd CLI or MCP server. In Nix OpenClaw, use the qmd package\u002Fplugin from nix-openclaw-tools.\nmetadata:\n  author: tobi\n  version: \"2.0.0\"\nallowed-tools: Bash(qmd:*), mcp__qmd__*\n---\n\n# QMD - Quick Markdown Search\n\nLocal search engine for markdown content.\n\n## Status\n\n!`qmd status 2>\u002Fdev\u002Fnull || echo \"qmd CLI not found on this runtime PATH\"`\n\n## MCP: `query`\n\n```json\n{\n  \"searches\": [\n    { \"type\": \"lex\", \"query\": \"CAP theorem consistency\" },\n    { \"type\": \"vec\", \"query\": \"tradeoff between consistency and availability\" }\n  ],\n  \"collections\": [\"docs\"],\n  \"limit\": 10\n}\n```\n\n### Query Types\n\n| Type | Method | Input |\n|------|--------|-------|\n| `lex` | BM25 | Keywords — exact terms, names, code |\n| `vec` | Vector | Question — natural language |\n| `hyde` | Vector | Answer — hypothetical result (50-100 words) |\n\n### Writing Good Queries\n\n**lex (keyword)**\n- 2-5 terms, no filler words\n- Exact phrase: `\"connection pool\"` (quoted)\n- Exclude terms: `performance -sports` (minus prefix)\n- Code identifiers work: `handleError async`\n\n**vec (semantic)**\n- Full natural language question\n- Be specific: `\"how does the rate limiter handle burst traffic\"`\n- Include context: `\"in the payment service, how are refunds processed\"`\n\n**hyde (hypothetical document)**\n- Write 50-100 words of what the *answer* looks like\n- Use the vocabulary you expect in the result\n\n**expand (auto-expand)**\n- Use a single-line query (implicit) or `expand: question` on its own line\n- Lets the local LLM generate lex\u002Fvec\u002Fhyde variations\n- Do not mix `expand:` with other typed lines — it's either a standalone expand query or a full query document\n\n### Intent (Disambiguation)\n\nWhen a query term is ambiguous, add `intent` to steer results:\n\n```json\n{\n  \"searches\": [\n    { \"type\": \"lex\", \"query\": \"performance\" }\n  ],\n  \"intent\": \"web page load times and Core Web Vitals\"\n}\n```\n\nIntent affects expansion, reranking, chunk selection, and snippet extraction. It does not search on its own — it's a steering signal that disambiguates queries like \"performance\" (web-perf vs team health vs fitness).\n\n### Combining Types\n\n| Goal | Approach |\n|------|----------|\n| Know exact terms | `lex` only |\n| Don't know vocabulary | Use a single-line query (implicit `expand:`) or `vec` |\n| Best recall | `lex` + `vec` |\n| Complex topic | `lex` + `vec` + `hyde` |\n| Ambiguous query | Add `intent` to any combination above |\n\nFirst query gets 2x weight in fusion — put your best guess first.\n\n### Lex Query Syntax\n\n| Syntax | Meaning | Example |\n|--------|---------|---------|\n| `term` | Prefix match | `perf` matches \"performance\" |\n| `\"phrase\"` | Exact phrase | `\"rate limiter\"` |\n| `-term` | Exclude | `performance -sports` |\n\nNote: `-term` only works in lex queries, not vec\u002Fhyde.\n\n### Collection Filtering\n\n```json\n{ \"collections\": [\"docs\"] }              \u002F\u002F Single\n{ \"collections\": [\"docs\", \"notes\"] }     \u002F\u002F Multiple (OR)\n```\n\nOmit to search all collections.\n\n## Other MCP Tools\n\n| Tool | Use |\n|------|-----|\n| `get` | Retrieve doc by path or `#docid` |\n| `multi_get` | Retrieve multiple by glob\u002Flist |\n| `status` | Collections and health |\n\n## CLI\n\n```bash\nqmd query \"question\"              # Auto-expand + rerank\nqmd query $'lex: X\\nvec: Y'       # Structured\nqmd query $'expand: question'     # Explicit expand\nqmd query --json --explain \"q\"    # Show score traces (RRF + rerank blend)\nqmd search \"keywords\"             # BM25 only (no LLM)\nqmd get \"#abc123\"                 # By docid\nqmd multi-get \"journals\u002F2026-*.md\" -l 40  # Batch pull snippets by glob\nqmd multi-get notes\u002Ffoo.md,notes\u002Fbar.md   # Comma-separated list, preserves order\n```\n\n## HTTP API\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8181\u002Fquery \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"searches\": [{\"type\": \"lex\", \"query\": \"test\"}]}'\n```\n\n## Setup\n\n```bash\nqmd collection add ~\u002Fnotes --name notes\nqmd embed\n```\n","# QMD - Quick Markdown Search\n\nLocal search engine for markdown content.\n\n## Status\n\n!`qmd status 2>\u002Fdev\u002Fnull || echo \"qmd CLI not found on this runtime PATH\"`\n\n## MCP: `query`\n\n```json\n{\n  \"searches\": [\n    { \"type\": \"lex\", \"query\": \"CAP theorem consistency\" },\n    { \"type\": \"vec\", \"query\": \"tradeoff between consistency and availability\" }\n  ],\n  \"collections\": [\"docs\"],\n  \"limit\": 10\n}\n```\n\n### Query Types\n\n| Type | Method | Input |\n|------|--------|-------|\n| `lex` | BM25 | Keywords — exact terms, names, code |\n| `vec` | Vector | Question — natural language |\n| `hyde` | Vector | Answer — hypothetical result (50-100 words) |\n\n### Writing Good Queries\n\n**lex (keyword)**\n- 2-5 terms, no filler words\n- Exact phrase: `\"connection pool\"` (quoted)\n- Exclude terms: `performance -sports` (minus prefix)\n- Code identifiers work: `handleError async`\n\n**vec (semantic)**\n- Full natural language question\n- Be specific: `\"how does the rate limiter handle burst traffic\"`\n- Include context: `\"in the payment service, how are refunds processed\"`\n\n**hyde (hypothetical document)**\n- Write 50-100 words of what the *answer* looks like\n- Use the vocabulary you expect in the result\n\n**expand (auto-expand)**\n- Use a single-line query (implicit) or `expand: question` on its own line\n- Lets the local LLM generate lex\u002Fvec\u002Fhyde variations\n- Do not mix `expand:` with other typed lines — it's either a standalone expand query or a full query document\n\n### Intent (Disambiguation)\n\nWhen a query term is ambiguous, add `intent` to steer results:\n\n```json\n{\n  \"searches\": [\n    { \"type\": \"lex\", \"query\": \"performance\" }\n  ],\n  \"intent\": \"web page load times and Core Web Vitals\"\n}\n```\n\nIntent affects expansion, reranking, chunk selection, and snippet extraction. It does not search on its own — it's a steering signal that disambiguates queries like \"performance\" (web-perf vs team health vs fitness).\n\n### Combining Types\n\n| Goal | Approach |\n|------|----------|\n| Know exact terms | `lex` only |\n| Don't know vocabulary | Use a single-line query (implicit `expand:`) or `vec` |\n| Best recall | `lex` + `vec` |\n| Complex topic | `lex` + `vec` + `hyde` |\n| Ambiguous query | Add `intent` to any combination above |\n\nFirst query gets 2x weight in fusion — put your best guess first.\n\n### Lex Query Syntax\n\n| Syntax | Meaning | Example |\n|--------|---------|---------|\n| `term` | Prefix match | `perf` matches \"performance\" |\n| `\"phrase\"` | Exact phrase | `\"rate limiter\"` |\n| `-term` | Exclude | `performance -sports` |\n\nNote: `-term` only works in lex queries, not vec\u002Fhyde.\n\n### Collection Filtering\n\n```json\n{ \"collections\": [\"docs\"] }              \u002F\u002F Single\n{ \"collections\": [\"docs\", \"notes\"] }     \u002F\u002F Multiple (OR)\n```\n\nOmit to search all collections.\n\n## Other MCP Tools\n\n| Tool | Use |\n|------|-----|\n| `get` | Retrieve doc by path or `#docid` |\n| `multi_get` | Retrieve multiple by glob\u002Flist |\n| `status` | Collections and health |\n\n## CLI\n\n```bash\nqmd query \"question\"              # Auto-expand + rerank\nqmd query $'lex: X\\nvec: Y'       # Structured\nqmd query $'expand: question'     # Explicit expand\nqmd query --json --explain \"q\"    # Show score traces (RRF + rerank blend)\nqmd search \"keywords\"             # BM25 only (no LLM)\nqmd get \"#abc123\"                 # By docid\nqmd multi-get \"journals\u002F2026-*.md\" -l 40  # Batch pull snippets by glob\nqmd multi-get notes\u002Ffoo.md,notes\u002Fbar.md   # Comma-separated list, preserves order\n```\n\n## HTTP API\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8181\u002Fquery \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"searches\": [{\"type\": \"lex\", \"query\": \"test\"}]}'\n```\n\n## Setup\n\n```bash\nqmd collection add ~\u002Fnotes --name notes\nqmd embed\n```\n",{"name":5,"license":14,"metadata":31,"description":7,"allowed-tools":34,"compatibility":35},{"author":32,"version":33},"tobi","2.0.0","Bash(qmd:*), mcp__qmd__*","Requires qmd CLI or MCP server. In Nix OpenClaw, use the qmd package\u002Fplugin from nix-openclaw-tools.","main","1aca1077466fc9bff1bf098716fa8e1b8eb89574","tools\u002Fqmd\u002Fskills\u002Fqmd",46,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools","https:\u002F\u002Fgithub.com\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","Your personal, open source AI assistant.","2026-11-06 10:21:36",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add openclaw\u002Fnix-openclaw-tools --skill qmd",{"tool":51,"command":52},"bunx","bunx skills add openclaw\u002Fnix-openclaw-tools --skill qmd",{"tool":54,"command":55},"pnpm","pnpm dlx skills add openclaw\u002Fnix-openclaw-tools --skill qmd","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fqmd\u002Fskills\u002Fqmd\u002FSKILL.md",true,[],[60,67,74,84,91,98],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":26},"01M698T2M9HXMYS5PAB1EC5W27","wacrawl","wacrawl: WhatsApp Desktop archive import\u002Fsearch, slices, backups, repo\u002Frelease work.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fwacrawl\u002Fskills\u002Fwacrawl\u002FSKILL.md",[],[62],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":26},"01M698T1BWWF2F84AYVV4EYKSX","wacli","Send third-party WhatsApp messages or sync\u002Fsearch WhatsApp history via wacli, not normal active chats.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fwacli\u002Fskills\u002Fwacli\u002FSKILL.md",[],[69,9],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":83,"publishedAt":26},"01M698T06S09004V9CTSB50SPG","summarize","Summarize or transcribe URLs, YouTube\u002Fvideos, podcasts, articles, transcripts, PDFs, and local files.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fsummarize\u002Fskills\u002Fsummarize\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",[76],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":26},"01M698SZ16ZH2N0GYKEWYYE6F6","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fsonoscli\u002Fskills\u002Fsonoscli\u002FSKILL.md",[],[86],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":26},"01M698SXW4BDJDMA7QWY4P3T8Y","sag","ElevenLabs text-to-speech with mac-style say UX.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fsag\u002Fskills\u002Fsag\u002FSKILL.md",[],[93],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":26},"01M698SV1XF9R0PD4QFWDTCYSE","poltergeist","File watcher with auto-rebuild for any language or build system.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fpoltergeist\u002Fskills\u002Fpoltergeist\u002FSKILL.md",[],[100]]