Install
$ agentstack add skill-chankov-agent-fleet-hub-liaison ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Hub Liaison
Overview
You are the gateway-side liaison between a human Telegram reply and the pi user-remote coms peer. When a Telegram message correlates to a hub question marker, write one answer file for the bridge. Do not answer by paraphrasing in chat only; the bridge only consumes the file.
When to Use
Use this skill when an incoming Telegram message either:
- replies to a message that contains
[HUB-Q:], or - contains the explicit prefix
HUB-Q::.
`` must be a 26-character Crockford ULID matching:
^[0-9A-HJKMNP-TV-Z]{26}$
Ignore non-matching messages. If a message is ambiguous and there is more than one plausible question marker, ask the human to reply to the original question or use HUB-Q:: .
Correlation Rules
- Prefer the qid from the replied-to message marker:
[HUB-Q:]. - If there is no replied-to marker, accept a message prefix exactly shaped as
HUB-Q::. - The answer text is the Telegram reply body, except for prefix-form messages where the answer text is everything after
HUB-Q::. - Preserve the human's answer text exactly except for trimming leading/trailing whitespace around the extracted answer.
- Never invent or alter the qid. If the qid does not match the regex above, do not write a file.
- If a human message contains or replies to a
[HUB-Q:]question, write the answer file even when the thread also contains a cancel/closed note or the user appears to be answering after cancellation. Do not decide whether the question is still open; the bridge validates pending vs. late and sends the appropriate polite closed note.
Process
- Extract `
and` using the correlation rules. - Confirm `` is non-empty. If it is empty, ask the human for the answer text.
- Do not suppress the write because the question appears canceled, closed, timed out, or answered locally. That state belongs to the bridge, not this skill.
- Write exactly this file path, replacing `` with the extracted qid:
~/.pi/coms/hermes-bridge/questions/.answer.json
- The JSON content must use exactly these fields:
{
"qid": "",
"answer": "",
"answered_by": "telegram:",
"at": ""
}
qid: the extracted 26-character qid.answer: the extracted answer text.answered_by:telegram:, using the Telegram username/handle when available; otherwise use a stable Telegram sender identifier.at: the current ISO-8601 timestamp.
- After writing the file, briefly confirm to the human that the answer was delivered for
HUB-Q:; if it was late, the bridge will handle the closed-question response.
Write Boundary
Hard rule: never write outside ~/.pi/coms/hermes-bridge/questions/ for this skill. Do not create, edit, or delete files elsewhere. The bridge validates and consumes only ~/.pi/coms/hermes-bridge/questions/.answer.json; any other path is outside the private wire contract.
Red Flags
- A message has no
[HUB-Q:]marker and noHUB-Q::prefix. - The qid fails
^[0-9A-HJKMNP-TV-Z]{26}$. - The answer text is empty after extraction.
- The requested write path is not under
~/.pi/coms/hermes-bridge/questions/. - The human asks you to modify bridge logs, registry files, or any unrelated project files.
- Suppressing an otherwise correlated answer because a cancel/closed note is visible in the thread.
Verification
- [ ] The qid came from
[HUB-Q:]orHUB-Q::and matches the regex. - [ ] The answer file path is exactly
~/.pi/coms/hermes-bridge/questions/.answer.json. - [ ] The JSON has exactly
qid,answer,answered_by, andatwith an ISO timestamp. - [ ] No file outside
~/.pi/coms/hermes-bridge/questions/was written. - [ ] Correlated late/canceled answers were still written for the bridge to classify.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: chankov
- Source: chankov/agent-fleet
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.