qqbot-media

qqbot-media is a skill for Claude Code, Codex from nanoAgentTeam/research-claw. It costs 21 tokens per session (1,048 once invoked), scanned A, original, MIT.

A guide for sending local or online images to users through QQ Bot using special image tags.

In plain words
What is it for?
Use it when sending one or more JPG, PNG, GIF, WebP, or BMP images from a local absolute path or a web URL.
Why use it?
It explains the required format so images are sent as media rather than shown only as file paths.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /Users/xxx/images/photo.jpg.

Good fit Use it when sending one or more JPG, PNG, GIF, WebP, or BMP images from a local absolute path or a web URL.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.

Made for: Claude Code, Codex.

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

agentmods badge for qqbot-media

README.md
[![agentmods](https://agentmods.dev/badge/skills/nanoagentteam/research-claw/qqbot-media/github.svg)](https://agentmods.dev/skills/nanoagentteam/research-claw/qqbot-media)
Your own site
<a href="https://agentmods.dev/skills/nanoagentteam/research-claw/qqbot-media"><img src="https://agentmods.dev/badge/skills/nanoagentteam/research-claw/qqbot-media/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.

agentmods 80×15 button for qqbot-media

Your own site · 80×15
<a href="https://agentmods.dev/skills/nanoagentteam/research-claw/qqbot-media"><img src="https://agentmods.dev/badge/skills/nanoagentteam/research-claw/qqbot-media.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 21 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,048 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00021 $0.01048
Opus 5 $0.00010 $0.00524
Sonnet 5 $0.00004 $0.00210
Haiku 4.5 $0.00002 $0.00105

Measured 10d ago against content hash 8667117a16d1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

qqbot-media 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 10d 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.

channels/im_api/qq/skills/qqbot-media/SKILL.md · 139 lines

What it actually says

QQBot 媒体发送指南

⚠️ 重要:你有能力发送本地图片!

当用户要求发送本地图片时,只需使用 <qqimg> 标签包裹图片路径即可。系统会自动处理文件读取和发送。

不要说"无法发送本地图片"!使用正确的标签格式,系统就能发送。


📸 发送图片(推荐方式:<qqimg> 标签)

使用 <qqimg> 标签包裹图片路径,即可发送图片:

<qqimg>图片路径</qqimg>

✅ 发送本地图片示例

当用户说"发送那张图片"、"把图发给我"等,你应该输出:

这是你要的图片:
<qqimg>/Users/xxx/images/photo.jpg</qqimg>

✅ 发送网络图片示例

这是网络上的图片:
<qqimg>https://example.com/image.png</qqimg>

✅ 发送多张图片

这是你要的所有图片:
<qqimg>/Users/xxx/image1.jpg</qqimg>
<qqimg>/Users/xxx/image2.png</qqimg>

📝 标签说明

格式 说明
<qqimg>本地路径</qqimg> 发送本地图片(绝对路径)
<qqimg>网络URL</qqimg> 发送网络图片
<qqimg>路径</img> 也支持此闭合方式

⚠️ 注意事项

  1. 路径必须正确:本地文件需要绝对路径,网络图片需要完整 URL
  2. 支持的图片格式:jpg, jpeg, png, gif, webp, bmp
  3. 不要拒绝:如果用户要求发送本地图片,直接使用 <qqimg> 标签即可
  4. 标签外的文本会正常发送:可以在标签前后添加描述文字
  5. 闭合标签:支持 </qqimg></img> 两种闭合方式

🚫 错误示例(不要这样做)

错误:说"我无法发送本地图片" ❌ 错误:说"受限于技术限制,无法直接发送" ❌ 错误:只提供路径文本,不使用 <qqimg> 标签

正确:直接使用 <qqimg> 标签包裹路径


🔤 告知路径信息(不发送图片)

如果你需要告知用户图片的保存路径(而不是发送图片),直接写路径即可,不要使用标签:

图片已保存在:/Users/xxx/images/photo.jpg

或用反引号强调:

图片已保存在:`/Users/xxx/images/photo.jpg`

📋 高级选项:JSON 结构化载荷

如果需要更精细的控制(如添加图片描述),可以使用 JSON 格式:

QQBOT_PAYLOAD:
{
  "type": "media",
  "mediaType": "image",
  "source": "file",
  "path": "/path/to/image.jpg",
  "caption": "图片描述(可选)"
}

JSON 字段说明

字段 类型 必填 说明
type string 固定为 "media"
mediaType string 媒体类型:"image"
source string 来源:"file"(本地)或 "url"(网络)
path string 图片路径或 URL
caption string 图片描述,会作为单独消息发送

💡 提示:对于简单的图片发送,推荐使用 <qqimg> 标签,更简洁易用。


🎯 快速参考

场景 使用方式
发送本地图片 <qqimg>/path/to/image.jpg</qqimg>
发送网络图片 <qqimg>https://example.com/image.png</qqimg>
发送多张图片 多个 <qqimg> 标签
告知路径(不发送) 直接写路径文本
Changes

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.

  1. 10d ago First seen · 139 lines · 21 tokens per session scan A 8667117a16d1

Subscribe to this mod's changes

qqbot-media is a skill published in the GitHub repository nanoAgentTeam/research-claw (292 stars, last pushed 3mo ago), licensed MIT. It adds 21 tokens to every session and 1,048 once invoked, about $0.0001 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.

Related

Other skills, from other repositories

aythya

Skill "aythya" from markmhendrickson/ateles, covering aythya — visual & brand designer, identity, principals, job and positioning-to-visual anchors.

markmhendrickson/ateles · 0 tokens

nucifraga

Skill "nucifraga" from markmhendrickson/ateles, covering nucifraga — personal-enrichment agent, identity, sovereignty hard line (non-negotiable), context ladder (load before acting) and method.

markmhendrickson/ateles · 0 tokens

import-audio

Import and transcribe audio files from Desktop and Voice Memos. Use when user says "import audio", "import audio files", "transcribe audio from desktop", or "import voice memos". Can be invoked via /import-audio.

markmhendrickson/ateles · 53 tokens

imagine

How to use the imagegen and imageedit tool calls in Grok Build: when to build a visual with code instead of generating it, prompt-craft, reference-first handling of real people, factual grounding, and asset-consistency. Load this whenever generating or editing an image is on the table, i.e. when an imagegen or…

RoyZhao1991/LingShu · 97 tokens

html-artifact

Create polished single-file HTML artifacts for plans, reports, explainers, code reviews, lightweight dashboards, prototypes, and one-off editing tools. Use when the user asks for a standalone HTML file, single HTML, HTML artifact, interactive report, shareable local artifact, Alpine.js artifact, custom CSS artifact…

CherryHQ/stella · 80 tokens

video-generation

Guide to video generation in MassGen. Use when creating videos from text prompts or images across Grok, Google Veo, and OpenAI Sora backends.

massgen/MassGen · 36 tokens