agent-testing-bot

v2026.09.24

Use for real bot-channel acceptance in Discord, Slack, Telegram, WeChat/Weixin, Lark/Feishu, QQ or iMessage on macOS. Extends acceptance with native chat apps.

GitHub
Install command
npx skhub add lobehub/agent-testing-bot
Markdown
SKILL.md

Agent Testing — Bot Channels (LobeHub project skill)

This skill extends the generic acceptance skill (installed alongside at ../acceptance/) to the bot-channel surfaces. It does NOT replace the core process: the same three phases apply —

PLAN (Steps 0–2) → EXECUTE (Steps 3–6) → FINISH (Step 7)

— and the same report + publish pipeline (result.json → report-init.sh → lh acceptance run ingest … --source agent-testing). Read the acceptance skill's SKILL.md for target grounding, the living logs, the Phase-1 approval gate, the report format, and teardown. This file only adds the bot-channel surface.

For LobeHub environment/auth/probe specifics (dev server, seeded account, ports), the adapter is .agents/acceptance/PROJECT.md.

When this surface applies

Change scopeSurfaceWhy
Bot channels (Discord / WeChat / Lark / …)Native app via osascript / bridgeOnly way to exercise the real channel end-to-end

Route here only when the behavior under test is a bot channel. For CLI / Web / Electron changes, use the generic skill's surfaces.

Platforms

Each platform folder has an index.md (activation, navigation, send-message, verification snippets) and a test-<platform>-bot.sh driver.

PlatformGuideQuick switcher
Discorddiscord/index.mdCmd+K
Slackslack/index.mdCmd+K
Telegramtelegram/index.mdCmd+F
WeChat / 微信wechat/index.mdCmd+F
Lark / 飞书lark/index.mdCmd+K
QQqq/index.mdCmd+F
iMessageimessage/index.mdbridge (no osascript)

Shared driver contract

Every osascript platform script shares one interface:

./$PLATFORM/test-$PLATFORM-bot.sh $CHANNEL_OR_CONTACT $MESSAGE [$WAIT_SECONDS] [$SCREENSHOT_PATH]

The script activates the app, navigates to the channel/contact, sends the message, waits, and screenshots the result window (via the project adapter's ../../acceptance/scripts/capture-app-window.sh, which runs the installed acceptance skill's screen-recording preflight). iMessage is the exception: it uses a BlueBubbles bridge, not osascript — see imessage/index.md.

osascript prerequisites

The osascript platforms drive real macOS apps (activate, keystroke, click, read accessibility, screenshot). Read the generic skill's general macOS-automation reference before a first bot run: ../../acceptance/references/osascript.md. The target native app must already be running and logged in.

Screen-recording gate (macOS-only)

Bot evidence is captured with OS-level screencapture (through capture-app-window.sh), NOT CDP — so it comes out entirely black when macOS Screen Recording (TCC) permission is missing OR the display is asleep / locked / on a screensaver. Gate BEFORE any bot capture:

bash .agents/skills/acceptance/scripts/check-screen-recording.sh

Only exit 0 confirms both permission and a measured non-black frame. Missing tools or an undetermined check must block capture, not count as a pass.

Keep the display awake for the whole capture session (caffeinate -dimsu &, kill when done). Because this surface depends on OS capture and native macOS apps, bot channels are macOS-only — they do not run headless / in cloud.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

NOASSERTION

Source path

.agents/skills/agent-testing-bot

Default branch

canary

Latest commit

c442652

Tree SHA

cb7e703