[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F5XWNMVGSG55RYM052JAXV":3,"skill-same:01M6F5XWNMVGSG55RYM052JAXV":67},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6F5XWNMVGSG55RYM052JAXV","sqlite-vec-skilld",null,"ALWAYS use when writing code importing \"sqlite-vec\". Consult for debugging, best practices, or modifying sqlite-vec, sqlite vec.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fharlan-zw\u002Fskilld\u002Fsqlite-vec-skilld\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34],"sqlite","sqlite vec","skilld","sqlite vec skilld","writing","debugging","code","best practices","consult","haiku","use","2026-11-10 10:12:30",false,"---\nname: sqlite-vec-skilld\ndescription: \"ALWAYS use when writing code importing \\\"sqlite-vec\\\". Consult for debugging, best practices, or modifying sqlite-vec, sqlite vec.\"\nmetadata:\n  version: 0.1.7\n  generated_by: Claude Code · Haiku 4.5\n  generated_at: 2026-03-19\n---\n\n# asg017\u002Fsqlite-vec `sqlite-vec`\n\n**Version:** 0.1.7\n**Tags:** latest: 0.1.7, alpha: 0.1.7-alpha.13\n\n**References:** [package.json](.\u002F.skilld\u002Fpkg\u002Fpackage.json) — exports, entry points • [README](.\u002F.skilld\u002Fpkg\u002FREADME.md) — setup, basic usage • [Docs](.\u002F.skilld\u002Fdocs\u002F_INDEX.md) — API reference, guides • [GitHub Issues](.\u002F.skilld\u002Fissues\u002F_INDEX.md) — bugs, workarounds, edge cases • [Releases](.\u002F.skilld\u002Freleases\u002F_INDEX.md) — changelog, breaking changes, new APIs\n\n## Search\n\nUse `skilld search` instead of grepping `.skilld\u002F` directories — hybrid semantic + keyword search across all indexed docs, issues, and releases. If `skilld` is unavailable, use `npx -y skilld search`.\n\n```bash\nskilld search \"query\" -p sqlite-vec\nskilld search \"issues:error handling\" -p sqlite-vec\nskilld search \"releases:deprecated\" -p sqlite-vec\n```\n\nFilters: `docs:`, `issues:`, `releases:` prefix narrows by source type.\n\n\u003C!-- skilld:api-changes -->\n## API Changes\n\nThis section documents version-specific API changes — prioritize recent major\u002Fminor releases.\n\n- BREAKING: DELETE operations now properly clear vector data and free space — v0.1.7 changed behavior from only setting validity bits. Code using DELETE statements may see different storage behavior [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md:L16)\n\n- NEW: Distance column constraints in KNN queries — v0.1.7 adds support for `>`, `>=`, `\u003C`, `\u003C=` constraints on the distance column, enabling pagination-like patterns without requiring large k values [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md:L17)\n\n- NEW: Metadata columns in vec0 virtual tables — v0.1.6 added ability to declare metadata columns that can be filtered in WHERE clauses of KNN queries alongside vector matching [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md:L13-27)\n\n- NEW: Partition keys for internal index sharding — v0.1.6 added `partition key` syntax to internally shard vector indexes by column values [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md:L23-24)\n\n- NEW: Auxiliary columns with `+` prefix — v0.1.6 added support for auxiliary columns (prefix with `+`) that are unindexed but available for fast lookups in KNN query results [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md:L31-33)\n\n- BREAKING: `vec_npy_each` table function removed from default entrypoint — v0.1.3 moved this experimental function out due to CVE-2024-46488 security mitigation; affected code using untrusted SQL or the rare `vec_npy_each` function [source](.\u002F.skilld\u002Freleases\u002Fv0.1.3.md:L9)\n\n**Also changed:** Static linking support for SQLite 3.31.1+ · `serialize_float32()` \u002F `serialize_int8()` Python functions added\n\u003C!-- \u002Fskilld:api-changes -->\n\n\u003C!-- skilld:best-practices -->\n## Best Practices\n\n- **Use two-column re-scoring pattern for binary quantization** — store both quantized and full-precision vectors; query coarse index with quantized vectors, then re-score top candidates with full precision to recover quality lost from extreme dimensionality reduction [source](.\u002F.skilld\u002Fdocs\u002Fbinary-quant.md#re-scoring)\n\n- **Combine `vec_slice()` with `vec_normalize()` for Matryoshka embeddings** — truncating dimensions requires subsequent normalization to maintain embedding quality and semantic meaning [source](.\u002F.skilld\u002Fdocs\u002Fmatryoshka.md#matryoshka-embeddings-with-sqlite-vec)\n\n- **Prefer scalar quantization over binary quantization for moderate storage savings** — trade off storage efficiency against quality loss; `vec_quantize_float16` (2 bytes per value) and `vec_quantize_int8` (1 byte per value) offer better quality retention than binary quantization for many use cases [source](.\u002F.skilld\u002Fdocs\u002Fscalar-quant.md#L1:26)\n\n- **Use partition keys to shard large vector datasets** — declare a `partition key` column in `CREATE VIRTUAL TABLE` to internally shard the vector index on that column, improving query performance by reducing search scope [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md#L23:24)\n\n- **Combine metadata columns (indexed) with auxiliary columns (unindexed) for efficient filtering** — use regular metadata columns for dimensions you filter on in KNN WHERE clauses; prefix columns with `+` to store related data without indexing overhead [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md#L26:33)\n\n- **Use distance constraints instead of oversampling for pagination** — as of v0.1.7, apply `distance > threshold` or `distance \u003C threshold` constraints in WHERE clauses to paginate through KNN results without fetching excess candidates [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md#L17)\n\n- **Monitor the k value limit when performing large KNN queries** — the default maximum k is 4096 (configurable) to prevent memory exhaustion; be aware that kNN results are materialized in memory and internally use O(n²) complexity on k [source](.\u002F.skilld\u002Fissues\u002Fissue-157.md#L22:33)\n\n- **Rely on v0.1.7+ for automatic DELETE cleanup** — vector space is now reclaimed when enough vectors are deleted to clear a chunk (~1024 vectors); previous versions only marked entries as deleted without freeing space [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md#L16)\n\n- **Select embedding models with quantization support for better results** — models like `nomic-embed-text-v1.5`, `mxbai-embed-large-v1`, and OpenAI's `text-embedding-3` are specifically trained to maintain quality after quantization and Matryoshka truncation [source](.\u002F.skilld\u002Fdocs\u002Fbinary-quant.md#L114:125)\n\u003C!-- \u002Fskilld:best-practices -->\n\n","# asg017\u002Fsqlite-vec `sqlite-vec`\n\n**Version:** 0.1.7\n**Tags:** latest: 0.1.7, alpha: 0.1.7-alpha.13\n\n**References:** [package.json](.\u002F.skilld\u002Fpkg\u002Fpackage.json) — exports, entry points • [README](.\u002F.skilld\u002Fpkg\u002FREADME.md) — setup, basic usage • [Docs](.\u002F.skilld\u002Fdocs\u002F_INDEX.md) — API reference, guides • [GitHub Issues](.\u002F.skilld\u002Fissues\u002F_INDEX.md) — bugs, workarounds, edge cases • [Releases](.\u002F.skilld\u002Freleases\u002F_INDEX.md) — changelog, breaking changes, new APIs\n\n## Search\n\nUse `skilld search` instead of grepping `.skilld\u002F` directories — hybrid semantic + keyword search across all indexed docs, issues, and releases. If `skilld` is unavailable, use `npx -y skilld search`.\n\n```bash\nskilld search \"query\" -p sqlite-vec\nskilld search \"issues:error handling\" -p sqlite-vec\nskilld search \"releases:deprecated\" -p sqlite-vec\n```\n\nFilters: `docs:`, `issues:`, `releases:` prefix narrows by source type.\n\n\u003C!-- skilld:api-changes -->\n## API Changes\n\nThis section documents version-specific API changes — prioritize recent major\u002Fminor releases.\n\n- BREAKING: DELETE operations now properly clear vector data and free space — v0.1.7 changed behavior from only setting validity bits. Code using DELETE statements may see different storage behavior [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md:L16)\n\n- NEW: Distance column constraints in KNN queries — v0.1.7 adds support for `>`, `>=`, `\u003C`, `\u003C=` constraints on the distance column, enabling pagination-like patterns without requiring large k values [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md:L17)\n\n- NEW: Metadata columns in vec0 virtual tables — v0.1.6 added ability to declare metadata columns that can be filtered in WHERE clauses of KNN queries alongside vector matching [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md:L13-27)\n\n- NEW: Partition keys for internal index sharding — v0.1.6 added `partition key` syntax to internally shard vector indexes by column values [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md:L23-24)\n\n- NEW: Auxiliary columns with `+` prefix — v0.1.6 added support for auxiliary columns (prefix with `+`) that are unindexed but available for fast lookups in KNN query results [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md:L31-33)\n\n- BREAKING: `vec_npy_each` table function removed from default entrypoint — v0.1.3 moved this experimental function out due to CVE-2024-46488 security mitigation; affected code using untrusted SQL or the rare `vec_npy_each` function [source](.\u002F.skilld\u002Freleases\u002Fv0.1.3.md:L9)\n\n**Also changed:** Static linking support for SQLite 3.31.1+ · `serialize_float32()` \u002F `serialize_int8()` Python functions added\n\u003C!-- \u002Fskilld:api-changes -->\n\n\u003C!-- skilld:best-practices -->\n## Best Practices\n\n- **Use two-column re-scoring pattern for binary quantization** — store both quantized and full-precision vectors; query coarse index with quantized vectors, then re-score top candidates with full precision to recover quality lost from extreme dimensionality reduction [source](.\u002F.skilld\u002Fdocs\u002Fbinary-quant.md#re-scoring)\n\n- **Combine `vec_slice()` with `vec_normalize()` for Matryoshka embeddings** — truncating dimensions requires subsequent normalization to maintain embedding quality and semantic meaning [source](.\u002F.skilld\u002Fdocs\u002Fmatryoshka.md#matryoshka-embeddings-with-sqlite-vec)\n\n- **Prefer scalar quantization over binary quantization for moderate storage savings** — trade off storage efficiency against quality loss; `vec_quantize_float16` (2 bytes per value) and `vec_quantize_int8` (1 byte per value) offer better quality retention than binary quantization for many use cases [source](.\u002F.skilld\u002Fdocs\u002Fscalar-quant.md#L1:26)\n\n- **Use partition keys to shard large vector datasets** — declare a `partition key` column in `CREATE VIRTUAL TABLE` to internally shard the vector index on that column, improving query performance by reducing search scope [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md#L23:24)\n\n- **Combine metadata columns (indexed) with auxiliary columns (unindexed) for efficient filtering** — use regular metadata columns for dimensions you filter on in KNN WHERE clauses; prefix columns with `+` to store related data without indexing overhead [source](.\u002F.skilld\u002Freleases\u002Fv0.1.6.md#L26:33)\n\n- **Use distance constraints instead of oversampling for pagination** — as of v0.1.7, apply `distance > threshold` or `distance \u003C threshold` constraints in WHERE clauses to paginate through KNN results without fetching excess candidates [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md#L17)\n\n- **Monitor the k value limit when performing large KNN queries** — the default maximum k is 4096 (configurable) to prevent memory exhaustion; be aware that kNN results are materialized in memory and internally use O(n²) complexity on k [source](.\u002F.skilld\u002Fissues\u002Fissue-157.md#L22:33)\n\n- **Rely on v0.1.7+ for automatic DELETE cleanup** — vector space is now reclaimed when enough vectors are deleted to clear a chunk (~1024 vectors); previous versions only marked entries as deleted without freeing space [source](.\u002F.skilld\u002Freleases\u002Fv0.1.7.md#L16)\n\n- **Select embedding models with quantization support for better results** — models like `nomic-embed-text-v1.5`, `mxbai-embed-large-v1`, and OpenAI's `text-embedding-3` are specifically trained to maintain quality after quantization and Matryoshka truncation [source](.\u002F.skilld\u002Fdocs\u002Fbinary-quant.md#L114:125)\n\u003C!-- \u002Fskilld:best-practices -->\n\n",{"name":5,"metadata":40,"description":7},{"version":41,"generated_at":42,"generated_by":43},"0.1.7",1773878400000,"Claude Code · Haiku 4.5","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fharlan-zw\u002Fskilld\u002Fsqlite-vec-skilld",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":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill sqlite-vec-skilld",{"tool":59,"command":60},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill sqlite-vec-skilld",{"tool":62,"command":63},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill sqlite-vec-skilld","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fharlan-zw\u002Fskilld\u002Fsqlite-vec-skilld\u002FSKILL.md",true,[],[68,82,92,101,107,114],{"skillNo":69,"name":70,"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":71,"categories":72,"keywords":78,"publishedAt":35},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[73],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[79,80,81],"model","model hierarchy","model hierarchy skill",{"skillNo":83,"name":84,"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":85,"categories":86,"keywords":88,"publishedAt":35},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[87],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[89,90,91],"MCP","zoom","zoom mcp",{"skillNo":93,"name":94,"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":95,"categories":96,"keywords":97,"publishedAt":35},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[98,99,100,90],"sdk","zoom apps sdk","apps",{"skillNo":102,"name":103,"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":104,"categories":105,"keywords":106,"publishedAt":35},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[103],{"skillNo":108,"name":109,"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":110,"categories":111,"keywords":113,"publishedAt":35},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[112],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[109],{"skillNo":115,"name":116,"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":117,"categories":118,"keywords":119,"publishedAt":35},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[116]]