plugins/inkwell/skills/search/SKILL.md
Full-text search over the repo's `docs/` tree (FTS5-backed). Returns ranked hits with file paths, tags, and matching snippets.
npx skillsauth add acostanzo/quickstop searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Thin wrapper over bin/inkwell-search.sh. Run the bash script with the
user's query verbatim and pass stdout through unchanged.
bash "${CLAUDE_PLUGIN_ROOT}/bin/inkwell-search.sh" "<QUERY>" "<REPO_ROOT>"
<QUERY> is everything the user supplied as arguments. <REPO_ROOT>
is the absolute path to the target repository — typically the working
directory when /inkwell:search was invoked.
The bash script invokes inkwell-index.sh first, so the index is
always current relative to the on-disk docs/ tree. The on-write
contract for /inkwell:doc follows from this: a doc written one moment
ago is searchable the next moment without any explicit reindex step.
Each hit is one line:
docs/auth/session.md:12 [auth, security] ...validateSession verifies the JWT and...
path:line is followed by the doc's tags and a snippet of the matching
context. Ranking is FTS5's default (bm25) — most-relevant first, capped
at 25 hits. No hits → empty stdout, exit 0.
The index uses FTS5's porter unicode61 tokenizer. Bare tokens are
stemmed (validation matches validates), but porter does not stem
short prefixes — for broad matching, use a prefix wildcard:
/inkwell:search auth* # matches authentication, authorize, etc.
/inkwell:search "JWT token" # phrase query
/inkwell:search auth NOT session
If docs/ is missing or empty, the script exits 0 with no documents indexed on stderr and empty stdout — search must never crash a
writer's flow on a fresh repo. Surface the stderr message to the
user verbatim when it appears; do not retry or fabricate hits.
/inkwell:query (T3).docs/ or any consumer artefact. ADR-006 §2 holds.documentation
Surface (and optionally fix) doc-tree drift — duplicates, dead links, stale docs, template non-compliance, missing `## Related` blocks. Read-only by default; `--apply` does mechanical fixes; `--apply-semantic` emits diffs for human review.
testing
Retrieval-augmented Q&A over the repo's `docs/` tree. Returns a one-paragraph synthesis plus citations (doc path + heading anchor) and per-citation corroboration verdicts. Field shape and ordering are locked at M3; M5 populates the verdicts.
documentation
Scaffold a new doc under `docs/` from a Diátaxis template, or update an existing one and bump its `updated:` date. Suggests `## Related` candidates and refreshes the FTS5 index on write.
data-ai
Strip Co-Authored-By trailers and "Generated with/by Claude" footers from a text blob. Read-only capability — emits cleaned text on stdout.