Pinme LLM
glitternetwork/pinme
A skill your agent uses when a PinMe project (Worker TypeScript) needs to call OpenRouter-backed LLM APIs, including models, chat/completions, streaming, or OpenRouter web search.
Connects the Jev decision model by storing a TypeSafe, OpenRouter, Venice or OpenCode Zen key with jev setup-key, so the key never passes through the agent.
$ npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kerpopule/hermes-jev-skills jev-setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/kerpopule/hermes-jev-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jev-setup .claude/skills/jev-setup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "jev-setup" agent skill from https://github.com/kerpopule/hermes-jev-skills/tree/main/skills/jev-setup into .claude/skills/jev-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev-setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/kerpopule/hermes-jev-skills/tree/main/skills/jev-setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kerpopule/hermes-jev-skills jev-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kerpopule/hermes-jev-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/jev-setup .agents/skills/jev-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jev-setup" agent skill from https://github.com/kerpopule/hermes-jev-skills/tree/main/skills/jev-setup into .agents/skills/jev-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev-setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kerpopule/hermes-jev-skills jev-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kerpopule/hermes-jev-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/jev-setup .cursor/skills/jev-setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jev-setup" agent skill from https://github.com/kerpopule/hermes-jev-skills/tree/main/skills/jev-setup into .cursor/skills/jev-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev-setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/kerpopule/hermes-jev-skills.git --path skills/jev-setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kerpopule/hermes-jev-skills jev-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kerpopule/hermes-jev-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/jev-setup .gemini/skills/jev-setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jev-setup" agent skill from https://github.com/kerpopule/hermes-jev-skills/tree/main/skills/jev-setup into .gemini/skills/jev-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev-setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install kerpopule/hermes-jev-skills jev-setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kerpopule/hermes-jev-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/jev-setup .github/skills/jev-setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jev-setup" agent skill from https://github.com/kerpopule/hermes-jev-skills/tree/main/skills/jev-setup into .github/skills/jev-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev-setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kerpopule/hermes-jev-skills jev-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kerpopule/hermes-jev-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/jev-setup .opencode/skills/jev-setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jev-setup" agent skill from https://github.com/kerpopule/hermes-jev-skills/tree/main/skills/jev-setup into .opencode/skills/jev-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev-setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jev-setupConnects the Jev decision model by storing a TypeSafe, OpenRouter, Venice or OpenCode Zen key with jev setup-key, so the key never passes through the agent.
Jev, TypeSafe's decision model, needs one API key, and the skill's central rule is that the agent must never see, ask for or handle it. The key is saved with the jev setup-key command, which supports four sources: TypeSafe by default, OpenRouter through its Decisions API, Venice, and OpenCode Zen, whose free tier suits people without a TypeSafe key since TypeSafe is not accepting new signups. It suggests OpenRouter when the person already holds a key there, so there is one bill instead of two.
A TYPESAFE_BASE_URL variable can override the endpoint for a local mock or HTTPS proxy. The client never sends a saved provider credential to an override endpoint, a gateway that needs a bearer token uses JEV_PROXY_API_KEY, plaintext is allowed only on loopback addresses and redirects are not followed. The jev doctor command names any override and shows a gateway rejecting the request as auth_failed. The excerpt is cut off after this section, so later steps are not described.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit dddaa39. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
console.typesafe.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TYPESAFE_API_KEYJEV_PROXY_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Jev Key Setup loads about 1.4k tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 821 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
- Never read the secret store, `.env` files or `~/.config/jev/credentials` to "check" the key. Use `jev doctor`, which ren as `TYPESAFE_API_KEY` into `~/.hermes/.env` and every `profiles/*/.env`, because each Hermes lane reads its own file.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from kerpopule/hermes-jev-skills at commit dddaa39, republished under its MIT licence (© kerpopule). 821 words, ~1,358 tokens.
.claude/skills/jev-setup/SKILL.md (or your agent's skills folder).Jev is TypeSafe's decision model. It needs one API key. You must never see, ask for, or handle that key.
The key can come from any of three places, and the same Jev answers either way:
jev setup-key, the default): a key from console.typesafe.ai.jev setup-key --provider openrouter): reaches Jev through OpenRouter's Decisions API. Worth offering when the person already has an OpenRouter key, because it is then one key instead of two and one bill instead of two.jev setup-key --provider venice): reaches the same Jev through Venice, which serves it as its own decision modality. Worth considering when the person already has a Venice key; check Venice's current pricing before relying on any cost claim.jev setup-key --provider zen): reaches Jev through OpenCode Zen, whose free tier answers the same request with the same model id shape. Worth offering when the person has no TypeSafe key — TypeSafe is not accepting new signups — and wants to start without a bill.TYPESAFE_BASE_URL is an explicit compatible-endpoint override for a local mock or HTTPS proxy (for example http://127.0.0.1:8787, or a gateway that mounts the API under a path such as https://gw.example/jev). It is not a built-in provider endpoint editor: the official URLs above stay fixed by default. The client never forwards a saved or supplied provider credential to an override endpoint — not the keychain entry, not the credentials file, and not TYPESAFE_API_KEY from the environment, because that variable is where most installs keep their real TypeSafe key. A gateway that requires a bearer gets JEV_PROXY_API_KEY instead: the operator sets it in the same environment as TYPESAFE_BASE_URL, for that gateway only, and it is sent to nothing else. The client permits plaintext only on numeric loopback and does not follow redirects. jev doctor names the override, says whether a bearer goes with it, and asks it: a gateway answering 401 shows up there as auth_failed instead of as silence. Do not send sensitive states to an untrusted proxy. Clear the variable to return to the official endpoint and normal key flow.
If more than one key exists, TypeSafe is used: an existing install never starts routing its decisions somewhere else because an OpenRouter or Zen key happened to be in the environment for a text model. To pick a different one on purpose, set JEV_PROVIDER=openrouter or JEV_PROVIDER=zen in the environment the commands run in; it is honoured only when that provider actually has a key here, and an unset or unknown value changes nothing. jev doctor reports which one is in use under key.provider.
.env files or ~/.config/jev/credentials to "check" the key. Use jev doctor, which reports only presence and length.Check the state: jev doctor. If key.present is true and jev.reachable is true, you are done.
Start the private key page:
jev setup-keyIt opens a page in the browser on the computer you are running on and prints one JSON line on stderr with a url. The URL holds no secret.
Tell the person, in one sentence, to paste their TypeSafe key into the page that just opened. If browser_opened is false, or they are talking to you from another device (Telegram, phone), send them the url and tell them it only opens on the computer the agent runs on. If they have no key yet, they create one at https://console.typesafe.ai/settings/keys.
Wait for the command to finish. It prints {"status": "stored", "verified": true, ...} when the key was saved and the provider accepted it. rejected means the key was wrong: run it again. timed_out means nobody used the page within ten minutes.
Run jev doctor once more and report the result in a sentence.
Headless server over SSH: the person runs jev setup-key --tty themselves in their own terminal. It is a hidden prompt. Do not run it for them through a tool that captures the terminal.
Remote machine on a private network (Tailscale, VPN): jev setup-key --host <private-ip> --no-open and send them the link. That traffic is plain HTTP, so use it only on a network you trust end to end. Never bind a public address.
The OS secret store (macOS Keychain service Hermes TypeSafe API, or secret-tool on Linux), falling back to ~/.config/jev/credentials (mode 0600). On a Hermes machine it is also written as TYPESAFE_API_KEY into ~/.hermes/.env and every profiles/*/.env, because each Hermes lane reads its own file. Running gateways pick it up on their next restart; do not restart one without being asked.
© kerpopule, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/jev-setup of kerpopule/hermes-jev-skills.
Open the folder on GitHubat commit dddaa39
Jev Key Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jev Key Setup this skillkerpopule/hermes-jev-skills | 1k | — | ~1.4k | Automated safety check: Notes | MIT | |
| Pinme LLMglitternetwork/pinme | 3.7k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| FreeRide Free Model ManagerShaivpidadi/FreeRide | 238 | 3 repos | ~1.1k | Automated safety check: Pass | None | |
| Embeddings via 9Routerdecolua/9router | 30k | — | ~604 | Automated safety check: Pass | MIT | |
| Using Ccproxy Inspectorstarbaser/ccproxy | 350 | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| Outsourcereralexgreensh/outsourcerer | 170 | — | ~5.5k | Automated safety check: Notes | Custom licence |
glitternetwork/pinme
A skill your agent uses when a PinMe project (Worker TypeScript) needs to call OpenRouter-backed LLM APIs, including models, chat/completions, streaming, or OpenRouter web search.
Shaivpidadi/FreeRide
Configures OpenClaw to use free OpenRouter models, setting the best one as primary and adding ranked fallbacks so rate limits do not interrupt work.
decolua/9router
Generates vector embeddings through the 9Router /v1/embeddings endpoint, using models from providers such as OpenAI, Gemini, Mistral and Voyage for RAG and semantic search.
starbaser/ccproxy
Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic.
alexgreensh/outsourcerer
Cross-harness orchestrator for AI coding work. An agent skill from alexgreensh/outsourcerer.
jamesrochabrun/skills
This skill should be used when users want to route LLM requests to different AI providers (OpenAI, Grok/xAI, Groq, DeepSeek, OpenRouter) using SwiftOpenAI-CLI.
kerpopule/hermes-jev-skills
Drives web pages that need interaction, letting Jev choose one action at a time from observed page elements under a host allowlist and step budget.
kerpopule/hermes-jev-skills
Drives desktop GUI apps and OS dialogs by letting Jev pick the next action from a menu of safe actions the agent built, with a Mac Co-Agent shortcut.
kerpopule/hermes-jev-skills
Uses Jev to mark each transcript turn keep, summarize or drop when cutting a conversation to a fixed size, with measured results on handoff quality.
kerpopule/hermes-jev-skills
Routes a turn or delegated task to the cheapest model and effort lane that will still do it right, using the Jev decision model to classify difficulty and escalate only when needed.
kerpopule/hermes-jev-skills
Ranks a large catalog of installed skills against the current request through the Jev service, and can conclude that no skill applies.
kerpopule/hermes-jev-skills
Chooses which paid frontier model seat should take a task already judged hard, hands it off with proper context, and keeps a watch on the delegated run.
Works with
Categories
Connects the Jev decision model by storing a TypeSafe, OpenRouter, Venice or OpenCode Zen key with jev setup-key, so the key never passes through the agent. Jev, TypeSafe's decision model, needs one API key, and the skill's central rule is that the agent must never see, ask for or handle it. The key is saved with the jev setup-key command, which supports four sources: TypeSafe by default, OpenRouter through its Decisions API, Venice, and OpenCode Zen, whose free tier suits people without a TypeSafe key since TypeSafe is not accepting new signups.
Jev Key Setup fits situations like: jev tools report no_key or auth_failed; connecting Jev for the first time on a new machine; switching Jev to a different key source such as OpenRouter; diagnosing a Jev setup that points at a proxy or mock endpoint.
Run `npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a claude-code`. Or copy the skill folder (skills/jev-setup in kerpopule/hermes-jev-skills) into .claude/skills/jev-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a codex`. Or copy the skill folder (skills/jev-setup in kerpopule/hermes-jev-skills) into .agents/skills/jev-setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kerpopule/hermes-jev-skills --skill jev-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jev-setup, .gemini/skills/jev-setup, .github/skills/jev-setup and .opencode/skills/jev-setup in your project.
Going by SKILL.md and its folder, Jev Key Setup needs credentials named TYPESAFE_API_KEY and JEV_PROXY_API_KEY. Our summary lists: The jev CLI; An API key from TypeSafe, OpenRouter, Venice or OpenCode Zen.
SKILL.md names 1 domain. As links in the text: console.typesafe.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Jev Key Setup is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Jev Key Setup: Pinme LLM (glitternetwork/pinme, 3.7k stars), FreeRide Free Model Manager (Shaivpidadi/FreeRide, 238 stars), Embeddings via 9Router (decolua/9router, 30k stars) and Using Ccproxy Inspector (starbaser/ccproxy, 350 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kerpopule (a GitHub user) maintains it in kerpopule/hermes-jev-skills, which has 1,046 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.
Source: kerpopule/hermes-jev-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.