Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/elnora-ai/elnora-slack/slack-clinpx skills add Elnora-AI/elnora-slack --skill slack-cligit clone --depth 1 https://github.com/Elnora-AI/elnora-slackWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/elnora-ai/elnora-slack/slack-cli)<a href="https://agentmods.dev/skills/elnora-ai/elnora-slack/slack-cli"><img src="https://agentmods.dev/badge/skills/elnora-ai/elnora-slack/slack-cli.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00164 | $0.01608 |
| Opus 5 | $0.00082 | $0.00804 |
| Sonnet 5 | $0.00033 | $0.00322 |
| Haiku 4.5 | $0.00016 | $0.00161 |
Grade A, and why
slack-cli scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 159 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Slack CLI
The complete Slack Web API from the command line. 201 methods, 29 command groups.
The elnora-slack binary must be on your PATH (npm install -g @elnora-ai/slack).
Verify with elnora-slack auth test. If that fails, see
INSTALL_FOR_AGENTS.md.
Note: the binary is
elnora-slack, notslack— Slack ships its own officialslackCLI and we don't shadow it.
All commands print JSON to stdout; errors go to stderr with a typed exit code.
Add --compact for token-efficient output, --fields <list> to select fields,
and --output table|csv where a list is returned.
Workspace reference (cached)
Before looking up users or channels via the API, check the cached reference
files in $SLACK_REFERENCES_DIR (or ${CLAUDE_PLUGIN_ROOT}/references/):
- Users:
workspace-users.md— IDs, usernames, emails, quick-lookup aliases - Channels:
workspace-channels.md— IDs, names, routing table
Read these first when you need an ID. Only call the API if the cache doesn't
have it. The files ship as *.template.md (fake rows) until you run
/slack-sync to generate the real ones.
Auth
Token resolution order: SLACK_TOKEN / SLACK_BOT_TOKEN / SLACK_USER_TOKEN
from the environment, then ~/.config/elnora-slack/.env, then a .env next to
the CLI. search.* requires a user token (SLACK_USER_TOKEN, xoxp-).
Quick reference
Messaging
elnora-slack chat postMessage --channel CHANNEL_ID --text "Hello"
elnora-slack chat update --channel CHANNEL_ID --ts TIMESTAMP --text "Updated"
elnora-slack chat delete --channel CHANNEL_ID --ts TIMESTAMP
elnora-slack chat scheduleMessage --channel CHANNEL_ID --text "Later" --post-at UNIX_TS
Reactions
elnora-slack reactions add --channel CHANNEL_ID --name white_check_mark --timestamp MSG_TS
elnora-slack reactions remove --channel CHANNEL_ID --name white_check_mark --timestamp MSG_TS
elnora-slack reactions get --channel CHANNEL_ID --timestamp MSG_TS
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 159 lines · 164 tokens per session scan A 37e52191a543
slack-cli is a skill published in the GitHub repository Elnora-AI/elnora-slack (1 stars, last pushed 3d ago), licensed Apache-2.0. It adds 164 tokens to every session and 1,608 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
notify-user
Telegram comms playbook for Antigravity — when and how to reply, ack long work, present choices, and delegate to other agents. Use whenever you're paired to a Telegram chat via the telegram-agy MCP server and need to talk back to the user. The chat is your only signal channel — terminal output never reaches the user.
rag-your-code
Index and search the current codebase with local, explainable RAG records.
agent-plus-meta
The meta plugin. Eight+ subcommands across init, envcheck, refresh, list, extensions, marketplace, doctor. JSON output only. Use at session start to give the agent day-one context — installed plugin set, env-var readiness, resolved project IDs — without grep-mining the project for every fact.
agent-plus-upgrade
Trigger doctrine for when to check whether the agent-plus framework itself is out of date, and how to offer the fix — same shape as agent-plus-installer, but for the upgrade path instead of the install path. No new mechanism: agent-plus-meta upgrade-check and agent-plus-meta upgrade already exist, fully built, with a…
diff-summary
Structured triage of a git diff. One call replaces the per-file Read sweep an agent normally does to figure out which files in a diff are tests, which touch the public API, which are migrations, which need careful review.
repo-analyze
The map, not the contents. One call replaces the cold-start dance — file-tree exploration, finding entrypoints, reading every manifest, scanning README. Session mining showed 67 grep + 60 ls ops on a typical fresh-repo session, almost all of it answerable from one structured payload.