agent-testing-bot

Automates bot-channel acceptance testing across Discord, Slack, Telegram, WeChat, Lark, QQ, and iMessage on macOS.

Updated Jan 27, 2026
One-click install
npx skills add https://github.com/SmallAi-API/smaihub --skill agent-testing-bot-smallai-api
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: agent-testing-bot
Source: https://github.com/SmallAi-API/smaihub/tree/main/.agents/skills/agent-testing-bot
Command: npx skills add https://github.com/SmallAi-API/smaihub --skill agent-testing-bot-smallai-api

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Testing chat bot integrations end-to-end requires driving real native messaging apps, which cannot be done headless or through standard web automation. This Skill extends the generic agent-testing workflow to bot channels by driving Discord, Slack, Telegram, WeChat, Lark, QQ, and iMessage via osascript or a BlueBubbles bridge, capturing screenshot evidence of bot responses. ## Core Features & Use Cases - Cross-platform bot drivers: Per-platform shell scripts activate the native app, navigate to a channel or contact, send a message (clipboard paste for CJK support), wait, and screenshot the response. - iMessage bridge regression testing: A dedicated script exercises the Electron imessageBridge IPC handlers, the local BlueBubbles webhook server, and the BlueBubbles REST API, asserting config save, webhook registration, and secret enforcement. - Screen-recording gate: Verifies macOS Screen Recording (TCC) permission before capture so screenshots are not black. - Use Case: After changing the Lark bot channel code, run the Lark driver to send a message to a test bot, wait 30 seconds, and capture the response window as acceptance evidence. ## Quick Start Ask the agent to run the Discord bot test by sending "!ping" to the bot-testing channel and capturing the response screenshot.

Frequently Asked Questions about agent-testing-bot

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test a Discord or Slack bot on macOS automatically?

Run the platform driver script with a channel name and message, for example test-discord-bot.sh "bot-testing" "!ping". It activates the app, navigates via the Quick Switcher, sends the message, waits, and captures a screenshot of the response.

How to send Chinese characters to WeChat or QQ bots from a script?

Use clipboard paste instead of osascript keystroke, which mangles CJK input. The WeChat, QQ, and Lark scripts set the clipboard to the message text and paste with Cmd+V before pressing Enter.

Why are my bot test screenshots completely black on macOS?

Black screenshots mean macOS Screen Recording (TCC) permission is missing or the display is asleep or locked. Run the check-screen-recording.sh gate first and keep the display awake with caffeinate during capture.

Can these bot channel tests run headless or in CI?

No. The osascript platforms drive real native macOS apps and rely on OS-level screencapture, so they require a logged-in macOS GUI session. Bot channels do not run headless or in cloud environments.

How do I regression-test the iMessage BlueBubbles bridge?

Run test-imessage-bridge.sh with your BlueBubbles password while Electron dev runs with CDP. It asserts testConfig, first-time upsertConfig, webhook registration, and local bridge secret enforcement, then cleans up its own config.