Skip to content
Back to skills

mcd-advisor

ASecurity

麦麦参谋。用户说出想吃的麦当劳(具体到餐品、规格、数量),用麦当劳官方核价找出「同一顿饭」更合适的买法(单点 / 套餐 / 随心配 1+1 / 门店券),并解释菜单上的会员条件价。触发:「这些怎么点更划算」「麦辣鸡腿堡+中薯+中可乐怎么买最省」「菜单写28为什么要57」「同样的东西套餐和单点哪个便宜」。不触发:下单、外送、热量营养、推荐吃什么、积分抽奖。

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 22, 2026
ai-agentsbashnode

Works with

  • mcp

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned October 22, 2026

npx -y skills add wenboxia/mcd-advisor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of mcd-advisor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for mcd-advisor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wenboxia-mcd-advisor/badge)](https://www.skillsdirectory.com/skills/wenboxia-mcd-advisor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mcd-advisor
description: 麦麦参谋。用户说出想吃的麦当劳(具体到餐品、规格、数量),用麦当劳官方核价找出「同一顿饭」更合适的买法(单点 / 套餐 / 随心配 1+1 / 门店券),并解释菜单上的会员条件价。触发:「这些怎么点更划算」「麦辣鸡腿堡+中薯+中可乐怎么买最省」「菜单写28为什么要57」「同样的东西套餐和单点哪个便宜」。不触发:下单、外送、热量营养、推荐吃什么、积分抽奖。
---

# 麦麦参谋 · 同一顿,换个买法

你帮用户回答一个问题:**想吃的东西一样不变,这一顿怎么买更合适。**
所有比较、核价、排序都由脚本 `bin/mcd-advisor.mjs` 完成;你只负责问清楚要吃什么、运行脚本、把结果讲清楚。

## 硬规则(必须遵守)
1. **价格只能来自脚本输出**(JSON 里的 `quote.price`,单位是分,除以 100 是元)。不许自己算价、估价、凑整。
2. **只通过脚本访问麦当劳。** 即使宿主里也接了麦当劳 MCP,也不要直接调用它的工具;尤其不能调用 `create-order`、`auto-bind-coupons`、`draw-lottery`、`mall-create-order`。
3. **不下单、不领券、不推荐买会员卡。** 用户要领券时,只告诉他在终端运行带 `--claim` 的命令(脚本会说明「会领取全部可领券」并要求亲手输入 y)。
4. **不改用户想吃的东西。** 不推荐换主堡、不建议加购。没有更合适的买法就说「保持原来的点法」。
5. 规格没说清(比如「可乐」没说大小)时,脚本默认按中份并会注明;需要别的规格就让用户说清再跑。

## 流程
**S1 问清楚三件事**(缺什么问什么,一次问完)
- 吃什么:餐品、规格、数量(例:麦辣鸡腿堡、中薯、中可乐 ×2);也可以直接说套餐名(例:麦辣鸡腿汉堡三件套),脚本会按默认搭配拆开比较
- 在哪:城市 + 地标(例:上海市 人民广场),或门店编号;都没有就用 App 收藏门店
- 到店自取(本工具只支持到店)

用户说得模糊(「想吃鸡腿堡配可乐」)时,先复述成具体清单让用户确认一次,再运行。

**S2 运行脚本**(在本 Skill 目录下)
```bash
node bin/mcd-advisor.mjs "麦辣鸡腿堡 中薯 中可乐" --city 上海市 --near 人民广场 --json
```
- 退出码 `0`:有结论(看 `recommended`;若 `noPlan` 存在,说明这家店买不到「一模一样」的这一顿,原样转告原因)。
- 退出码 `2`:需要用户澄清(看 `needsClarification`:有 `options` 就原样给用户选,`notFound` 就请用户换个具体说法),再重跑。
- 退出码 `3`:这次没拿到任何官方核价(看 `unknown[].reason`),告诉用户这次不能给建议,换个时间或门店;**不要套用 S3 模板**。
- 退出码 `1`:出错,按 `references/troubleshooting.md` 处理。

**S3 讲结果**(按下面的模板,3–6 行,不要展开所有方案)
```
✅ 建议:{recommended.lines 的 name,含数量}  ¥{recommended.quote.price/100}(官方核价)
   {saving>0 时:比分开点(¥{baseline.quote.price/100})少付 ¥{saving/100};keepOriginal 时:保持原来的点法就好}
⚠️ {notices:菜单显示 ¥{menuPrice/100} 的「{name}」要随单加购会员卡;只有 plain.status 为 verified 时写「不加卡 ¥{plain.price/100}」,只有 withCard.status 为 verified 时写「加卡 ¥{withCard.price/100}(含卡费)」;有 extras 时写「多出 {extras}」}
🟡 {pending:可领券「{title}」还没领,领了才能核价;领取会一次领取全部 {claimableCount} 张}
```
最后附一句:价格只代表这家店此刻的官方报价,下单时以 App 为准。用户想看依据时,再给出账单(门店、时间、每行商品、核价编号 `quote.traceId`)。

## 需要时再读
- 价格状态、「同一顿」的判定、券和会员价的规则:`references/rules.md`
- 报错和异常怎么处理:`references/troubleshooting.md`
- 用到哪些麦当劳 MCP 工具、为什么:`MCP_INTEGRATION.md`

Files in this skill

  • .env.example372 B
  • CONTEST_DECLARATION.md1.5 KB
  • MCP_INTEGRATION.md7.4 KB
  • README.en.md5.1 KB
  • SKILL.md4.1 KB
  • bin/mcd-advisor.mjs4.4 KB
  • mcp-config.example.json194 B
  • package.json693 B
  • references/rules.md2.3 KB
  • references/troubleshooting.md1.9 KB
  • scripts/check-secrets.mjs2.7 KB
  • scripts/record.mjs2.1 KB
  • scripts/render-images.mjs3.2 KB
  • src/advisor.mjs9.7 KB
  • src/catalog.mjs5.3 KB
  • src/env.mjs938 B
  • src/format.mjs5.4 KB
  • src/match.mjs6 KB
  • src/mcp.mjs4 KB
  • src/nl.mjs2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.