hor-multi-llm-provider SKILL.md skillA
hor-multi-llm-provider from openreachtech/hora-skills-ort-renchan is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add openreachtech/hora-skills-ort-renchan/hor-multi-llm-provider@git:20261016.1baf4e6Pins git:20261016.1baf4e6 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- openreachtech/hora-skills-ort-renchan
- Path
kit/skills/hor-multi-llm-provider/SKILL.md- Versions recorded
- 6
- Latest version
- git:20261016.1baf4e6, committed Oct 16, 2026
- First version recorded
- Sep 5, 2026
- Size
- 19,562 bytes
- Repository stars
- 32
- License
- Apache-2.0
Support multiple LLM providers (Anthropic Claude / OpenAI / Google Gemini) behind one abstraction in a renchan backend: a provider base per vendor, a processor per model, a loader that picks one by model name, and an access route per way of reaching it (vendor API key, Vertex AI service account, Amazon Bedrock), with model and route metadata in the DB and env. Use whenever the user asks to add an LLM model, provider or access route, or to wire function calls and file upload.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Multi-LLM Provider (Claude / OpenAI / Gemini behind one abstraction) This backend talks to three LLM vendors through **one processor abstraction** so callers (agents, resolvers, jobs) never branch on the provider. A caller resolves a **model name** to a processor and calls `processor.sendRequestToAi(...)`; everything provider-specific (SDK calls, function-call shape, file upload, response parsing) is hidden behind the processor and its capsule. Which **model** answers and which **access route** carries the request are two separate choices. The model is a vendor's model (Claude Sonnet, Gemini Flash). The route is how the request reaches it and how it authenticates: the vendor's own API with an API key, or a cloud platform that hosts the model. ## Grand principle: one base + one subclass per model; provider differences live in a provider base, the model is chosen from the DB The abstraction is a three-level strategy: `BaseAiModelProcessor` (the contract) → one **provider base** per vendor (Claude/OpenAI/Gemini plumbing) → one **concrete processor per model** whose only distinct …
Read the whole file at its exact version.
How to install
mdr add openreachtech/hora-skills-ort-renchan/hor-multi-llm-provider@sha256:596ede9c90e0c483The line at the top of this page pins the label git:20261016.1baf4e6, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_2rbf4mrby4apz6ui)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 6 versions of this file, between Sep 5, 2026 and Oct 16, 2026, about one every 8 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261016.1baf4e6 latest | 2026-10-16 | 1baf4e6 | 19,562 B | A | view · diff |
| git:20261016.81d4445 | 2026-10-16 | 81d4445 | 19,391 B | A | view · diff |
| git:20261016.9ae809d | 2026-10-16 | 9ae809d | 19,375 B | A | view · diff |
| git:20261016.c82c91f | 2026-10-16 | c82c91f | 19,376 B | A | view · diff |
| git:20261016.e3ca490 | 2026-10-16 | e3ca490 | 19,569 B | A | view · diff |
| git:20260905.5a04969 | 2026-09-05 | 5a04969 | 12,503 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (19562 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
openreachtech/hora-skills-ort-renchan · 32 stars · license Apache-2.0 · pushed 2026-10-16 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_2rbf4mrby4apz6ui GET https://markdownregistry.com/api/v1/resolve?ref=openreachtech/hora-skills-ort-renchan/hor-multi-llm-provider GET https://markdownregistry.com/api/v1/blob/596ede9c90e0c483349f524d33e82463f30965d8878e177eaf4eb9b6b5be9946
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.