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/xuiltul/animaworks/image-postingnpx skills add xuiltul/animaworks --skill image-postinggit clone --depth 1 https://github.com/xuiltul/animaworksWrote 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/xuiltul/animaworks/image-posting)<a href="https://agentmods.dev/skills/xuiltul/animaworks/image-posting"><img src="https://agentmods.dev/badge/skills/xuiltul/animaworks/image-posting.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.00047 | $0.00688 |
| Opus 5 | $0.00023 | $0.00344 |
| Sonnet 5 | $0.00009 | $0.00138 |
| Haiku 4.5 | $0.00005 | $0.00069 |
Grade A, and why
image-posting 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 3d 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 — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
image-posting — Displaying Images in Chat Responses
Overview
There are two ways to include images in chat responses:
- Auto-extraction from tool results — When tool results contain image URLs or paths, the framework auto-detects and displays them in the chat bubble
- Markdown image syntax — Write
in response text for frontend rendering
Method 1: Auto-Display from Tool Results
When a tool (web_search, image_gen, etc.) returns results containing image information, the framework automatically displays images in the chat bubble. No special action needed.
Auto-Detection Rules
The following patterns in tool result JSON are detected as images:
- Path detection: Paths starting with
assets/orattachments/→source: generated(trusted) - URL detection: URLs starting with
https://ending in.png.jpg.jpeg.gif.webp→source: searched(proxied) - Key detection: Values under
image_url,thumbnail,src,urlkeys with image URLs
Up to 5 images per response.
Proxy Restrictions for Searched Images
External URL images are served through a security proxy. Allowed domains:
cdn.search.brave.comimages.unsplash.comimages.pexels.comupload.wikimedia.org
Image URLs from other domains are blocked by the proxy.
Method 2: Markdown Image Syntax
Write Markdown image syntax directly in response text to display images.
Short Paths (Recommended)
The frontend automatically prepends the API path with your Anima name. Just write the filename:


Example:
Here's a screenshot!

Full Paths
You can also write the full API path explicitly:


Saving Screenshots
When taking screenshots with agent-browser, save directly to your own attachments directory:
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.
- 3d ago First seen · 99 lines · 47 tokens per session scan A 69ad7238cbcb
image-posting is a skill published in the GitHub repository xuiltul/animaworks (254 stars, last pushed 4d ago), licensed Apache-2.0. It adds 47 tokens to every session and 688 once invoked, about $0.0002 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-30.
Other skills, from other repositories
hive.browser-automation
Required before any hive-browser CLI command. The browser is driven from the terminal by running hive-browser ... --json via terminalexec — not via MCP tools. Teaches the browser lifecycle rules (the bridge attaches to the USER'S running Chrome — never kill or launch browser processes; timeouts are transport issues…
hive.linkedin-automation
Read before automating LinkedIn with browser tools. LinkedIn combines shadow DOM (#interop-outlet), strict Trusted Types CSP that silently drops innerHTML, Lexical composer, native beforeunload dialogs that hang the bridge, and aggressive spam filters — each has bitten us at least once. Verified flows for profile…
hive.worker-delegation
Concrete patterns for breaking colony work into parallel worker jobs via runplaybook — when fan-out helps, how to model the goal as a tracker table, write the worker skill, author the playbook, pilot, and let convergence retry/resume the gap.
hive.x-automation
Read before automating X / Twitter with browser tools. Verified flows for post, reply, delete, search-and-engage, plus the Draft.js compose quirks that silently disable the send button. Includes the daily-reply and job-market-reply playbooks. Requires hive.browser-automation for the underlying screenshot + coordinate…
hive.slack-notifications-setup
Set up a Slack notification channel (Sentinel) for a colony by driving the browser — reuse or create the "Hive Sentinel" Slack app from a JSON manifest, install it, capture the bot + app tokens, create/select the channel via the Slack API, and turn Sentinel on so the colony can ping the user on Slack and accept…
hive.writing-hive-skills
Author a new Agent Skill for a Hive agent that conforms to the Agent Skills specification (SKILL.md with YAML frontmatter, optional scripts/references/assets directories). Use when the user asks to create, scaffold, add, or package a new skill for a Hive agent.