Skip to content
cccskills
FreePublished on GitHubEnglish overview

agent-testing-bot

Use this skill to run end-to-end acceptance checks for bot channels in real desktop chat apps. It drives apps such as Discord, Slack, Telegram, WeChat, Lark, and QQ to send a message, wait for a response, and capture the result.

OriginalShow the original description

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.

lobehub/lobehub83,502 stars(GitHub 83,502 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Checking a bot response in a real Discord channel
  • Testing chat behavior through Slack or Telegram
  • Capturing a bot interaction in a native macOS app

Overview

What it does

This skill supports acceptance checks of bot channels in real chat apps. For Discord, Slack, Telegram, WeChat/微信, Lark/飞书, and QQ, it opens the app, navigates to a channel or contact, sends a message, waits for a reply, and captures the result window. iMessage is handled through a BlueBubbles bridge. The process has planning, execution, and finish phases, and its reporting and ingestion follow the generic acceptance skill.

When it helps

Use it when a change affects a bot channel and you need to check the real conversation path in a native app, beyond what a web page or CLI can show. It supports checks that include native app interaction and a screen capture.

Example requests

  • “Send a message to the bot in this Discord channel and check its reply.”
  • “Run an acceptance check for the bot in Slack and save the result screen.”

Notes

This skill is for macOS only. The target native app must be open and logged in. Screen capture requires macOS Screen Recording permission. It cannot run headlessly or in the cloud.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
BPartly lackingIt sends messages in real apps, but the excerpt gives no message approval step.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingIt requires macOS, a logged-in app, and screen-recording permission.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 26, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (16)

  • SKILL.md4.1 KB
  • discord/index.md2.3 KB
  • discord/test-discord-bot.sh2.0 KB
  • imessage/index.md10.9 KB
  • imessage/send-imessage-test.sh3.4 KB
  • imessage/test-imessage-bridge.sh10.1 KB
  • lark/index.md1.5 KB
  • lark/test-lark-bot.sh2.5 KB
  • qq/index.md1.2 KB
  • qq/test-qq-bot.sh2.2 KB
  • slack/index.md1.5 KB
  • slack/test-slack-bot.sh2.0 KB
  • telegram/index.md1.7 KB
  • telegram/test-telegram-bot.sh2.5 KB
  • wechat/index.md1.8 KB
  • wechat/test-wechat-bot.sh2.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

acceptance

FreeSummary

Use this skill to verify a delivery by exercising the real product through a suitable surface such as a CLI, web app, desktop app, or iOS Simulator. It helps create or find a verification plan, capture evidence, and publish an acceptance report.

  • Verifying a completed product change
  • Collecting screenshots or other evidence
  • Creating a verification plan and report
lobehub/lobehub83.5KUpdated Oct 26, 2026

Use this skill to add an AI model provider to LobeHub across runtime integration, model cards, settings, branding, documentation, and acceptance checks. It also covers provider documentation updates and distinguishes new providers from models added to an existing provider.

  • Integrating a new AI model provider into LobeHub
  • Updating setup or usage documentation for a provider
  • Checking whether a model needs a new provider integration
lobehub/lobehub83.5KUpdated Oct 26, 2026

add-setting-env

FreeSummary

Use this skill to add a server-side environment variable that sets a default for a user setting. It walks through validation, server configuration and store merging, plus updating the example environment file and self-hosting documentation.

  • Adding an environment variable for a setting default
  • Wiring a new setting domain into server config
  • Documenting a new variable for self-hosting
lobehub/lobehub83.5KUpdated Oct 26, 2026

Provides guidance for registering hooks around an agent’s execution steps, tool calls, human approvals, context compression, and sub-agent calls. Hooks can observe events, supply local mock tool results, or use webhooks to allow or deny tool results under configured policies.

  • Observing agent steps and tool errors
  • Mocking tool results during local execution
  • Requiring webhook decisions before or after a tool call
lobehub/lobehub83.5KUpdated Oct 26, 2026

agent-signal

FreeSummary

Build event-driven background workflows for agents by defining sources, interpreting them as signals, and running actions through policies. It also guides asynchronous handoffs, deduplication, scoped execution, completion receipts, and observability.

  • Adding a new event source to an agent workflow
  • Routing interpreted signals to concrete background actions
  • Enqueuing work for asynchronous processing
lobehub/lobehub83.5KUpdated Oct 26, 2026

agent-tracing

FreeSummary

Inspect recorded agent runs by operation ID to see failed tool calls, their arguments and results, available tools, execution context, and LLM inputs. The CLI also supports context maps and replaying recorded calls with different models for comparison.

  • Finding why an agent tool call failed
  • Checking which tools and context an operation received
  • Viewing the messages sent to an LLM
lobehub/lobehub83.5KUpdated Oct 26, 2026

See all skills by lobehub

Report a problem with this skill