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 skills add pachca/openapi --skill pachca-messaginggit clone --depth 1 https://github.com/pachca/openapiWrote 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/pachca/openapi/pachca-messaging)<a href="https://agentmods.dev/skills/pachca/openapi/pachca-messaging"><img src="https://agentmods.dev/badge/skills/pachca/openapi/pachca-messaging/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pachca/openapi/pachca-messaging"><img src="https://agentmods.dev/badge/skills/pachca/openapi/pachca-messaging.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00316 | $0.06369 |
| Opus 5.5 | $0.00126 | $0.02548 |
| Sonnet 5.5 | $0.00063 | $0.01274 |
| Haiku 4.5 | $0.00032 | $0.00637 |
Grade A, and why
pachca-messaging scanned grade A with 1 finding 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 today.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Key of your own upload:** for a document or picture from disk. Get the form with `pachca_get_upload_params`, upload the file from a shell (for example `curl`), then pass the key, name, type and size. In the CLI, `pac How it starts
The opening of the file, as written. The whole thing — 173 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Writing in Pachca
When to use
Any time you put text into Pachca for the user: a message, a thread comment, a direct message, a draft, a scheduled message, a file, a reaction, a pin or a «Важное» mark, or an edit or deletion of a message. The tool descriptions, pachca --help and the API pages are the reference for arguments. This skill covers what they do not say: where to post, when to ask first, and what breaks.
Access paths: prefer the MCP tools (pachca_send_message, pachca_create_draft, …). In a terminal the CLI does the same (pachca messages create, pachca drafts create, pachca upload). With neither, call the REST API directly. All three call the same methods with the same permissions.
Key concepts
- Addressing. A message goes to
entity_type+entity_id.discussion(the default) takes thechat_idof any chat,threadtakes the threadid,usertakes an employee's user id. - A thread has two ids. Its
idgoes withentity_type: "thread". Itschat_idgoes withdiscussion, like any chat. The parent message id is never the thread id. - Sender. The message goes out under the token owner's name. With a bot token it carries the «Бот» badge. A message sent after a browser login, through MCP or through the CLI (
pachca auth login), shows a badge on the avatar, «Отправлено через …» with the program's name (with its icon when Pachca knows one). One sent with a personal token looks exactly as if the employee typed it. Write in the voice of the account it goes out under. - Action labels. MCP marks sending, reacting, pinning and adding to «Важное» as a change. Editing, deleting, unpinning, removing a reaction and removing from «Важное» are marked as a dangerous change. The program asks for confirmation based on these labels, so a clear request needs no question from you. The cases where you ask first are under "When to ask first".
Choose where to write
| The user wants | Write to | How |
|---|---|---|
| Post to the whole chat | the chat | entity_id = chat_id |
| Discuss one specific message without cluttering the chat | the thread under it | If the message's thread is null, create it (pachca_create_thread, it returns the existing thread if there is one), then send with entity_type: "thread" and the thread id |
| Answer one message so the answer stays in the chat flow | a quoted reply | parent_message_id, sent to the same chat or thread where that message is (otherwise 422) |
| Write to one employee privately | a direct message | entity_type: "user" + their user id. The direct chat appears by itself |
| Open a topic not tied to any message | a standalone thread | pachca_create_unattached_thread. The creator is its only member and its owner: can remove members and delete their messages, cannot leave or be removed. Add members with pachca_add_members by its chat_id, then write with a mention of each: adding notifies nobody |
| A new chat | only when asked explicitly | pachca_create_chat (not available to a multi-guest) |
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- today Changed · +25 lines · +21 tokens per session 5c4d7b475bcd
- 3d ago First seen · 148 lines · 295 tokens per session scan A 95fc26fcacdd
pachca-messaging is a skill published in the GitHub repository pachca/openapi (11 stars, last pushed yesterday), licensed MIT. It adds 316 tokens to every session and 6,369 once invoked, about $0.0013 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-29.
Other skills, from other repositories
zafiro-config
Read or change Zafiro's own settings by editing the JSON files in its sandbox. Use this whenever the user asks to see, explain, change, add or remove Zafiro configuration — agent profiles, execution rules, takeover rules, MCP servers, custom Python tools, text actions, saved LLM configs, or app preferences such as…
e2a
Use when operating an already-connected e2a inbox over MCP: reading, composing, sending, replying, forwarding, handling attachments, managing contacts/outreach, scheduling mail, or using templates. Teaches correct threading, conversation correlation, concise multipart composition, and accepted/pending-review no-retry…
extension-upload
Package a script tool under /.config/agenvoy/tools/script/ into a tar.gz and publish to pkg.agenvoy.com registry. Keyword picker, dep/key detection, config-stored email (ask + lowercase + persist), ask version, email verification gate, multipart upload with downgrade/unique guards.
rem-cli
Create, list, update, complete, tag, and search macOS Reminders via the rem CLI. Use when the user wants to manage Apple Reminders from the terminal, automate reminder workflows, reference reminders in shell scripts, or schedule anything on macOS.
bookmark
Save and organize links for later reading. Use when: user wants to save a URL, manage bookmarks, find a saved link. Don't use when: user just wants to read/fetch a URL (use webfetch) or research a topic (use research skill).
briefing
Provide a personalized daily briefing with news, weather, and reminders. Use when: user asks for a briefing, morning update, daily summary, or 'what's new today'. Don't use when: user asks about a single specific topic like just weather or just news (use those skills instead).