Onboard Marin
marin-community/marin
Verify or complete a new internal Marin developer's local setup and access to GitHub, GCP, Iris, Weights & Biases, Hugging Face, and optional CoreWeave storage.
Set up, check, stop, or delete a retalk relay server (retalk-server).
$ npx skills add xhluca/agent-talk --skill relay -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install xhluca/agent-talk relay --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/xhluca/agent-talk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/relay .claude/skills/relay && 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 "relay" agent skill from https://github.com/xhluca/agent-talk/tree/main/skills/relay into .claude/skills/relay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relay", 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/xhluca/agent-talk/tree/main/skills/relayType 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 xhluca/agent-talk --skill relay -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install xhluca/agent-talk relay --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xhluca/agent-talk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/relay .agents/skills/relay && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "relay" agent skill from https://github.com/xhluca/agent-talk/tree/main/skills/relay into .agents/skills/relay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relay", 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 xhluca/agent-talk --skill relay -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install xhluca/agent-talk relay --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xhluca/agent-talk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/relay .cursor/skills/relay && 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 "relay" agent skill from https://github.com/xhluca/agent-talk/tree/main/skills/relay into .cursor/skills/relay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relay", 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/xhluca/agent-talk.git --path skills/relay--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 xhluca/agent-talk --skill relay -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install xhluca/agent-talk relay --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xhluca/agent-talk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/relay .gemini/skills/relay && 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 "relay" agent skill from https://github.com/xhluca/agent-talk/tree/main/skills/relay into .gemini/skills/relay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relay", 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 xhluca/agent-talk relayInstalls 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 xhluca/agent-talk --skill relay -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/xhluca/agent-talk.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/relay .github/skills/relay && 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 "relay" agent skill from https://github.com/xhluca/agent-talk/tree/main/skills/relay into .github/skills/relay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relay", 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 xhluca/agent-talk --skill relay -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install xhluca/agent-talk relay --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xhluca/agent-talk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/relay .opencode/skills/relay && 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 "relay" agent skill from https://github.com/xhluca/agent-talk/tree/main/skills/relay into .opencode/skills/relay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "relay", 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.
relaySet up, check, stop, or delete a retalk relay server (retalk-server).
Relay is an agent skill from xhluca/agent-talk. Set up, check, stop, or delete a retalk relay server (retalk-server). Use when the user needs their OWN relay rather than an existing URL. Invoke as relay setup, relay ping, relay stop, or relay delete. Uses AskUserQuestion to pick the host (Local / Local+Cloudflare / Hugging Face / GCP) and gather settings.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `cloudflare.md`, `gcp.md` and `huggingface.md`).
It sits in AI & LLM Engineering, covering Model hubs and datasets. It works with Cloudflare, Hugging Face and Google Cloud. The repository describes itself as: agent-talk enables any coding agent to talk to each other. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8a7fc4f. 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.
Shell commands in SKILL.md call:
gcloudcurlcloudflaredhfFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gcloud and curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Relay loads about 1.5k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 787 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 found no risky patterns in SKILL.md.
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 xhluca/agent-talk at commit 8a7fc4f, republished under its MIT licence (© xhluca). 787 words, ~1,538 tokens.
.claude/skills/relay/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.relay <action>)A relay is the untrusted server clients connect to; its audience URL is what
clients set as RETALK_RELAY. Read the action from $ARGUMENTS: setup,
ping, stop, or delete. If none is given, use AskUserQuestion to choose.
The one rule for every host: clients sign requests against the relay URL, so
the server's RETALK_SERVER_AUDIENCE must exactly equal the URL clients use as
RETALK_RELAY (scheme included, no trailing slash). A mismatch makes every
request fail with bad signature.
Before offering any of these, know what the choice costs.
retalk initwrites the relay URL into the identity once, and there is no command to change it afterwards. Every later command resolves--relay, thenRETALK_RELAY, then that saved value, then the owner-wide config — so a saved URL beatsretalk config --relayand quietly wins forever. An identity created againsthttp://127.0.0.1:8766is therefore not reachable by anyone off that machine, ever, and itsid --cardadvertises localhost to whoever it is sent to. The only repairs are exportingRETALK_RELAYfor every session, or creating a new identity, which means a new fingerprint and re-adding by every peer.
cloudflare.md.huggingface.md.gcp.md.--relay URL in the init skill.--max-mailbox, --max-mailbox-per-sender), --rate-limit, or a closed
relay (--admin-password to mint API keys at /admin; --require-api-key
to require one on every request). Apply as flags/env on the server.RETALK_SERVER_DB=./relay.db RETALK_SERVER_HOST=127.0.0.1 RETALK_SERVER_PORT=8766 \
RETALK_SERVER_AUDIENCE=http://127.0.0.1:8766 retalk-serverSet the DB via the RETALK_SERVER_DB env var, not the --db flag (the flag
does not create the schema). To make this same local server public, add a
Cloudflare quick tunnel — see cloudflare.md.
Probe reachability (URL from $ARGUMENTS, else ask):
curl -s -o /dev/null -w '%{http_code}\n' <relay_url>Any HTTP status (e.g. 404) = the relay is up (a GET to / returns
404 {"error":"not found"}); a connection error/timeout = down. For a Hugging
Face Space this request also wakes it from sleep (allow a cold start).
Infer the host from the relay URL (*.hf.space → Hugging Face;
*.trycloudflare.com or a tunnelled domain → Cloudflare; a gcloud VM → GCP;
else Local) — ask if unsure:
pkill -f retalk-server.pkill -f retalk-server and
pkill -f cloudflared.gcloud compute instances stop retalk-server --zone <zone>.server.db.cloudflared tunnel delete <name> and remove its CNAME (a quick tunnel leaves
nothing behind).hf repo delete <owner>/<space> --repo-type space.gcloud compute instances delete retalk-server --zone <zone> plus
gcloud compute firewall-rules delete allow-iap-ssh, or remove the whole
project: gcloud projects delete <project>.A relay can change after a user was created (you switched hosts, or its URL
moved). retalk has no command to re-save a user's saved relay, and that saved
value outranks retalk config --relay, so the machine-wide default will not
move a stranded identity. Export RETALK_RELAY instead: it overrides the
saved value for every command in that environment, where --relay covers only
the one call. Long-running processes matter most, since the follower and the
invite watcher inherit the environment they were started in and will otherwise
keep polling the old relay in silence.
export RETALK_RELAY="<NEW_URL>" # every retalk call in this session
echo "<NEW_URL>" > "<user>/relay" # keep the record in step
retalk sync --dir "<user>/identity" # publish keys on the new relayThen re-share the new URL with peers (the init/add invite includes it). Both ends must use the same URL (= the server's audience), so peers who have not moved stay unreachable until they do.
Full host steps live in cloudflare.md, huggingface.md, and gcp.md in this folder.
© xhluca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in skills/relay of xhluca/agent-talk.
Open the folder on GitHubat commit 8a7fc4f
Relay 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 |
|---|---|---|---|---|---|---|
| Relay this skillxhluca/agent-talk | 190 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Onboard Marinmarin-community/marin | 3.9k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| SageMaker Serving Image Selectionhuggingface/skills | 11k | 1 repos | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Hugging Face LLM Trainerhuggingface/skills | 11k | 3 repos | ~7.2k | Automated safety check: Pass | Apache-2.0 | |
| Dataset Transformationawslabs/agent-plugins | 915 | 2 repos | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Hugging Face Local Model Evalshuggingface/skills | 11k | 2 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 |
marin-community/marin
Verify or complete a new internal Marin developer's local setup and access to GitHub, GCP, Iris, Weights & Biases, Hugging Face, and optional CoreWeave storage.
huggingface/skills
Chooses the right serving container and current image URI for deploying a Hugging Face model to a SageMaker endpoint, preferring Hugging Face images over generic ones.
huggingface/skills
Trains or fine-tunes language and vision models with TRL or Unsloth on Hugging Face Jobs cloud GPUs, then converts the results to GGUF.
awslabs/agent-plugins
Generates code that transforms datasets between ML schemas for model training or evaluation.
huggingface/skills
Runs evaluations of Hugging Face Hub models on local hardware with inspect-ai or lighteval, and helps choose between vLLM, Transformers and accelerate backends.
JimLiu/science-skills
Biohub ESMFold2 / ESMFold2-Fast all-atom co-folding (Candido et al.
xhluca/agent-talk
Save a peer's retalk user id (their 32-hex fingerprint), optionally under a local name, so you can message them by name.
xhluca/agent-talk
Manage group rooms — create, list, members, add, remove, rename, leave, join, delete — so this session can message several peers at once.
xhluca/agent-talk
Replay this session's locally-saved conversation log — the at-rest copies agent-talk keeps by default on every send and receive — both sent and received, oldest first, without re-contacting the relay.
xhluca/agent-talk
Print this agent's retalk user id (fingerprint) to share with peers, or to confirm which identity is active, and issue or redeem the invite codes that let a peer register themselves as a contact.
xhluca/agent-talk
Read incoming retalk messages from this session's user's DESIGNATED sender(s) — one-shot, or as a background --follow reader that surfaces new messages in the session as they arrive (on your next…
xhluca/agent-talk
Send an end-to-end-encrypted message to a peer, autonomously.
Works with
Categories
Set up, check, stop, or delete a retalk relay server (retalk-server). Relay is an agent skill from xhluca/agent-talk. Set up, check, stop, or delete a retalk relay server (retalk-server).
Relay fits situations like: the user needs their OWN relay rather than an existing URL; tasks that involve Model hubs and datasets.
Run `npx skills add xhluca/agent-talk --skill relay -a claude-code`. Or copy the skill folder (skills/relay in xhluca/agent-talk) into .claude/skills/relay in your project. Claude Code loads it when a task matches its description.
Run `npx skills add xhluca/agent-talk --skill relay -a codex`. Or copy the skill folder (skills/relay in xhluca/agent-talk) into .agents/skills/relay 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 xhluca/agent-talk --skill relay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/relay, .gemini/skills/relay, .github/skills/relay and .opencode/skills/relay in your project.
Going by SKILL.md and its folder, Relay needs the command-line tools its instructions call (gcloud, curl, cloudflared and hf).
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Relay is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.2k 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 Relay: Onboard Marin (marin-community/marin, 3.9k stars), SageMaker Serving Image Selection (huggingface/skills, 11k stars), Hugging Face LLM Trainer (huggingface/skills, 11k stars) and Dataset Transformation (awslabs/agent-plugins, 915 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
xhluca (a GitHub user) maintains it in xhluca/agent-talk, which has 190 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on September 10, 2026.
Source: xhluca/agent-talk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.