agentleFS
nicholasglazernicholasglazer/gnosis-mcp/skills/search/SKILL.md

search

Skill30 starsChanged 7 months agoMITView on GitHub

Search the gnosis-mcp knowledge base. Keyword (default), hybrid semantic+keyword (--semantic), or git commit history (--git). Includes sanity checks and a reranker warning.

54 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use fetch, integrate and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • jtfasulo7Skill

    fetch

    Use this skill when the user wants to retrieve a URL without a full browser session: fetch HTML or JSON from static pages, inspect status codes or headers, follow redirects, or get page source for simple scraping. Prefer it over a browser when JavaScript rendering and page interaction are not needed. Supports proxies and redirect control.

    Also in 3 projects that use this

  • modeled-information-formatSkill

    integrate

    This skill should be used when the user asks to "integrate mnemonic", "wire plugin", "add memory to plugin", "enable memory capture in plugin", "integrate memory operations", "add mnemonic protocol", "remove mnemonic integration", "rollback plugin integration", or "migrate legacy memory sections". It wires mnemonic memory capture and recall workflows into other Claude Code plugins using sentinel markers.

    Also in 3 projects that use this

  • soilmassSkill

    export

    Animation export configurations including format selection, resolution, framerate, quality, and optimization settings. Use when rendering animations for web, mobile, video, or social media. Provides tokens for all export parameters across Lottie, GIF, video, and sprite sheet formats.

    Also in 4 projects that use this

  • rogue-dev-studioSkill

    monitoring

    Claude monitoring and usage tracking tools (UV, claude-monitor, claude-usage-cli). Use when the project needs this capability or the user / team manifest asks for it. Use for specialized `monitoring` work when listed in TEAM.yaml or explicitly requested.

    Also in 3 projects that use this

  • DockerSkill

    write

    Write or edit reader-facing technical prose for immediate comprehension. Use for documentation, PR titles and descriptions, release notes, design documents, user-facing explanations, and substantive comments. Also use when asked to make writing clearer, more natural, less AI-generated, or easier to read. For documentation fixes, handles edits, formatting, self-review, and commits after research identifies what to change. Do not use for code-only tasks with no prose deliverable.

    Also in 3 projects that use this

  • wrsmith108Skill

    docker

    Container-based development for isolated, reproducible environments. Use when running npm commands, installing packages, executing code, or managing project dependencies. Trigger phrases include "npm install", "run the build", "start the server", "install package", or any code execution request.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 47 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If GNOSIS_MCP_EMBED_PROVIDER is set server-side, the server embeds the query in-process — no client-side work needed.

    line 67
  2. Very specific:

    Run /gnosis:tune full to measure which side of the line your corpus sits on.

    line 81
  3. Very specific:

    If no results: commit history isn't indexed yet.

    line 118
  4. Distinctive:

    If a user explicitly asks you to enable reranking, comply but warn with the measured numbers.

    line 142

“Common” is measured: kept by at least 6 in 10 of the 47 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Search

Front-end for the search_docs and search_git_history MCP tools. Formats results and picks the right variant based on flags.

Usage

/gnosis:search billing credits                # keyword
/gnosis:search --semantic webhook processing  # hybrid
/gnosis:search --category guides deployment   # category filter
/gnosis:search --git fix authentication bug   # git history
/gnosis:search --limit 10 whatever            # more results

Query: $ARGUMENTS


Default — keyword search

Call mcp__gnosis__search_docs(query=$QUERY, limit=8).

Format as a compact table:

#ScoreTitlePath
10.049Auth Guidecurated/guides/auth.md
20.032JWT referencedocs/architecture/jwt.md

Below the table, for top 3: one-line snippet from the matched chunk.

If results are empty or weak (all scores < 0.005)

