Search the empirical Knowledge Base for the best-fit architecture and technology learnings given a product's conditions. Use during context-building in the realize lenses (/arch, /run, /ux, /agentic) when you need to know what worked before for a product in this situation — its stage, scale, persistence, and monetization. Reads the architecture/ and technology/ shelves (the condition-matched, "what works for us" engine), distinct from search-kb which routes work to a domain. Returns the learn...
Scanned 9/10/2026
Install to Claude Code
npx -y skills add kapilvirenahuja/garura --skill kb-search --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Kb Search?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/kapilvirenahuja-kb-search)More formats (shields.io, HTML) on the badges page.
---
name: kb-search
description: Search the empirical Knowledge Base for the best-fit architecture and technology learnings given a product's conditions. Use during context-building in the realize lenses (/arch, /run, /ux, /agentic) when you need to know what worked before for a product in this situation — its stage, scale, persistence, and monetization. Reads the architecture/ and technology/ shelves (the condition-matched, "what works for us" engine), distinct from search-kb which routes work to a domain. Returns the learnings that fit, with recommendation, rationale, and provenance.
version: 0.1.0
user-invocable: false
---
# kb-search
The KB is a bank of **empirical learnings** — for a product in a given
situation, what capabilities and what architecture worked best, and when to
evolve. This skill finds the learning that fits. See
`core/components/memory/knowledge/_DESIGN.md` for the full design.
**V1 note:** the script only serves structure. **You** do the matching — read
the Conditions and judge fit. The script does not rank for you; that is
deliberate (the V1 engine; a server will rank later).
## Inputs
A **condition profile** for the product you are building context for, read from
its ProductOS — as many of these as you know:
- `stage`: prototype | internal | public | monetized
- `users`: one | small-team | public
- `persistence`: none | some | full
- `monetization`: none | lead-capture | paywall
- plus any free-text intent ("quick demo for one teammate")
## How to use
The script lives at `scripts/kb_search.py` (Python 3, no dependencies). Pass
`--kb-root` if the KB is not at the default deploy path.
1. **Get the map.** Run `index` — it returns every learning's id, title,
conditions facets, evolve_when links, and provenance as JSON.
```bash
python3 scripts/kb_search.py index
```
2. **Match by reasoning.** Read the conditions of each entry and pick the one(s)
whose situation matches the product's profile. This is judgment, not keyword
matching — "quick demo for one teammate" matches a `stage: prototype,
users: one` learning even with no shared words. Prefer higher-provenance
learnings (proven across more products) when several fit.
3. **Fetch the learning.** Run `get <id>` for the chosen learning to read its
full Recommendation and Rationale.
```bash
python3 scripts/kb_search.py get architecture/single-user-throwaway
```
4. **Follow evolution.** Use the learning's `evolve_when` to see what to climb
to as the product's conditions change.
`grep <terms>` exists as a coarse pre-filter to narrow candidates when the
manifest is large — it is NOT the matcher; step 2 always is.
## Output
Return the selected learning(s) with: the recommendation (capabilities +
architecture), the rationale, the provenance, and the evolve-when pointers — so
the calling play (e.g. /realize) can apply them.
## Forward compatibility
When the KB moves to a server, this skill's script swaps its internals from the
local files to a `kb` CLI; the inputs, the steps, and the output shape do not
change.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!