name: skill-retrieval repo: https://github.com/moonlight-lupin/agent-skills sha: 79801c69e797f5f8efd619f8f451ca89d18c7240 subdir: plugins/skill-retrieval description: >- BM25-based skill retrieval for large skill libraries. An llm_request middleware rewrites the outgoing request's block to names only (the same bytes every turn, so prompt caching is unaffected), and a pre_llm_call hook appends the top-K matching skill descriptions to the current user message. Uses public plugin surfaces only (register_middleware, register_hook); reads SKILL.md frontmatter from the profile's skill roots and imports a few agent.prompt_builder / agent.skill_utils helpers read-only. pyyaml is the only dependency. Disclosure — optional Jev rerank, off by default: with SKILL_RETRIEVAL_RERANK=jev and TYPESAFE_API_KEY set (read from the environment only), each turn POSTs the user message (injection patterns stripped, capped at 2000 chars) and up to 12 shortlisted skill descriptions (400 chars each) to api.typesafe.ai (3 s timeout, no retries, BM25 order kept on error), and appends a local JSONL log (timestamp, session id, 200-char query excerpt, both orders) under $HERMES_HOME/data/jev-trial/, rotated past 5 MB. With the rerank off it makes no network calls and writes no files. maintainer: moonlight-lupin tier: community category: tools requires_hermes: ">=0.21.1" version: "0.6.0" capabilities: provides_tools: [] provides_hooks: - pre_llm_call - on_skill_lifecycle provides_middleware: - llm_request requires_env: []