agentleFS
michaelnealemichaelneale/mesh-llm/.agents/skills/connect-agents/SKILL.md

connect-agents

Skill3.8k starsChanged 20 days agoApache-2.0View on GitHub

Use this skill when connecting agent tools or OpenAI clients to mesh-llm — launching or configuring Goose, Claude Code, OpenCode, Pi, curl, or any OpenAI-compatible client against a local or remote mesh, picking a model, or validating tool-call reliability.

  • Reads credentials

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this when pointing an agent harness or any OpenAI client at a running mesh-llm node.

    line 10
  2. Very specific:

    Use http://<host>:9337/v1 only for loopback hosts (localhost, 127.0.0.1, or ::1).

    line 15
  3. Very specific:

    Keep the /v1 path and use any non-empty API key:

    line 50
  4. Very specific:

    Use a base URL ending in /v1.

    line 96

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

connect-agents

Use this when pointing an agent harness or any OpenAI client at a running mesh-llm node. Full reference: mesh/docs/AGENTS.md.

Mental model

  • Use http://<host>:9337/v1 only for loopback hosts (localhost, 127.0.0.1, or ::1). For non-loopback traffic, use https://<host>:9337/v1, an SSH tunnel that terminates at a loopback endpoint, or trusted private-network isolation; never send cleartext HTTP to an untrusted remote host.
  • GET /v1/models lists everything reachable (local + mesh peers); requests route by the model field.
  • Special model ids: auto lets the mesh pick; mesh engages the mixture-of-agents path. Otherwise use an exact id from /v1/models.
  • For coding agents, pick a tool-capable model. If --model is omitted, the built-in launchers pick the strongest tool-capable model available.

Built-in launchers (preferred)

mesh-llm launches the major agent CLIs with config injected for you:

mesh-llm goose     [--model <id>]                 # writes custom_providers/mesh.json in goose's config dir
mesh-llm claude    [--model <id>]
mesh-llm opencode  [--model <id>] [--host <h>]    # injects OPENCODE_CONFIG_CONTENT (no file edits)
mesh-llm pi        [--model <id>] [--host <h>]    # writes ~/.pi/agent/models.json
  • goose/claude reuse a local mesh on the chosen --port.
  • opencode/pi target --host (default 127.0.0.1:9337) and auto-start a local client only for loopback targets; the auto-started node is cleaned up when the harness exits.
  • mesh-llm pi --write / mesh-llm opencode --write update config without launching (use --host for remote meshes).
  • Agent launch commands also install available plugin skills for that agent (mesh-llm skills install does it standalone).

Manual config (any OpenAI client)

For a loopback node use http://127.0.0.1:9337/v1; for a remote node use https://<host>:9337/v1, an SSH tunnel, or trusted private-network isolation. Keep the /v1 path and use any non-empty API key:

export GOOSE_PROVIDER=openai GOOSE_MODEL="<id-from-v1-models>"
export OPENAI_HOST="http://127.0.0.1:9337" OPENAI_API_KEY="mesh"
curl -s http://localhost:9337/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"auto","messages":[{"role":"user","content":"hello"}]}'

Exact manual provider JSON for OpenCode and Pi is in mesh/docs/AGENTS.md.

Validating agent behavior

Direct API contract probe (tool-call forcing, streaming reconstruction):

cargo xtool automation stability tool-call \
  --base-url http://127.0.0.1:9337/v1 --models auto,mesh --attempts 3 \
  --output target/agent-tool-call-reliability/results.jsonl

Broader harness (models, chat, streaming, plus optional Goose/OpenCode/Pi smokes): cargo xtool automation stability nightly — see mesh/docs/AGENTS.md. Use --print-plan on either command for a side-effect-free preview.

Blackboard (cross-mesh agent coordination)

Agents can share status/questions across the mesh via the blackboard plugin — even from a client-only node:

mesh-llm plugins install blackboard
mesh-llm blackboard "STATUS: [org/repo branch:main] refactoring billing module"
mesh-llm blackboard --search "QUESTION"

MCP access: the management endpoint http://127.0.0.1:3131/mcp exposes blackboard_post, blackboard_search, blackboard_feed. Posts are visible to every peer — never post secrets, credentials, private paths, or customer data.

Gotchas

  • Use a base URL ending in /v1; prefer chat-completions over the Responses API unless the client documents Responses support.
  • Model ids must match /v1/models exactly (they can contain spaces — quote them).
  • An empty /v1/models usually means the model is still loading or no mesh was joined yet — check /api/status on :3131 (see mesh-join).
  • The response "model" field tells you which node/model actually answered.

Config-only Hermes and OpenClaw

mesh-llm hermes --write and mesh-llm openclaw --write add a named Mesh provider without changing the default or launching anything. They require a running endpoint; use --host, --model (default auto), --config-path for custom profiles, and --context-length to lower the serving-derived budget. OpenClaw selects mesh/auto; Hermes selects provider mesh, model auto. Existing files are backed up; formatting/comments normalize, and conflicts or includes are refused. See docs/CLI.md for schema requirements and context caveats.

Download now (ZIP)

Trending

Quiet since April.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 4 mentionsApr 2026: 14 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the michaelneale/mesh-llm repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about michaelneale/mesh-llm

The biggest 5 of 18 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 18

Talked about on GitHub, Bluesky and Hacker News (18 times).

On GitHub · 15

10 more on GitHub

On Hacker News · 1

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.