Anvia Channels Skill
SkillCommunicationConnect Discord, Slack, and Telegram to Anvia agents, channel adapters, agent-backed bots, proactive delivery, sessions, streaming, and platform actions.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Anvia Channels Skill skill
What this skill tells your AI
The instructions your AI receives, as published by anvia-hq/anvia in skills/anvia-channels/SKILL.md and read by ahel’s review.
Use this skill when the user wants an Anvia agent reachable from Discord, Slack,
or Telegram, needs proactive delivery into a channel from a worker or monitor,
or wants to handle raw platform events. The five libraries are private workspace
packages — depend on them from the channels workspace (workspace:*), not npm.
Process
- Wire the platform adapter (
references/adapters.md) — one factory call per platform; credentials from the environment, never literals. - Run an agent behind it (
references/channel-agent.md) — sessions and memory, streaming edits, acknowledgements, slash commands, paused approvals. - Send or receive without an agent (
references/delivery.md) —sendChannelMessage, long-text splitting, validation, raw event handling. - Run
scripts/check-channels.shfrom the app root before claiming done.
Minimal slice
import { createChannelAgent } from "@anvia/channel-agent";
import { Agent } from "@anvia/core/agent";
import { OpenAIClient } from "@anvia/openai";
import { telegram } from "@anvia/telegram";
const openai = new OpenAIClient({ apiKey: process.env.OPENAI_API_KEY ?? "" });
const agent = new Agent({
id: "telegram-assistant",
model: openai.completionModel({ modelId: "gpt-6-astra", api: "responses" }),
instructions: "You are a concise assistant. Answer in the sender's language.",
});
const channel = telegram({
token: process.env.TELEGRAM_BOT_TOKEN ?? "",
onError: (error, context) => console.error(`[telegram:${context.operation}]`, error),
});
const service = createChannelAgent({
channel,
agent,
streaming: { placeholder: "Thinking…", editIntervalMs: 750 },
acknowledge: "👀",
onError: (error, context) => console.error(`[channel-agent:${context.stage}]`, error),
});
await service.start();
process.once("SIGTERM", () => void service.stop());
Output
Prefer one adapter, one agent, environment-read credentials, and a shutdown path for every started service. Point to the relevant reference file instead of pasting its contents into chat.
Signals
- GitHub stars
- 50
- Forks
- 6
- Last commit
- Oct 2026
ahel review
K6low
bundled executables the agent is told to run
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
anvia-channels- Source
- github.com/anvia-hq/anvia
Related picks
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScriptdiscord
Skill · anil-matcha
The pick for Discordmacmini-discord-reminder
Skill · bam-bam-2
The pick for Discordslack-gif-creator
Skill · anthropics
The pick for Slackslack-automation
Skill · davila7
The pick for Slack