Full-text search over the repo's `docs/` tree (FTS5-backed). Returns ranked hits with file paths, tags, and matching snippets.
Scanned 5/27/2026
Install via CLI
openskills install acostanzo/quickstop---
name: search
description: Full-text search over the repo's `docs/` tree (FTS5-backed). Returns ranked hits with file paths, tags, and matching snippets.
allowed-tools: Bash
argument-hint: <query>
---
# Inkwell:search
Thin wrapper over `bin/inkwell-search.sh`. Run the bash script with the
user's query verbatim and pass stdout through unchanged.
```bash
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.
## Output shape
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.
## Query syntax
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
```
## Empty-scope contract
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.
## What this skill does not do
- No vector search. v1 is FTS5 only (deferred to v2 per ADR-007 / plan).
- No answer synthesis, no citation rollup. That's `/inkwell:query` (T3).
- No mutation of `docs/` or any consumer artefact. ADR-006 §2 holds.
No comments yet. Be the first to comment!
Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.
SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.
Python backend development expertise for FastAPI, security patterns, database operations, Upstash integrations, and code quality. Use when: (1) Building REST APIs with FastAPI, (2) Implementing JWT/OAuth2 authentication, (3) Setting up SQLAlchemy/async databases, (4) Integrating Redis/Upstash caching, (5) Refactoring AI-generated Python code (deslopification), (6) Designing API patterns, or (7) Optimizing backend performance.
Drive the full internationalization journey for a project — detect the stack, recommend a library, set up the chosen library, wrap existing strings, and optionally connect a translation platform. Use when the user asks to add or configure i18n, internationalization, localization, multi-language support, or translations — including when they explicitly mention LinguiJS, Lingui, next-intl, "wrap strings", "find hardcoded text", "make my app translatable", or "set up translations". Triggers on g...
PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.