Add zoekt DotSlash binaries and code search skill
Assisted-by: Claude Opus 4.6 via Claude Code
change uykykuslyvrnlqznuxsylxunqozszxyv
commit 78c063f9adb1ee56bfcaf7e37f3feb1bf5854582
author Alpha Chen <alpha@kejadlen.dev>
date
parent prsuooys
diff --git a/ai/claude/skills/zoekt/SKILL.md b/ai/claude/skills/zoekt/SKILL.md
new file mode 100644
index 00000000..33ae851b
--- /dev/null
+++ b/ai/claude/skills/zoekt/SKILL.md
@@ -0,0 +1,41 @@
+---
+name: zoekt
+description: Use when searching code across repositories — prefer zoekt over grep/ripgrep for indexed code search. Covers indexing repos, search syntax, and query patterns.
+---
+
+# Zoekt code search
+
+Zoekt is a trigram-based code search engine. It builds an index once,
+then searches are near-instant regardless of repo size. Prefer it over
+grep or ripgrep for any search across indexed repos.
+
+Use `zoekt --help` for authoritative command reference. Upstream docs
+live at https://github.com/sourcegraph/zoekt/tree/main/doc. This
+skill starts sparse and grows through use — follow the
+self-improving-skills guidelines when you learn something worth
+capturing.
+
+## Keeping the index fresh
+
+Before searching, check whether the current repo has a usable index.
+If the index is missing or stale, kick off a background reindex so it
+doesn't block the current task.
+
+1. Check for an existing index for the current directory.
+2. If the index is missing or older than the most recent change,
+   reindex in the background. Use `zoekt-git-index` in a git repo or
+   `zoekt-index` for non-git directories.
+3. Run `--help` on whichever indexer you need to find the right
+   invocation.
+4. While the index builds, fall back to grep/ripgrep for the immediate
+   search. Switch to zoekt once the background task completes.
+
+Don't wait on indexing. The point is to have the index ready for
+*next* time if it isn't ready now.
+
+## When to use zoekt vs. grep
+
+Use zoekt when searching across repos or large codebases where the
+index already exists. Fall back to grep/ripgrep for one-off searches
+in unindexed directories or when you need line-editing integration
+(piping to sed, etc.).
diff --git a/bin/zoekt b/bin/zoekt
new file mode 100755
index 00000000..99cf1362
--- /dev/null
+++ b/bin/zoekt
@@ -0,0 +1,25 @@
+#!/usr/bin/env dotslash
+
+{
+  "name": "zoekt",
+  "platforms": {
+    "macos-aarch64": {
+      "size": 11378956,
+      "hash": "blake3",
+      "digest": "2297225c3e6f90ea8510662fc622768f8a050415be674e2ace8aeff2754caa1a",
+      "format": "tar.gz",
+      "path": "zoekt",
+      "providers": [
+        {
+          "url": "https://github.com/kejadlen/zoekt/releases/download/v2026-03-03%2B2b6608c/zoekt-aarch64-apple-darwin.tar.gz"
+        },
+        {
+          "type": "github-release",
+          "repo": "https://github.com/kejadlen/zoekt",
+          "tag": "v2026-03-03+2b6608c",
+          "name": "zoekt-aarch64-apple-darwin.tar.gz"
+        }
+      ]
+    }
+  }
+}
diff --git a/bin/zoekt-git-index b/bin/zoekt-git-index
new file mode 100755
index 00000000..788de66b
--- /dev/null
+++ b/bin/zoekt-git-index
@@ -0,0 +1,25 @@
+#!/usr/bin/env dotslash
+
+{
+  "name": "zoekt-git-index",
+  "platforms": {
+    "macos-aarch64": {
+      "size": 16782078,
+      "hash": "blake3",
+      "digest": "d18d92fc4eb8a4791b786f1767bc0e288752e92f52239a951924f3e2f161860c",
+      "format": "tar.gz",
+      "path": "zoekt-git-index",
+      "providers": [
+        {
+          "url": "https://github.com/kejadlen/zoekt/releases/download/v2026-03-03%2B2b6608c/zoekt-git-index-aarch64-apple-darwin.tar.gz"
+        },
+        {
+          "type": "github-release",
+          "repo": "https://github.com/kejadlen/zoekt",
+          "tag": "v2026-03-03+2b6608c",
+          "name": "zoekt-git-index-aarch64-apple-darwin.tar.gz"
+        }
+      ]
+    }
+  }
+}
diff --git a/bin/zoekt-index b/bin/zoekt-index
new file mode 100755
index 00000000..23764359
--- /dev/null
+++ b/bin/zoekt-index
@@ -0,0 +1,25 @@
+#!/usr/bin/env dotslash
+
+{
+  "name": "zoekt-index",
+  "platforms": {
+    "macos-aarch64": {
+      "size": 10993332,
+      "hash": "blake3",
+      "digest": "0c8cd6604132acde050e61c57f78db7591163856c1e8abe9ee6e4c68d7f61d1e",
+      "format": "tar.gz",
+      "path": "zoekt-index",
+      "providers": [
+        {
+          "url": "https://github.com/kejadlen/zoekt/releases/download/v2026-03-03%2B2b6608c/zoekt-index-aarch64-apple-darwin.tar.gz"
+        },
+        {
+          "type": "github-release",
+          "repo": "https://github.com/kejadlen/zoekt",
+          "tag": "v2026-03-03+2b6608c",
+          "name": "zoekt-index-aarch64-apple-darwin.tar.gz"
+        }
+      ]
+    }
+  }
+}