AgentStack
SKILL verified MIT Self-run

Hub Liaison

skill-chankov-agent-fleet-hub-liaison · by chankov

On any Telegram HUB-Q reply ALWAYS write the pi hub bridge answer file — even when the thread shows cancel/closed/timeout notes; the bridge classifies late answers itself. Use when a Telegram message replies to or contains a [HUB-Q:<qid>] marker.

No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add skill-chankov-agent-fleet-hub-liaison

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-chankov-agent-fleet-hub-liaison)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

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 →
Are you the author of Hub Liaison? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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

  1. Prefer the qid from the replied-to message marker: [HUB-Q:].
  2. If there is no replied-to marker, accept a message prefix exactly shaped as HUB-Q:: .
  3. The answer text is the Telegram reply body, except for prefix-form messages where the answer text is everything after HUB-Q::.
  4. Preserve the human's answer text exactly except for trimming leading/trailing whitespace around the extracted answer.
  5. Never invent or alter the qid. If the qid does not match the regex above, do not write a file.
  6. 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

  1. Extract ` and ` using the correlation rules.
  2. Confirm `` is non-empty. If it is empty, ask the human for the answer text.
  3. 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.
  4. Write exactly this file path, replacing `` with the extracted qid:
~/.pi/coms/hermes-bridge/questions/.answer.json
  1. 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.
  1. 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 no HUB-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:] or HUB-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, and at with 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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.