jev-browser-use
Use when driving a web page in a browser — clicking, typing, navigating, logged-in or…
Use when researching social posts, creators, reactions, or trends. Jev ranks discovery cards and decides when opened, source-linked evidence is enough for a bounded report.
$ npx -y skills add kerpopule/hermes-jev-skills --skill jev-social-research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/jev-social-researchContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when researching social posts, creators, reactions, or trends. Jev ranks discovery cards and decides when opened, source-linked evidence is enough for a bounded report.
name: jev-social-research
description: Use when researching social posts, creators, reactions, or trends. Jev ranks discovery cards and decides when opened, source-linked evidence is enough for a bounded report.
version: 0.1.0
license: MIT
metadata:
hermes:
tags: [jev, typesafe, social-research, evidence, research]
related_skills: [jev-search, jev-browser-use]Jev is the decision layer, not the social-network client and not the report writer. Use your normal API, fetch or browser tool to collect evidence. Jev ranks discovered posts and, only after a locally checked evidence floor is met, judges whether a bounded projection of that evidence answers the question. You read the sources and write the report.
Track evidence depth explicitly. One source may carry more than one level:
| level | what was actually observed | what it can support | |---|---|---| | `discovery_card` | A search result, profile tile or feed preview. | Choosing what to open. Never cite a `discovery_card` in the report. | | `opened_post` | The canonical post page, visible author/date and post text or caption. | Claims made by the post author. | | `comments_read` | The opened reply thread, with the visible sample boundary recorded. | What those observed commenters said, not what all users think. | | `media_observed` | The video, image, transcript or frames were actually read or played. | Only the parts observed; a thumbnail or media URL is not this level. |
An empty search page means no accessible result was observed for that query. It does not prove that the topic has no discussion.
Apply this gate before constructing or serializing every outbound request:
1. Mark the question, every tried or candidate query and every candidate field locally. A public URL is still person-marked when its path, slug or query identifies an account or person; being public does not make it non-identifying. 2. If any field is private, person-marked or sensitive, stop. Make zero Jev calls and do not silently drop the marked row and send the remainder. Keep the complete local ledger, but make the selected set only the locally screened head of the original order, excluding every locally rejected entry, then use the agent's ordinary no-Jev judgment. 3. Only an all-clear set may be reduced to the outbound projection and passed to `jev search`. 4. If an allowed `jev search` call is unavailable, times out or returns `unknown`, keep the local ledger intact and take that same screened-head baseline. Fail-open never restores a locally rejected entry and never relaxes the privacy gate.
This ordering is the privacy boundary: person-marked results never enter the Jev projection, and fail-open means continuing locally rather than sending less-safe data.
1. **Set the evidence floor and the budget before searching.** Name the platforms, the maximum query rounds, the target number of distinct opened posts, whether comments or media are required, and a wall-clock limit. Reaching a limit produces a partial report; it does not silently lower the floor. 2. **Discover and rank.** Ask the routing question, “Which discovered sources should be opened to meet this evidence floor?” Run the mandatory gate above on the question, queries and cards. Only after an all-clear result, convert each card to the minimal outbound projection below, then run `jev search`. An `answer` means the cards are enough to make that routing choice: open its `selected_ids`. It does not mean the research is complete. If the gate stops the call or Jev returns `unknown`, use the locally screened head of the original order, which is the `jev-search` fail-open path. 3. **Open only selected sources.** Fetch them, or load and follow `jev-browser-use` before any browser navigation. Its critical rules still apply: allowlist the hosts, use a separate automation-owned browser profile, never operate on a page showing credentials, payment or customer data, and verify every result against fresh live-page state. Respect the site's normal login, challenge and rate-limit state; do not bypass an access gate. Try an unreadable source once more on its own, then record the failure instead of looping. 4. **Write one local evidence row per canonical source.** Keep at least:
{
"canonical_url": "https://social.example/post/123",
"source_url": "https://social.example/post/123",
"platform": "example",
"author": "visible account name",
"published_at": "visible date or unknown",
"captured_at": "2026-09-27T03:00:00Z",
"evidence_level": ["opened_post", "comments_read"],
"support": "short source-grounded paraphrase",
"limitations": "five top-level comments were visible"
}The full row stays local. Use short quotations only when needed and permitted. 5. **Deduplicate before every next round.** Normalize mobile/share variants and remove tracking parameters. Use the stable post id when the platform exposes one. Merge newly observed depth into the existing row. Keep a repost, quote-post or reshare with its own canonical URL as a separate reaction record linked by `original_url`; do not count it as independent support for the original post's claim. 6. **Check the floor locally.** Compute `coverage_met` from the ledger counts and required evidence levels. Code owns this check. Jev is never asked to infer it. While it is false, continue within the predeclared budget even if a discovery-routing call returned `answer`. 7. **Ask whether to stop only after `coverage_met` is true.** Re-run the mandatory gate on the research question, minimal evidence candidates and queries for what is still missing. Only after it clears, run a separate `jev search` round. Pass the increasing `round_index` and the predeclared `max_rounds`. If any se
Give your agent a fast, cheap second brain for the small decisions. Your agent burns frontier-model tokens on things that are not thinking: which model should answer this turn, which of 377 skills to load, which retrieved passages matter, which turns survive
Repo: kerpopule/hermes-jev-skills
Use when driving a web page in a browser — clicking, typing, navigating, logged-in or…
Use when a transcript has to be cut to a fixed size and you must choose which turns go. Jev…
Use when driving a desktop GUI through a computer-use driver — windows, menus, native apps,…
Use when a task is already judged hard — pick which paid frontier seat takes it, then keep…
Use on a mailbox export to sort mail into needs reply, updates, promotional, sales and spam —…
Use on passages a search just returned (memory, vault, session history, wiki, web) before…