自动监控 App Store 评论,为 1-3 星差评自动生成温暖、符合品牌调性的回复,让不满意的用户快速得到反馈。连接 App Store...
复写 STELLE.是一项面向实际任务的技能,主要用于Automic App Store 复写 显示器、 答覆 起草器和模式检测器;监控 App Store 连接 用于新的复写, 使用 Claud 起草 1–3 的 温暖的 网上复写。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
自动化 App Store 评论监控、回复草稿生成与问题模式识别工具。通过监控 App Store Connect 获取新评论,针对 1–3 星评论调用 Claude 生成温暖且符合品牌调性的回复草稿;自动识别高频重复投诉并触发 Bug 告警;每日上午 8 点向 Telegram 推送待审批回复队列。
skills/review-reply/
├── SKILL.md # 本文件 — AI 指令与技能规范
├── README.md # 完整使用文档与配置指南
├── scripts/
│ ├── monitor.py # 轮询 App Store Connect API 获取新评论
│ ├── draft_reply.py # 基于 Claude 生成温暖且符合品牌调性的回复草稿
│ ├── pattern_detector.py # 将高频重复投诉识别为 Bug 告警
│ └── queue_manager.py # 管理审批队列,推送每日上午 8 点 Telegram 汇总消息
├── references/
│ ├── app-store-connect-api.md # API 认证配置(JWT、密钥、端点)
│ └── reply-guidelines.md # 品牌语调、语气、注意事项(Do’s & Don’ts)
├── templates/
│ └── reply-prompts.md # 按星级划分的 Claude 提示词模板
└── data/
├── reviews.json # 原始评论存储(自动创建)
├── queue.json # 待审批队列(自动创建)
└── metrics.json # 回复率、响应时效、评分趋势等指标(自动创建)
脚本: scripts/monitor.py
/v1/apps/{id}/customerReviewsdata/reviews.json(跳过已处理过的 ID)draft_reply.pypattern_detector.pydata/metrics.jsonpython3 scripts/monitor.py{
"id": "string",
"app_id": "string",
"app_name": "string",
"rating": 1,
"title": "string",
"body": "string",
"reviewer": "string",
"territory": "string",
"created_date": "ISO8601",
"fetched_at": "ISO8601",
"reply_status": "pending|drafting|approved|posted|rejected|skipped",
"draft_reply": "string|null",
"approved_reply": "string|null",
"replied_at": "ISO8601|null"
}
脚本: scripts/draft_reply.py
templates/reply-prompts.md 中选取对应提示词模板data/queue.json,状态设为 pendingskipped){
"review_id": "string",
"app_name": "string",
"rating": 2,
"review_title": "string",
"review_body": "string",
"draft_reply": "string",
"drafted_at": "ISO8601",
"status": "pending",
"approved_reply": null,
"posted_at": null
}
脚本: scripts/pattern_detector.py
data/reviews.json 中最近 7 天的所有评论🚨 *Pattern Alert — FeedFare* Complaint: "Feed not refreshing / stuck on loading" Count: 5 reviews in the last 7 days Rating avg: 1.8★ Recent examples: • "App is broken, feed never loads" — 1★ (2026-02-18) • "Stuck on spinning wheel for days" — 2★ (2026-02-17) • "Used to work great, now broken" — 2★ (2026-02-16) 👉 Likely bug. Recommend investigating feed refresh logic.
data/metrics.json 的 pattern_alerts 字段中脚本: scripts/queue_manager.py
每天上午 8:00(本地时区),queue_manager.py 向 Telegram 发送一条消息,汇总当前所有待审批回复:
📱 *ReviewReply Morning Queue — 3 Pending* ━━━━━━━━━━━━━━━━━━━ 1️⃣ *FeedFare* — 2★ by @user123 (Feb 18) "App crashes every time I open it" 📝 *Draft Reply:* "Hi there! We're so sorry to hear about the crashes — that's definitely not the experience we want for you. Our team just pushed a fix in v2.1.1 that addresses the crash on launch. Please update and let us know if it helps! 🙏" ✅ /approve_1 ✏️ /edit_1 ❌ /reject_1 ━━━━━━━━━━━━━━━━━━━ 2️⃣ *FeedFare* — 1★ by @disappointed_dev (Feb 18) ... ━━━━━━━━━━━━━━━━━━━ 📊 Stats: 12 reviewed · 8 replied · 67% response rate
/approve_N — 标记为已批准,并发布至 App Store Connect/edit_N — 替换草稿内容为编辑后文本,并标记为已批准/reject_N — 标记为已拒绝(不发送任何回复),并从队列中移除/skip_N — 标记为跳过(永不回复),并从队列中移除new review
│
▼
[drafting] → draft failed → [error]
│
▼
[pending] ←→ [edited]
│
├─ approve → [approved] → post API → [posted]
├─ reject → [rejected]
└─ skip → [skipped]
当某条回复被批准后:
queue_manager.py 调用 App Store Connect API → POST /v1/customerReviewResponsesdata/queue.json 中将该条目状态更新为 postedreplied_at 时间戳数据文件: data/metrics.json
| 指标 | 说明 |
|---|---|
total_reviews |
各应用历史累计评论总数 |
reviews_this_week |
滚动 7 日评论数 |
avg_rating |
各应用当前平均星级评分 |
rating_trend |
相较前一个 7 日周期的变化趋势 |
response_rate |
已批准/已发布的 1–3★ 评论占比 |
avg_response_time_hrs |
从评论发布到回复发布的平均耗时(小时) |
pending_count |
当前队列中待审批数量 |
posted_count |
已成功发布的回复数 |
rejected_count |
被主动拒绝(不回复)的数量 |
pattern_alerts |
已发送模式告警的历史记录 |
说出 “review metrics” 或 “how are my apps doing?”,AI 将读取 data/metrics.json 并格式化输出摘要。
AI 支持以下自然语言指令:
| 用户输入 | AI 行动 |
|---|---|
| "check for new reviews" | 执行 python3 scripts/monitor.py |
| "show pending replies" | 读取 data/queue.json,列出所有 pending 条目 |
| "approve reply 3" | 执行 python3 scripts/queue_manager.py --approve 3 |
| "edit reply 2: |
执行 python3 scripts/queue_manager.py --edit 2,再通过 stdin 或临时文件传入文本 — 绝不将用户输入直接拼接到 shell 字符串中 |
| "reject reply 1" | 执行 python3 scripts/queue_manager.py --reject 1 |
| "draft a reply for review X" | 执行 python3 scripts/draft_reply.py --review-id X |
| "how are my apps doing?" | 读取 data/metrics.json,格式化输出摘要 |
| "show me recent reviews" | 读取 data/reviews.json,展示最近 10 条 |
| "any patterns this week?" | 执行 python3 scripts/pattern_detector.py --report |
| "response rate?" | 读取指标数据,显示各应用的 response_rate |
| "add app MyApp 1234567890" | 向 monitor.py 的 APPS 配置中添加应用 |
| 变量 | 说明 |
|---|---|
APP_STORE_KEY_ID |
App Store Connect API 密钥 ID |
APP_STORE_ISSUER_ID |
App Store Connect Issuer ID |
APP_STORE_PRIVATE_KEY_PATH |
.p8 私钥文件路径 |
ANTHROPIC_API_KEY |
Claude API 密钥(用于生成回复草稿) |
TELEGRAM_BOT_TOKEN |
Telegram Bot Token(用于通知) |
TELEGRAM_CHAT_ID |
你的 Telegram 聊天 ID |
请将这些变量存入 ~/.openclaw/.env,或在 shell 配置文件中导出。
# App Store 评论监控 — 每 4 小时执行一次 0 */4 * * * cd /Users/nick/.openclaw/workspace && python3 skills/review-reply/scripts/monitor.py >> /tmp/review-reply.log 2>&1 # 每日审批队列 — 每天上午 8 点执行 0 8 * * * cd /Users/nick/.openclaw/workspace && python3 skills/review-reply/scripts/queue_manager.py --send-digest >> /tmp/review-reply.log 2>&1
LaunchAgent plist 配置详见 README.md。
所有数据均存放于 data/ 目录下,采用纯 JSON 格式 — 易于查看、备份与迁移。
| 文件 | 用途 |
|---|---|
data/reviews.json |
所有已获取评论,每条评论为一个 JSON 对象 |
data/queue.json |
活跃回复队列(含 pending / approved / rejected 条目) |
data/metrics.json |
聚合指标数据及模式告警历史 |
cp -r skills/review-reply/data/ ~/review-reply-backup/
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章