[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71H13YF87TJ09AA2AYWMQVQ":3,"skill-same:01M71H13YF87TJ09AA2AYWMQVQ":82},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M71H13YF87TJ09AA2AYWMQVQ","qmd",null,"Local hybrid search for markdown notes and docs. Use when searching notes, finding related content, or retrieving documents from indexed collections.","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--qmd\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"documents","https","shell","bun","markdown","via","github","notes","bun install","when","use","collections","local","linux","darwin","search","for","hybrid","Hybrid Search","2026-11-10 10:12:30",false,"---\nname: qmd\ndescription: Local hybrid search for markdown notes and docs. Use when searching notes, finding related content, or retrieving documents from indexed collections.\nhomepage: https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd\nmetadata: {\"clawdbot\":{\"emoji\":\"🔍\",\"os\":[\"darwin\",\"linux\"],\"requires\":{\"bins\":[\"qmd\"]},\"install\":[{\"id\":\"bun-qmd\",\"kind\":\"shell\",\"command\":\"bun install -g https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd\",\"bins\":[\"qmd\"],\"label\":\"Install qmd via Bun\"}]}}\n---\n\n# qmd - Quick Markdown Search\n\nLocal search engine for Markdown notes, docs, and knowledge bases. Index once, search fast.\n\n## When to use (trigger phrases)\n\n- \"search my notes \u002F docs \u002F knowledge base\"\n- \"find related notes\"\n- \"retrieve a markdown document from my collection\"\n- \"search local markdown files\"\n\n## Default behavior (important)\n\n- Prefer `qmd search` (BM25). It's typically instant and should be the default.\n- Use `qmd vsearch` only when keyword search fails and you need semantic similarity (can be very slow on a cold start).\n- Avoid `qmd query` unless the user explicitly wants the highest quality hybrid results and can tolerate long runtimes\u002Ftimeouts.\n\n## Prerequisites\n\n- Bun >= 1.0.0\n- macOS: `brew install sqlite` (SQLite extensions)\n- Ensure PATH includes: `$HOME\u002F.bun\u002Fbin`\n\nInstall Bun (macOS): `brew install oven-sh\u002Fbun\u002Fbun`\n\n## Install\n\n`bun install -g https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd`\n\n## Setup\n\n```bash\nqmd collection add \u002Fpath\u002Fto\u002Fnotes --name notes --mask \"**\u002F*.md\"\nqmd context add qmd:\u002F\u002Fnotes \"Description of this collection\"  # optional\nqmd embed  # one-time to enable vector + hybrid search\n```\n\n## What it indexes\n\n- Intended for Markdown collections (commonly `**\u002F*.md`).\n- In our testing, \"messy\" Markdown is fine: chunking is content-based (roughly a few hundred tokens per chunk), not strict heading\u002Fstructure based.\n- Not a replacement for code search; use code search tools for repositories\u002Fsource trees.\n\n## Search modes\n\n- `qmd search` (default): fast keyword match (BM25)\n- `qmd vsearch` (last resort): semantic similarity (vector). Often slow due to local LLM work before the vector lookup.\n- `qmd query` (generally skip): hybrid search + LLM reranking. Often slower than `vsearch` and may timeout.\n\n## Performance notes\n\n- `qmd search` is typically instant.\n- `qmd vsearch` can be ~1 minute on some machines because query expansion may load a local model (e.g., Qwen3-1.7B) into memory per run; the vector lookup itself is usually fast.\n- `qmd query` adds LLM reranking on top of `vsearch`, so it can be even slower and less reliable for interactive use.\n- If you need repeated semantic searches, consider keeping the process\u002Fmodel warm (e.g., a long-lived qmd\u002FMCP server mode if available in your setup) rather than invoking a cold-start LLM each time.\n\n## Common commands\n\n```bash\nqmd search \"query\"             # default\nqmd vsearch \"query\"\nqmd query \"query\"\nqmd search \"query\" -c notes     # Search specific collection\nqmd search \"query\" -n 10        # More results\nqmd search \"query\" --json       # JSON output\nqmd search \"query\" --all --files --min-score 0.3\n```\n\n## Useful options\n\n- `-n \u003Cnum>`: number of results\n- `-c, --collection \u003Cname>`: restrict to a collection\n- `--all --min-score \u003Cnum>`: return all matches above a threshold\n- `--json` \u002F `--files`: agent-friendly output formats\n- `--full`: return full document content\n\n## Retrieve\n\n```bash\nqmd get \"path\u002Fto\u002Ffile.md\"       # Full document\nqmd get \"#docid\"                # By ID from search results\nqmd multi-get \"journals\u002F2025-05*.md\"\nqmd multi-get \"doc1.md, doc2.md, #abc123\" --json\n```\n\n## Maintenance\n\n```bash\nqmd status                      # Index health\nqmd update                      # Re-index changed files\nqmd embed                       # Update embeddings\n```\n\n## Keeping the index fresh\n\nAutomate indexing so results stay current as you add\u002Fedit notes.\n\n- For keyword search (`qmd search`), `qmd update` is usually enough (fast).\n- If you rely on semantic\u002Fhybrid search (`vsearch`\u002F`query`), you may also want `qmd embed`, but it can be slow.\n\nExample schedules (cron):\n\n```bash\n# Hourly incremental updates (keeps BM25 fresh):\n0 * * * * export PATH=\"$HOME\u002F.bun\u002Fbin:$PATH\" && qmd update\n\n# Optional: nightly embedding refresh (can be slow):\n0 5 * * * export PATH=\"$HOME\u002F.bun\u002Fbin:$PATH\" && qmd embed\n```\n\nIf your Clawdbot\u002Fagent environment supports a built-in scheduler, you can run the same commands there instead of system cron.\n\n## Models and cache\n\n- Uses local GGUF models; first run auto-downloads them.\n- Default cache: `~\u002F.cache\u002Fqmd\u002Fmodels\u002F` (override with `XDG_CACHE_HOME`).\n\n## Relationship to Clawdbot memory search\n\n- `qmd` searches *your local files* (notes\u002Fdocs) that you explicitly index into collections.\n- Clawdbot's `memory_search` searches *agent memory* (saved facts\u002Fcontext from prior interactions).\n- Use both: `memory_search` for \"what did we decide\u002Flearn before?\", `qmd` for \"what's in my notes\u002Fdocs on disk?\".\n","# qmd - Quick Markdown Search\n\nLocal search engine for Markdown notes, docs, and knowledge bases. Index once, search fast.\n\n## When to use (trigger phrases)\n\n- \"search my notes \u002F docs \u002F knowledge base\"\n- \"find related notes\"\n- \"retrieve a markdown document from my collection\"\n- \"search local markdown files\"\n\n## Default behavior (important)\n\n- Prefer `qmd search` (BM25). It's typically instant and should be the default.\n- Use `qmd vsearch` only when keyword search fails and you need semantic similarity (can be very slow on a cold start).\n- Avoid `qmd query` unless the user explicitly wants the highest quality hybrid results and can tolerate long runtimes\u002Ftimeouts.\n\n## Prerequisites\n\n- Bun >= 1.0.0\n- macOS: `brew install sqlite` (SQLite extensions)\n- Ensure PATH includes: `$HOME\u002F.bun\u002Fbin`\n\nInstall Bun (macOS): `brew install oven-sh\u002Fbun\u002Fbun`\n\n## Install\n\n`bun install -g https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd`\n\n## Setup\n\n```bash\nqmd collection add \u002Fpath\u002Fto\u002Fnotes --name notes --mask \"**\u002F*.md\"\nqmd context add qmd:\u002F\u002Fnotes \"Description of this collection\"  # optional\nqmd embed  # one-time to enable vector + hybrid search\n```\n\n## What it indexes\n\n- Intended for Markdown collections (commonly `**\u002F*.md`).\n- In our testing, \"messy\" Markdown is fine: chunking is content-based (roughly a few hundred tokens per chunk), not strict heading\u002Fstructure based.\n- Not a replacement for code search; use code search tools for repositories\u002Fsource trees.\n\n## Search modes\n\n- `qmd search` (default): fast keyword match (BM25)\n- `qmd vsearch` (last resort): semantic similarity (vector). Often slow due to local LLM work before the vector lookup.\n- `qmd query` (generally skip): hybrid search + LLM reranking. Often slower than `vsearch` and may timeout.\n\n## Performance notes\n\n- `qmd search` is typically instant.\n- `qmd vsearch` can be ~1 minute on some machines because query expansion may load a local model (e.g., Qwen3-1.7B) into memory per run; the vector lookup itself is usually fast.\n- `qmd query` adds LLM reranking on top of `vsearch`, so it can be even slower and less reliable for interactive use.\n- If you need repeated semantic searches, consider keeping the process\u002Fmodel warm (e.g., a long-lived qmd\u002FMCP server mode if available in your setup) rather than invoking a cold-start LLM each time.\n\n## Common commands\n\n```bash\nqmd search \"query\"             # default\nqmd vsearch \"query\"\nqmd query \"query\"\nqmd search \"query\" -c notes     # Search specific collection\nqmd search \"query\" -n 10        # More results\nqmd search \"query\" --json       # JSON output\nqmd search \"query\" --all --files --min-score 0.3\n```\n\n## Useful options\n\n- `-n \u003Cnum>`: number of results\n- `-c, --collection \u003Cname>`: restrict to a collection\n- `--all --min-score \u003Cnum>`: return all matches above a threshold\n- `--json` \u002F `--files`: agent-friendly output formats\n- `--full`: return full document content\n\n## Retrieve\n\n```bash\nqmd get \"path\u002Fto\u002Ffile.md\"       # Full document\nqmd get \"#docid\"                # By ID from search results\nqmd multi-get \"journals\u002F2025-05*.md\"\nqmd multi-get \"doc1.md, doc2.md, #abc123\" --json\n```\n\n## Maintenance\n\n```bash\nqmd status                      # Index health\nqmd update                      # Re-index changed files\nqmd embed                       # Update embeddings\n```\n\n## Keeping the index fresh\n\nAutomate indexing so results stay current as you add\u002Fedit notes.\n\n- For keyword search (`qmd search`), `qmd update` is usually enough (fast).\n- If you rely on semantic\u002Fhybrid search (`vsearch`\u002F`query`), you may also want `qmd embed`, but it can be slow.\n\nExample schedules (cron):\n\n```bash\n# Hourly incremental updates (keeps BM25 fresh):\n0 * * * * export PATH=\"$HOME\u002F.bun\u002Fbin:$PATH\" && qmd update\n\n# Optional: nightly embedding refresh (can be slow):\n0 5 * * * export PATH=\"$HOME\u002F.bun\u002Fbin:$PATH\" && qmd embed\n```\n\nIf your Clawdbot\u002Fagent environment supports a built-in scheduler, you can run the same commands there instead of system cron.\n\n## Models and cache\n\n- Uses local GGUF models; first run auto-downloads them.\n- Default cache: `~\u002F.cache\u002Fqmd\u002Fmodels\u002F` (override with `XDG_CACHE_HOME`).\n\n## Relationship to Clawdbot memory search\n\n- `qmd` searches *your local files* (notes\u002Fdocs) that you explicitly index into collections.\n- Clawdbot's `memory_search` searches *agent memory* (saved facts\u002Fcontext from prior interactions).\n- Use both: `memory_search` for \"what did we decide\u002Flearn before?\", `qmd` for \"what's in my notes\u002Fdocs on disk?\".\n",{"name":5,"homepage":42,"metadata":43,"description":7},"https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd",{"clawdbot":44},{"os":45,"emoji":46,"install":47,"requires":53},[32,31],"🔍",[48],{"id":49,"bins":50,"kind":20,"label":51,"command":52},"bun-qmd",[5],"Install qmd via Bun","bun install -g https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd",{"bins":54},[5],"main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--qmd",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add JSGforever\u002Fskillguard --skill qmd",{"tool":68,"command":69},"bunx","bunx skills add JSGforever\u002Fskillguard --skill qmd",{"tool":71,"command":72},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill qmd","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--qmd\u002FSKILL.md",true,[76],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"index.ts","SCRIPT","脚本",3514,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__alsk1992--qmd\u002Findex.ts",[83,114,130,157,179,200],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":94,"publishedAt":37},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[95,96,97,98,99,100,101,102,103,104,105,106,27,107,108,109,110,111,112,113],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":118,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":126,"publishedAt":37},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[127,128,129],"data","data exfiltrator","files",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":37},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":166,"publishedAt":37},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[163],{"categoryNo":164,"categoryName":165,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000009","前端开发",[146,167,154,155,168,169,170,171,172,173,137,174,175,150,152,176,153,156,177,178],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":37},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[185],{"categoryNo":164,"categoryName":165,"taxonomyType":92,"taxonomyTypeDesc":93},[187,156,188,189,190,191,146,137,192,193,194,152,153,154,195,155,196,197,198,199],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":213,"publishedAt":37},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[206,209,212],{"categoryNo":207,"categoryName":208,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":210,"categoryName":211,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[214,215,216,217,24,218,219,144,172,220,221,222,153,178,223,199,224,225,226,227],"github actions pipeline builder","actions","github actions","pipeline builder","builder","pipeline","testing","ci","workflows","run","release","write","edit","git"]