# Suggest agent skills with Jev: rank 182, verify 3, load at most 1

> TypeSafe skill-suggestion cookbook: Choice ranking over 182 skills plus Noul gates cuts wrong skill loads 16.8% to 7.3% and needless loads 9.8% to 4.0%.

*Source: https://velstech.net/jev-skill-suggestion.hi (Hindi translation of https://velstech.net/jev-skill-suggestion) · Updated: 2026-09-20*

*Markdown version. [Read the interactive guide](https://velstech.net/jev-skill-suggestion.hi). English Markdown: https://velstech.net/jev-skill-suggestion.md.*

---

बड़े skill rosters वाले agents लगभग बिना जानकारी चुनते हैं: roster index बनकर आता है – हर skill
एक truncated line (Hermes descriptions को 60 characters तक काटता है) – इसलिए `.pptx`
files *edit* करने वाला skill *author* करने वाले जैसा ही पढ़ा जाता है, और जिन turns
में कुछ fit ही नहीं होता, वहाँ भी नामों की list guess को न्योता देती है। TypeSafe का
[skill-suggestion cookbook](https://docs.typesafe.ai/cookbooks/skill_suggestion)
इसे **progressive disclosure** से ठीक करता है: एक सस्ती request सभी 182 skills rank
करती है और पूछती है कि turn को skill चाहिए भी या नहीं; दूसरी request सिर्फ top तीन को पूरी detail
में दोबारा पढ़ती है और सबको reject कर सकती है। Winner का नाम system prompt की एक line में जाता है।
यह guide recipe और उसके measured नतीजों का सारांश है।

## Baseline खराब क्यों है

`claude-haiku-4-5` पर 488 requests में मापा गया (315 exactly एक skill से covered, 173
किसी से नहीं – 85 everyday requests और guessing को punish करने वाले 46 near-misses समेत, जैसे
X cover करने वाले पर Mastodon roster पर "post this to Mastodon"), सिर्फ roster वाला agent गलत skill
**16.8%** बार load करता है और fit न होने पर भी **9.8%** बार load करता है।
36 गलत first picks में 10 सही skill की अपनी category से आए – agent मोटे तौर पर सही जगह देख रहा है,
मुश्किल हिस्सा lookalikes को अलग करना है।

## Call 1 – सभी 182 skim करें

एक request दो किस्म के सवाल ले जाती है: सभी 182 skill names पर `Choice` (हर option का
criteria index description – वही text जो agent को मिलता है) जिसकी probabilities ranking हैं, और
तीन `Nouls` जो अलग-अलग तरह पूछते हैं कि turn को explanation के बजाय action चाहिए या नहीं
(user के system पर act? documented procedure consult? या prose काफी है – inverted)। उनका mean तय
करता है कि कुछ suggest हो या नहीं; 0.30 से नीचे, खामोश रहो। दोनों एक round trip में जाते हैं।

## Call 2 – top 3 को ठीक से पढ़ें

तीन options में हर skill का full description + उसके `SKILL.md` का opening आ जाता है,
इसलिए वही सवाल बेहतर evidence पर पूछा जाता है: shortlist पर `Choice`, और हर candidate
पर एक absolute `fits::{name}` `Noul` – क्या यह skill माँगी गई specific चीज़
करता है? सब low आ सकते हैं, और जिसका best fits score 0.30 से नीचे, वह shortlist पूरी drop।

`.pptx` pair ठीक यहीं अलग होता है: wide ranking deck-authoring request के लिए editing
skill को पहले रखती है (0.700 vs 0.300); पूरा पढ़ने पर Choice authoring skill पर flip करता है। गौर
करें Choice और Nouls disagree कर सकते हैं (यहाँ Nouls editing skill को ज़्यादा score करते हैं) – वे
अलग सवालों के जवाब हैं: Choice तय करता है *कौन सा*, Nouls तय करते हैं *कुछ कहना है भी या
नहीं*। यही Choice-vs-Noul split
[Jev 1.13 jaggedness guide](https://velstech.net/jev-1-13-jaggedness.hi) का failure mode 8 है।

## पूरी recipe: दो requests और दो thresholds

```
def suggest(request: str) -> tuple[str, ...]:
    """At most one skill name for a request, or () for "nothing here applies"."""
    wide = rank_wide(request)
    if wide["gate"]
Relevant to the current request: pptx-author. Ignore this if it does not
fit what the user actually asked for.

```

Wording दो काम करती है: कहती है suggestion ignore किया जा सकता है (ज़ोर देने से गलत suggestions पर
भी compliance मिलती है, और गलत suggestion none से बदतर है), और खाली turn में भी "nothing appears
relevant" sentence जाता है, ताकि roster का अपना "err on the side of loading" instruction opposed रहे,
unopposed नहीं।

## Measured नतीजे

|  | गलत skill | Fit न होने पर skill |
| --- | --- | --- |
| Agent अकेला, सिर्फ roster | 16.8% | 9.8% |
| TypeSafe suggestion वाला agent | 7.3% | 4.0% |
| सही जवाब दिया गया agent (ceiling) | 2.5% | 1.2% |

यानी 2.3× कम wrong loads और 2.4× कम needless ones – truncated index से guessing और सही जवाब मिलने के
बीच का ज़्यादातर gap। 315 covered requests में suggestion ने 37 fix किए और 7 बिगाड़े जो agent ने खुद
सही किए थे: confident गलत suggestion persuade करता है, turn के सामने रखने की यही कीमत है। (Ceiling
row भी zero नहीं – सही skill दिया गया agent भी हमेशा load नहीं करता।)

## Bottom line

बड़े roster वाले अपने किसी agent पर यही shape copy करें: सब पर सस्ती ranking, फिर दो-तीन पर करीबी
नज़र – और दोनों steps खाली हाथ लौट सकें। Full source:
[TypeSafe का skill-suggestion cookbook](https://docs.typesafe.ai/cookbooks/skill_suggestion)
(runs में `jev-1.12`); वही shape और जगहों पर – TypeSafe patterns docs में intent routing,
confidence-gated routing और speculative fan-out देखें।

---

*VelsTech – https://velstech.net/jev-skill-suggestion.hi.md*
