Agent Skillslobehub/lobehub › agent-testing-bot

agent-testing-bot

GitHub

为LobeHub项目提供Discord、微信等即时通讯平台的端到端测试能力,通过macOS原生应用驱动验证Bot消息收发。

.agents/skills/agent-testing-bot/SKILL.md lobehub/lobehub

Trigger Scenarios

test bot bot test test in discord test in telegram test in slack test in wechat

Install

npx skills add lobehub/lobehub --skill agent-testing-bot -g -y
More Options

Non-standard path

npx skills add https://github.com/lobehub/lobehub/tree/canary/.agents/skills/agent-testing-bot -g -y

Use without installing

npx skills use lobehub/lobehub@agent-testing-bot

指定 Agent (Claude Code)

npx skills add lobehub/lobehub --skill agent-testing-bot -a claude-code -g -y

安装 repo 全部 skill

npx skills add lobehub/lobehub --all -g -y

预览 repo 内 skill

npx skills add lobehub/lobehub --list

SKILL.md

Frontmatter
{
    "name": "agent-testing-bot",
    "description": "Bot-channel end-to-end verification for LobeHub — drives the real native chat apps (Discord \/ Slack \/ Telegram \/ WeChat \/ Lark \/ QQ \/ iMessage) via osascript or the iMessage bridge, on macOS. Extends the generic agent-testing skill for bot surfaces. Triggers on 'test bot', 'bot test', 'test in discord', 'test in telegram', 'test in slack', 'test in wechat', 'test in weixin', 'test in lark', 'test in feishu', 'test in qq'."
}

Agent Testing — Bot Channels (LobeHub project skill)

This skill extends the generic agent-testing skill (installed alongside at ../agent-testing/) 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.jsonreport-init.shlh acceptance run ingest … --source agent-testing). Read the generic 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 scope Surface Why
Bot channels (Discord / WeChat / Lark / …) Native app via osascript / bridge Only 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.

Platform Guide Quick switcher
Discord discord/index.md Cmd+K
Slack slack/index.md Cmd+K
Telegram telegram/index.md Cmd+F
WeChat / 微信 wechat/index.md Cmd+F
Lark / 飞书 lark/index.md Cmd+K
QQ qq/index.md Cmd+F
iMessage imessage/index.md bridge (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 generic skill's ../agent-testing/scripts/capture-app-window.sh). 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: ../agent-testing/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:

./.agents/skills/agent-testing/scripts/check-screen-recording.sh # exit 0 = OS capture will work

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.

Version History

  • 29fe043 Current 2026-08-20 18:32

Same Skill Collection

.agents/skills/add-provider-doc/SKILL.md
.agents/skills/add-setting-env/SKILL.md
.agents/skills/agent-runtime-hooks/SKILL.md
.agents/skills/agent-signal/SKILL.md
.agents/skills/agent-tracing/SKILL.md
.agents/skills/agent-work/SKILL.md
.agents/skills/builtin-tool/SKILL.md
.agents/skills/chat-sdk/SKILL.md
.agents/skills/cleanup-git-worktrees/SKILL.md
.agents/skills/cli/SKILL.md
.agents/skills/data-fetching-architecture/SKILL.md
.agents/skills/db-migrations/SKILL.md
.agents/skills/debug-package/SKILL.md
.agents/skills/deep-review/SKILL.md
.agents/skills/design-prototype/SKILL.md
.agents/skills/desktop/SKILL.md
.agents/skills/docs-changelog/SKILL.md
.agents/skills/drizzle/SKILL.md
.agents/skills/heterogeneous-agent/SKILL.md
.agents/skills/hotkey/SKILL.md
.agents/skills/i18n/SKILL.md
.agents/skills/linear/SKILL.md
.agents/skills/llm-generation/SKILL.md
.agents/skills/modal/SKILL.md
.agents/skills/model-bank-metadata/SKILL.md
.agents/skills/product-design/SKILL.md
.agents/skills/project-overview/SKILL.md
.agents/skills/react/SKILL.md
.agents/skills/response-compliance/SKILL.md
.agents/skills/skills-audit/SKILL.md
.agents/skills/spa-routes/SKILL.md
.agents/skills/split-micro-app/SKILL.md
.agents/skills/store-data-structures/SKILL.md
.agents/skills/testing/SKILL.md
.agents/skills/trpc-router/SKILL.md
.agents/skills/typescript/SKILL.md
.agents/skills/upstash-workflow/SKILL.md
.agents/skills/ux-audit/SKILL.md
.agents/skills/ux/SKILL.md
.agents/skills/version-release/SKILL.md
.agents/skills/zustand/SKILL.md
.agents/skills/agent-testing/SKILL.md
.agents/skills/compose-atoms/SKILL.md
.agents/skills/debug-frontend-with-browser/SKILL.md
.agents/skills/pr/SKILL.md
packages/builtin-skills/src/acceptance/SKILL.md

Metadata

Files
0
Version
a06b4e2
Hash
9d978347
Indexed
2026-08-20 18:32

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-30 23:00
浙ICP备14020137号-1 $お客様$