Standard.Agents.Data.Skills.PeerLLM
0.1.0
dotnet add package Standard.Agents.Data.Skills.PeerLLM --version 0.1.0
NuGet\Install-Package Standard.Agents.Data.Skills.PeerLLM -Version 0.1.0
<PackageReference Include="Standard.Agents.Data.Skills.PeerLLM" Version="0.1.0" />
<PackageVersion Include="Standard.Agents.Data.Skills.PeerLLM" Version="0.1.0" />
<PackageReference Include="Standard.Agents.Data.Skills.PeerLLM" />
paket add Standard.Agents.Data.Skills.PeerLLM --version 0.1.0
#r "nuget: Standard.Agents.Data.Skills.PeerLLM, 0.1.0"
#:package Standard.Agents.Data.Skills.PeerLLM@0.1.0
#addin nuget:?package=Standard.Agents.Data.Skills.PeerLLM&version=0.1.0
#tool nuget:?package=Standard.Agents.Data.Skills.PeerLLM&version=0.1.0

Standard.Agents.Data.Skills.PeerLLM
Pull versioned skills from the PeerLLM registry into The Standard AI Agent Framework.
Part of The Standard for Agents. In
Agent = Orchestration(Data, Decision, Direction), this package extends the Data nature — it moves skills from local Markdown files into the PeerLLM registry (skills.peerllm.com), versioned and shared. It plugs into the coreStandard.Agentspackage through the sameISkillBrokerseam, so nothing else about your agent changes.
The core Standard.Agents package reads skills from a local folder. This package pulls them from
the registry instead — point it at a skillset (a versioned bundle of skills) and it hands each one
to the agent as a Skill. Uses only HttpClient; the core stays dependency-free.
Install
dotnet add package Standard.Agents # the core framework
dotnet add package Standard.Agents.Data.Skills.PeerLLM # this skills source
Use
It's the same ISkillBroker seam every skill source uses — pass the broker to .UseSkills(...):
using Standard.Agents;
using Standard.Agents.Data.Skills.PeerLLM;
var agent = new StandardAgent(apiUrl, apiKey, "LLooMA2.0")
.UseSkills(new PeerLLMSkillBroker("hassanhabib/my-skills")); // skills from the registry
string answer = await agent.ProcessPromptAsync("Write me a commit message.");
Everything else — tools, guardians, memory, knowledge, streaming, the {{skills}} index — is the
core, unchanged. Reads of public skills need no key.
Point it at a skillset
A skillset is a versioned bundle of skills. Address it by human path or immutable id, and pin a
version with @N (or track @latest, the default):
new PeerLLMSkillBroker("hassanhabib/my-skills") // owner/name, @latest
new PeerLLMSkillBroker("hassanhabib/my-skills@3") // pinned to version 3
new PeerLLMSkillBroker("id/8f2b1c0d9e4a6f37") // by immutable skillset id
Private skills? Pass your psk_… key — you'll also see your own, never anyone else's:
new PeerLLMSkillBroker("hassanhabib/my-skills", apiKey: "psk_…")
Three sync modes
How fresh vs. how chatty — pick with SkillSync:
| Mode | Behavior | Best for |
|---|---|---|
SkillSync.Live (default) |
Fetch from the registry on every request — always the newest. | Always-current skills; a network call per turn is fine. |
SkillSync.Local |
Pull once to a local cache, then read from it — no further network. | Offline / reproducible runs; pin a version. |
SkillSync.Hybrid |
Cache locally, and re-pull only when a newer version ships (checked once per run). | The sweet spot: fast, but picks up updates. |
// pull once, run offline from the cache
new PeerLLMSkillBroker("hassanhabib/my-skills@3", SkillSync.Local, cacheDirectory: "skills-cache")
// cache, but pick up new versions on the next run
new PeerLLMSkillBroker("hassanhabib/my-skills", SkillSync.Hybrid, cacheDirectory: "skills-cache")
Local and Hybrid persist to cacheDirectory (defaults to a .peerllm-skills folder beside your
app). Hybrid compares the skillset's integer version and only re-downloads members when it actually
changed.
How it maps
Each skillset member becomes a Skill { Name, Description, Content } — Name and Description from
the registry, Content the skill's SKILL.md (frontmatter stripped, so the model sees the body).
That's the same shape the built-in file broker produces, so the rest of the framework — routing,
the {{skills}} index, composition — works identically.
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Standard.Agents (>= 0.17.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 195 | 8/10/2026 |