academy-guide
Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends…
Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt-in. Maintains per-group history (history.json + history-digests.jsonl),
Claude Code
$ npx -y skills add guanyang/open-agent-hub --skill baoyu-wechat-summary --agent claude-code
Codex
$ npx skills add guanyang/open-agent-hub --skill baoyu-wechat-summary -a codex -y
Cursor
$ npx skills add guanyang/open-agent-hub --skill baoyu-wechat-summary -a cursor -y
Gemini CLI
$ npx skills add guanyang/open-agent-hub --skill baoyu-wechat-summary -a gemini-cli -y
GitHub Copilot
$ npx skills add guanyang/open-agent-hub --skill baoyu-wechat-summary -a github-copilot -y
OpenCode
$ npx skills add guanyang/open-agent-hub --skill baoyu-wechat-summary -a opencode -y
Windsurf
$ npx skills add guanyang/open-agent-hub --skill baoyu-wechat-summary -a windsurf -y
name: baoyu-wechat-summary
description: Summarizes WeChat group chat highlights into a structured digest using the local wx-cli binary (https://github.com/jackwener/wx-cli). Generates a normal digest by default; a roast (毒舌) version is opt-in. Maintains per-group history (history.json + history-digests.jsonl), per-user profiles, and per-group fact memory (memory.md) across runs, with privacy guardrails baked in. Use when the user asks to "总结群聊", "群聊精华", "群聊摘要", "summarize group chat", "group chat digest", mentions a WeChat group name with a time range, says "帮我看看 XX 群最近聊了什么", "XX 群有什么值得看的", or asks to "回溯画像" / "初始化画像" / "backfill profiles". Adds the roast version when the user says "毒舌版", "roast 版", "再来个毒舌的", or similar.
version: 1.119.0
metadata:
openclaw:
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-wechat-summary
requires:
anyBins:
- wx群聊精华提取专家。把零散的微信群聊记录提炼成结构化、可读性强的简报,并维护跨次运行的群聊历史与群友画像。底层依赖外部 [wx-cli](https://github.com/jackwener/wx-cli) 二进制(`wx` 命令),不打包脚本。
> **⚠️ Sandbox restriction** > > wx-cli reads from `~/.wx-cli/` (config, cache, daemon socket) and from WeChat's data directory (`~/Library/Containers/com.tencent.xinWeChat/` on macOS). Both paths are outside Claude Code's default sandbox. Every `wx` command in this skill needs to run with `dangerouslyDisableSandbox: true` from the start — don't waste a sandbox attempt first. The user can use `/sandbox` to view/edit restrictions.
本文件只保留工作流骨架;细节拆在 `references/` 下,**执行到对应步骤时再读,不要一开始全部读入**:
| 参考文件 | 内容 | 何时读 | |---------|------|-------| | [references/setup.md](references/setup.md) | 环境检查(wx-cli 安装/权限/初始化)、wx-cli 命令速查、排障手册 | 新环境首次运行,或任何 `wx` 命令失败时 | | [references/output-formats.md](references/output-formats.md) | 两版摘要的 Section 顺序、格式与内容规范、输出骨架、自检清单 | Round 2 动笔前 | | [references/profiles.md](references/profiles.md) | 画像文件格式、更新规则、隐私红线、回溯流程 | Step 3.7 / 8.5 / Step 9 | | [references/group-memory.md](references/group-memory.md) | 群级事实记忆的写入门槛、防注入、格式 | Step 8.6 | | [references/preferences.md](references/preferences.md) | EXTEND.md 支持的键、首次配置流程 | 解析/写入 EXTEND.md,或未找到 EXTEND.md 时 | | [references/bot-requests.md](references/bot-requests.md) | @bot 请求的提取、误触过滤、答复来源约束 | Step 3.9 有命中时 |
When this skill prompts the user, follow this tool-selection rule (priority order):
1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent. 2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question. 3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.
快速验证环境:`wx --version` 有输出且 `wx sessions` 返回数据即可继续。任何一步失败,或是首次在新环境运行 → 读 [references/setup.md](references/setup.md)(完整环境检查、wx-cli 命令速查、排障手册),停在第一个失败项并给用户确切的修复命令。**绝不自动安装、绝不替用户跑 `sudo`。**
Check EXTEND.md in priority order — the first one found wins:
| Priority | Path | Scope | |----------|------|-------| | 1 | `.baoyu-skills/baoyu-wechat-summary/EXTEND.md` (relative to project root) | Project | | 2 | `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-wechat-summary/EXTEND.md` | XDG | | 3 | `$HOME/.baoyu-skills/baoyu-wechat-summary/EXTEND.md` | User home |
| Result | Action | |--------|--------| | Found | Read, parse, apply. On first use in session, briefly remind: "Using preferences from [path]. Edit it to change defaults." | | Not found | **MUST** run first-time setup (BLOCKING) before generating any digest — do NOT silently use defaults. |
Supported keys (`self_wxid`, `self_display`, `default_version`, `default_time_range`, `data_root`, `bot_aliases`) and the first-time setup flow are in [references/preferences.md](references/preferences.md) — read it when parsing or writing EXTEND.md, and before running first-time setup.
Extract:
Convert relative ranges into absolute `--since YYYY-MM-DD --until YYYY-MM-DD` pairs using today's local date.
wx contacts --query "<group_name>" --json
Filter for entries whose `username` ends in `@chatroom`. If multiple groups match, use `AskUserQuestion` to disambiguate. If none match, fall back to `wx sessions --json` and search there before asking the user.
Once resolved, compute the folder path:
{data_root}/{group_id}-{sanitized_group_name}/where `data_root` is from EXTEND.md (default `{project_root}/wechat`).
**Sanitize the group name** — replace any of `/ \ : * ? " < > | NUL` and control characters with `_`. Trim trailing dots and whitespace. Don't strip emoji or Chinese ch
A lightweight, zero-dependency CLI tool to manage and activate capabilities for AI coding assistants (such as Claude Code, Cursor, Trae, etc.).
Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends…
This skill should be used for advanced LLM evaluation: LLM-as-judge systems, direct scoring, pairwise comparison, rubric…
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request…
Analyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style × Palette…
Knowledge comic creator supporting multiple art styles and tones. Creates original educational comics with detailed panel layouts…
Compresses images to WebP (default) or PNG with automatic tool selection. Use when user asks to "compress image", "optimize…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.