Install
openclaw skills install friends-to-the-endUse when Hermes agents, profiles, or app-embedded agents need to help each other by sharing skills, tools, context, verification, and handoffs. Also triggered by “wanna play” when one Hermes instance should invite another into a task.
openclaw skills install friends-to-the-endUse this skill when one Hermes profile, service, dashboard, or embedded workflow needs a structured handoff to another Hermes-capable profile. The goal is to make profile-to-profile collaboration safe, truthful, and verifiable: provide only the necessary context, use the right profile/tools/skills, request machine-readable results when useful, and verify real side effects before claiming success.
The trigger phrase “wanna play” means: ask another capable Hermes profile or service to participate in the task with a clear role and verifiable return value.
This skill is especially useful when an app has weaker local logic than a full Hermes profile. Example: a web app can do OCR, but a Hermes profile has vision tools and a domain skill, so the app calls Hermes as a fallback and then verifies the result against source APIs.
Use this skill when:
Do not use this skill for:
Identify the friend.
Verify live state.
hermes profile list.hermes tools list --profile <profile>.Prefer a dedicated profile for app embeddings.
hermes profile create <new-profile> --clone-from <known-good-profile> --clone-allAPP_HERMES_PROFILE=<new-profile>
APP_HERMES_HOME=/root/.hermes/profiles/<new-profile>Pass a compact, self-contained prompt.
Verify the friend’s answer.
Clean up temporary artifacts.
A web app can launch Hermes only after cheap local methods fail:
HERMES_HOME=/root/.hermes/profiles/pokemon \
hermes chat -Q \
--profile pokemon \
--skills trading-card-identification-pricing \
--toolsets vision,web \
-q 'Identify the Pokémon card in /path/to/upload.jpg. Use vision, not filename. Return compact JSON only.'
Good JSON shape:
{
"card_name": "Perrin",
"set_number": "220/167",
"set_name": "Twilight Masquerade",
"rarity": "Special Illustration Rare",
"confidence": 0.96,
"reason": "Visible Supporter name and bottom set number match source data."
}
Then the app should query a source API using the returned card_name and set_number, not blindly trust the model result.
For embedded apps, avoid long-term dependency on a personal profile name if the app is its own agent. Create a dedicated profile:
hermes profile create pokemon --clone-from chucky --clone-all
Then configure the service with explicit environment variables, for example systemd drop-in:
[Service]
Environment=APP_HERMES_PROFILE=<dedicated-profile>
Environment=APP_HERMES_HOME=/root/.hermes/profiles/<dedicated-profile>
Environment=APP_HELPER_IMAGE_URL=<internal-image-helper-url>
Environment=APP_HELPER_CODE_URL=<internal-code-helper-url>
Environment=HERMES_NO_UPDATE_CHECK=1
Reload and restart:
systemctl daemon-reload
systemctl restart <service>
systemctl show <service> -p Environment --no-pager
Default community posture: share this skill freely under MIT unless the user or registry explicitly supports paid skills.
If a future Hermes skill marketplace supports paid listings, treat this as a standard utility/community skill and use a modest “standard” listing price rather than premium pricing. Suggested baseline: free for community registry; if paid listing metadata is required, use a low standard utility price such as USD $5, not a subscription or enterprise price.
Do not invent a sale/publishing result. Use hermes skills publish or the current registry workflow and report the exact URL, package ID, or blocker.
Confusing app name with Hermes profile name.
hermes profile list and service env.Borrowing a personal profile forever.
Trusting filenames.
Claiming a friend succeeded without verification.
Leaking secrets between friends.
.env files. Never print or copy secret values into prompts, logs, or skills.Overusing expensive tools.