Probably one of:

  1. Corpus not indexed — suggest /gnosis:ingest ./docs to the user. Confirm with gnosis-mcp stats (0 docs = nothing indexed).
  2. Query too specific — broaden. "shopify webhook idempotency 402 error 2024" may return nothing; "shopify webhook" will find the runbook that links to the detail.
  3. Path mismatch — some users name docs with abbreviations (auth.md) but query with full words ("authentication"). Ingest likely extracted better titles (H1) than the filename; search by concept, not filename.

--semantic — hybrid search

For paraphrase-heavy queries where keyword overlap is low. Same tool, different parameters:

mcp__gnosis__search_docs(
  query=$QUERY,
  query_embedding=<auto-embedded by server if embed provider is set>,
  limit=8
)

If GNOSIS_MCP_EMBED_PROVIDER is set server-side, the server embeds the query in-process — no client-side work needed.

Reality check

On vocabulary-matched corpora (your queries use the same words as your docs — normal for dev docs), hybrid often produces identical rankings to keyword. The vector arm runs, adds ~4 ms latency, and changes nothing. If --semantic doesn't improve quality on a corpus you've tuned, leave it off.

On paraphrase-heavy corpora (finance Q&A, customer-support tickets, medical), hybrid can beat keyword by 5-10 nDCG points.

Run /gnosis:tune full to measure which side of the line your corpus sits on.


--category — category filter

Restrict to one category (useful when your corpus mixes architecture docs with customer-facing docs and you only want one):

mcp__gnosis__search_docs(query=$QUERY, category="guides", limit=8)

Discover valid categories via mcp__gnosis__get_graph_stats or gnosis-mcp stats — they show top categories by doc count.


--git — commit history

Separate index, populated by gnosis-mcp ingest-git. Answers "why does this code exist" questions.

mcp__gnosis__search_git_history(
  query=$QUERY,
  limit=5,
  author="...",       # optional substring match on name/email
  since="2025-06-01", # optional YYYY-MM-DD
  until="2026-01-01", # optional
  file_path="src/..." # optional single-file restriction
)

Result format: commit_sha | date | author | summary | touched_files.

If no results: commit history isn't indexed yet. Tell the user to run gnosis-mcp ingest-git /path/to/repo --since 6m --embed.


Reranker — off by default, and intentionally

gnosis-mcp ships a cross-encoder reranker under the [reranking] extra and the GNOSIS_MCP_RERANK_ENABLED env var. Leave it off on developer documentation unless you've measured that it helps on your corpus.

Why: the bundled MS-MARCO MiniLM reranker (and every widely-available alternative) is trained on web Q&A snippets. It has a stylistic prior for prose-shaped passages and systematically down-ranks reference / list / table content — exactly the shape of technical docs. Our measurements on a real 558-doc developer-docs corpus:

keyword only:             nDCG@10 = 0.8702  p95 =    7 ms
keyword + MiniLM rerank:  nDCG@10 = 0.5674  p95 = 2920 ms  (-27 nDCG, 400× slower)
keyword + BGE rerank:     nDCG@10 = 0.5333  p95 = 15820 ms (-31 nDCG, 2400× slower)

If a user explicitly asks you to enable reranking, comply but warn with the measured numbers. Point them at bench-experiments-2026-04-18 for the full trace and recommend /gnosis:tune full to check their corpus first.


Notes

  • Keyword uses FTS5 (SQLite) or tsvector (Postgres). BM25-ranked.
  • Hybrid fuses BM25 + cosine via Reciprocal Rank Fusion (GNOSIS_MCP_RRF_K, default 60).
  • Results include score, file_path, title, category, chunk_index, content (truncated to GNOSIS_MCP_CONTENT_PREVIEW_CHARS, default 200).
  • To see the full document: mcp__gnosis__get_doc(path=<file_path>).
  • Max results per call: GNOSIS_MCP_SEARCH_LIMIT_MAX (default 20).
  • Max query length: GNOSIS_MCP_MAX_QUERY_CHARS (default 10 000).

See also

  • /gnosis:ingest — populate the index
  • /gnosis:tune — find your chunk-size / hybrid / rerank optimum
  • /gnosis:manage related <path> — follow the link graph
  • Tools reference

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.