pp-jimmy-johns
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/food-and-dining/jimmy-johns/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See AGENTS.md "Generated artifacts: registry.json, cli-skills/". -->
<!-- 生成文件 — 请勿编辑。
此文件是library/food-and-dining/jimmy-johns/SKILL.md的精确镜像,
由tools/generate-skills/在合并后重新生成。此处的手动编辑会在下次重新生成时被自动覆盖。请改为编辑library/中的源文件。
请参阅AGENTS.md中的“生成产物:registry.json, cli-skills/”。 -->
Jimmy John's — Printing Press CLI
Jimmy John's — Printing Press CLI
Prerequisites: Install the CLI
前提条件:安装CLI工具
This skill drives the binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
jimmy-johns-pp-cli- Install via the Printing Press installer:
bash
npx -y @mvanhorn/printing-press install jimmy-johns --cli-only - Verify:
jimmy-johns-pp-cli --version - Ensure (or
$GOPATH/bin) is on$HOME/go/bin.$PATH
If the install fails before this CLI has a public-library category, install Node or use the category-specific Go fallback after publish.
npxIf reports "command not found" after install, the install step did not put the binary on . Do not proceed with skill commands until verification succeeds.
--version$PATHBrowse stores and menus, build carts, view rewards, and one-shot reorders from the terminal. The Unwich converter computes lettuce-wrap modifier deltas locally so agents can build no-bread orders without an extra API round trip.
本技能驱动二进制文件。在调用本技能的任何命令之前,您必须确认CLI已安装。如果未安装,请先执行以下步骤:
jimmy-johns-pp-cli- 通过Printing Press安装器进行安装:
bash
npx -y @mvanhorn/printing-press install jimmy-johns --cli-only - 验证安装:
jimmy-johns-pp-cli --version - 确保(或
$GOPATH/bin)已添加到$HOME/go/bin环境变量中。$PATH
如果在该CLI进入公共库分类之前安装失败,请安装Node.js,或在发布后使用特定分类的Go语言备用安装方式。
npx如果安装后执行提示“command not found”,说明安装步骤未将二进制文件添加到中。在验证成功前,请不要继续执行技能命令。
--version$PATH您可以通过终端浏览门店和菜单、构建购物车、查看奖励信息,以及一键重新下单。Unwich转换器会在本地计算生菜卷修饰符增量,这样Agent无需额外API往返即可构建无面包订单。
When to Use This CLI
何时使用此CLI
Use this CLI when scripting Jimmy John's order workflows from the terminal, when building a cart for an agent that needs typed access to JJ's menu and rewards data, or when caching menu state for offline composition. The Unwich converter is particularly useful for low-carb diet flows.
当您需要从终端编写Jimmy John's订单工作流脚本、为需要对JJ菜单和奖励数据进行类型化访问的Agent构建购物车,或缓存菜单状态以便离线组合时,使用此CLI。Unwich转换器对低碳水化合物饮食流程尤为有用。
Unique Capabilities
独特功能
These capabilities aren't available in any other tool for this API.
这些功能是其他同类型API工具所不具备的。
Local cart composition
本地购物车组合
-
— Convert a sandwich's modifier set to an Unwich (lettuce wrap) variant — pure-local computation, no live API call.
menu unwich-convertReach for this when an agent is building a JJ cart for a user with a no-bread preference — it gives you the exact modifier delta with no API round-trip.bashjimmy-johns-pp-cli menu product-modifiers 33328641 --json | jimmy-johns-pp-cli menu unwich-convert --product-id 33328641 --json -
— Suggest a sized cart for a group order — sandwiches + sides + cookies + drinks scaled to N people with dietary filters.
order planReach for this when an agent gets a 'lunch for the team' request — it returns a ready-to-submit cart structure with rationale per line.bashjimmy-johns-pp-cli order plan --people 8 --dietary vegetarian --json -
— Compose a two-product share order with the agent-facing note that JJ doesn't natively support half-and-half slicing.
menu half-and-halfReach for this when a user says 'half Vito, half Pepe' — the command outputs the actual cart and the in-store ask the user has to make.bashjimmy-johns-pp-cli menu half-and-half --left 33328641 --right 33328700 --json
-
— 将三明治的修饰符集转换为Unwich(生菜卷)变体——纯本地计算,无需实时API调用。
menu unwich-convert当Agent为有不吃面包需求的用户构建JJ购物车时,请使用此命令——它能为您提供精确的修饰符增量,无需API往返。bashjimmy-johns-pp-cli menu product-modifiers 33328641 --json | jimmy-johns-pp-cli menu unwich-convert --product-id 33328641 --json -
— 为团体用餐建议合适规模的购物车——根据人数N和饮食过滤器搭配三明治+配菜+饼干+饮品。
order plan当Agent收到“团队午餐”请求时,请使用此命令——它会返回一个可直接提交的购物车结构,并为每个条目提供说明。bashjimmy-johns-pp-cli order plan --people 8 --dietary vegetarian --json -
— 组合包含两种产品的共享订单,并添加Agent可见的备注,说明JJ本身不支持对半分切。
menu half-and-half当用户说“一半Vito,一半Pepe”时,请使用此命令——该命令会输出实际购物车内容以及用户需要向门店提出的要求。bashjimmy-johns-pp-cli menu half-and-half --left 33328641 --right 33328700 --json
HTTP Transport
HTTP传输
This CLI uses Chrome-compatible HTTP transport for browser-facing endpoints. It does not require a resident browser process for normal API calls.
此CLI使用兼容Chrome的HTTP传输来访问面向浏览器的端点。正常API调用不需要常驻浏览器进程。
Command Reference
命令参考
account — User account, profile, addresses, and saved payments
- — Get the authenticated user's profile (name, email, preferences).
jimmy-johns-pp-cli account current - — List the authenticated user's saved delivery addresses.
jimmy-johns-pp-cli account delivery_addresses - — Authenticate with email + password. Sets JJ session cookies.
jimmy-johns-pp-cli account login - — List the authenticated user's saved payment methods.
jimmy-johns-pp-cli account saved_payments - — Refresh the web session token (called internally by the SPA).
jimmy-johns-pp-cli account web_token
menu — Menu products, filters, and modifier options
- — List available menu filter dimensions (categories, dietary tags, allergens).
jimmy-johns-pp-cli menu product_filters - — List modifier groups (bread, toppings, add-ons) for a specific product.
jimmy-johns-pp-cli menu product_modifiers - — List menu products for the current store (subs, sides, drinks, cookies, catering).
jimmy-johns-pp-cli menu products
order — Cart and order management
- — Add one or more items to the current cart in a single call.
jimmy-johns-pp-cli order add_items - — Get the current in-progress order/cart.
jimmy-johns-pp-cli order current - — Get upsell suggestions for the current cart (sides, drinks, cookies).
jimmy-johns-pp-cli order upsell
rewards — Freaky Fast Rewards points balance and catalog
- — List available reward redemptions for the current points balance.
jimmy-johns-pp-cli rewards catalog - — Get the authenticated user's rewards points balance and recent activity.
jimmy-johns-pp-cli rewards summary
stores — Jimmy John's store locations and operating info
- — Get store-specific disclaimers (delivery zone caveats, hours warnings).
jimmy-johns-pp-cli stores get_disclaimers - — List stores. Accepts an address search or filter; returns stores with hours, distance, pickup/delivery flags.
jimmy-johns-pp-cli stores list
system — System utilities (Google Maps signing for store finder)
- — Sign a Google Maps URL for client-side use (used internally by store finder)
jimmy-johns-pp-cli system
account — 用户账户、个人资料、地址和已保存的支付方式
- — 获取已认证用户的个人资料(姓名、邮箱、偏好设置)。
jimmy-johns-pp-cli account current - — 列出已认证用户保存的配送地址。
jimmy-johns-pp-cli account delivery_addresses - — 通过邮箱+密码进行认证,设置JJ会话Cookie。
jimmy-johns-pp-cli account login - — 列出已认证用户保存的支付方式。
jimmy-johns-pp-cli account saved_payments - — 刷新Web会话令牌(由SPA内部调用)。
jimmy-johns-pp-cli account web_token
menu — 菜单产品、过滤器和修饰符选项
- — 列出可用的菜单筛选维度(分类、饮食标签、过敏原)。
jimmy-johns-pp-cli menu product_filters - — 列出特定产品的修饰符组(面包、配料、附加选项)。
jimmy-johns-pp-cli menu product_modifiers - — 列出当前门店的菜单产品(三明治、配菜、饮品、饼干、餐食套餐)。
jimmy-johns-pp-cli menu products
order — 购物车和订单管理
- — 单次调用向当前购物车添加一个或多个商品。
jimmy-johns-pp-cli order add_items - — 获取当前进行中的订单/购物车信息。
jimmy-johns-pp-cli order current - — 获取当前购物车的追加销售建议(配菜、饮品、饼干)。
jimmy-johns-pp-cli order upsell
rewards — Freaky Fast Rewards积分余额和兑换目录
- — 根据当前积分余额列出可用的奖励兑换选项。
jimmy-johns-pp-cli rewards catalog - — 获取已认证用户的奖励积分余额和近期活动。
jimmy-johns-pp-cli rewards summary
stores — Jimmy John's门店位置和运营信息
- — 获取门店特定的免责声明(配送区域限制、营业时间提醒)。
jimmy-johns-pp-cli stores get_disclaimers - — 列出门店,支持地址搜索或筛选;返回包含营业时间、距离、自提/配送标识的门店信息。
jimmy-johns-pp-cli stores list
system — 系统工具(用于门店查找的Google Maps签名)
- — 为客户端使用的Google Maps URL签名(由门店查找功能内部使用)
jimmy-johns-pp-cli system
Freshness Contract
新鲜度约定
This printed CLI owns bounded freshness only for registered store-backed read command paths. In mode, those paths check and may run a bounded refresh before reading local data. never refreshes. reads the API and does not mutate the local store. Set to skip the freshness hook without changing source selection.
--data-source autosync_state--data-source local--data-source liveJIMMY_JOHNS_NO_AUTO_REFRESH=1Covered paths:
jimmy-johns-pp-cli menujimmy-johns-pp-cli menu product_filtersjimmy-johns-pp-cli menu product_modifiersjimmy-johns-pp-cli menu productsjimmy-johns-pp-cli storesjimmy-johns-pp-cli stores get_disclaimersjimmy-johns-pp-cli stores list
When JSON output uses the generated provenance envelope, freshness metadata appears at . Treat it as current-cache freshness for the covered command path, not a guarantee of complete historical backfill or API-specific enrichment.
meta.freshness此打印版CLI仅对已注册的门店支持的读取命令路径提供有限的新鲜度保证。在模式下,这些路径会检查,并可能在读取本地数据前进行有限刷新。模式从不刷新数据。模式直接读取API且不修改本地存储。设置可跳过新鲜度检查,无需更改数据源选择。
--data-source autosync_state--data-source local--data-source liveJIMMY_JOHNS_NO_AUTO_REFRESH=1覆盖的路径:
jimmy-johns-pp-cli menujimmy-johns-pp-cli menu product_filtersjimmy-johns-pp-cli menu product_modifiersjimmy-johns-pp-cli menu productsjimmy-johns-pp-cli storesjimmy-johns-pp-cli stores get_disclaimersjimmy-johns-pp-cli stores list
当JSON输出使用生成的来源信封时,新鲜度元数据会显示在字段中。将其视为对应命令路径的当前缓存新鲜度,而非完整历史回填或API特定增强的保证。
meta.freshnessFinding the right command
查找合适的命令
When you know what you want to do but not which command does it, ask the CLI directly:
bash
jimmy-johns-pp-cli which "<capability in your own words>"which02--help当您知道要执行的操作但不知道对应的命令时,可直接询问CLI:
bash
jimmy-johns-pp-cli which "<用您自己的话描述功能>"which02--helpRecipes
使用示例
Show every menu item that has Unwich support
显示所有支持Unwich的菜单商品
bash
jimmy-johns-pp-cli menu products --json | jq '.[] | select(.category=="sandwich")'Filter the local menu cache to sandwiches before piping into the unwich converter.
bash
jimmy-johns-pp-cli menu products --json | jq '.[] | select(.category=="sandwich")'在将结果传入Unwich转换器之前,先过滤本地菜单缓存中的三明治商品。
Auth Setup
认证设置
Jimmy John's runs PerimeterX bot protection. Authenticate by capturing cookies from a fresh, hand-driven Chrome session via 'browser-use cookies export', then 'jimmy-johns-pp-cli auth import-cookies --from-file <path>'. Sessions that get fingerprinted by automation stay flagged for ~1 hour.
Run to verify setup.
jimmy-johns-pp-cli doctorJimmy John's采用PerimeterX机器人防护。您可以通过以下方式进行认证:通过“browser-use cookies export”从全新的手动操作Chrome会话中捕获Cookie,然后执行。被自动化工具识别的会话会被标记约1小时。
jimmy-johns-pp-cli auth import-cookies --from-file <路径>执行验证设置是否正确。
jimmy-johns-pp-cli doctorAgent Mode
Agent模式
Add to any command. Expands to: .
--agent--json --compact --no-input --no-color --yes-
Pipeable — JSON on stdout, errors on stderr
-
Filterable —keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
--selectbashjimmy-johns-pp-cli stores list --agent --select id,name,status -
Previewable —shows the request without sending
--dry-run -
Offline-friendly — sync/search commands can use the local SQLite store when available
-
Non-interactive — never prompts, every input is a flag
-
Explicit retries — useonly when an already-existing create should count as success
--idempotent
在任何命令后添加参数,等效于:。
--agent--json --compact --no-input --no-color --yes-
可管道传输 — 标准输出为JSON,错误信息输出到标准错误
-
可筛选 —参数保留字段子集。点路径可深入嵌套结构;数组会遍历每个元素。这对于在冗长API中缩小上下文范围至关重要:
--selectbashjimmy-johns-pp-cli stores list --agent --select id,name,status -
可预览 —参数显示请求内容但不发送
--dry-run -
离线友好 — 同步/搜索命令在可用时可使用本地SQLite存储
-
非交互式 — 从不提示,所有输入均通过标志参数提供
-
显式重试 — 仅当已存在的创建操作应被视为成功时,使用参数
--idempotent
Response envelope
响应信封
Commands that read from the local store or the API wrap output in a provenance envelope:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse for data and to know whether it's live or local. A human-readable summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.
.results.meta.sourceN results (live)从本地存储或API读取数据的命令会将输出包装在来源信封中:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <数据>
}解析字段获取数据,通过字段判断数据是实时的还是本地的。仅当标准输出为终端时,才会将人类可读的摘要输出到标准错误;管道/Agent消费者仅会在标准输出中获取纯JSON。
.results.meta.sourceN results (live)Agent Feedback
Agent反馈
When you (or the agent) notice something off about this CLI, record it:
jimmy-johns-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
jimmy-johns-pp-cli feedback --stdin < notes.txt
jimmy-johns-pp-cli feedback list --json --limit 10Entries are stored locally at . They are never POSTed unless is set AND either is passed or . Default behavior is local-only.
~/.jimmy-johns-pp-cli/feedback.jsonlJIMMY_JOHNS_FEEDBACK_ENDPOINT--sendJIMMY_JOHNS_FEEDBACK_AUTO_SEND=trueWrite what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
当您(或Agent)发现此CLI存在问题时,请记录反馈:
jimmy-johns-pp-cli feedback "--since参数是包含性的,但文档说是排他性的"
jimmy-johns-pp-cli feedback --stdin < notes.txt
jimmy-johns-pp-cli feedback list --json --limit 10反馈条目会本地存储在中。除非设置了且传递了参数或设置了,否则反馈不会被POST提交。默认行为仅本地存储。
~/.jimmy-johns-pp-cli/feedback.jsonlJIMMY_JOHNS_FEEDBACK_ENDPOINT--sendJIMMY_JOHNS_FEEDBACK_AUTO_SEND=true请记录让您感到意外的内容,而非正式的错误报告。简短、具体、单行描述:这样的反馈才更有价值。
Output Delivery
输出交付
Every command accepts . The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
--deliver <sink>| Sink | Effect |
|---|---|
| Default; write to stdout only |
| Atomically write output to |
| POST the output body to the URL ( |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
每个命令都支持参数。输出会发送到指定的接收端,同时也会(或替代)输出到标准输出,这样Agent无需手动管道即可路由命令结果。支持三种接收端:
--deliver <sink>| 接收端 | 效果 |
|---|---|
| 默认值;仅输出到标准输出 |
| 原子性地将输出写入 |
| 将输出体POST到指定URL(当使用 |
不支持的协议会返回结构化错误,并列出支持的协议集。Webhook失败会返回非零退出码,并将URL和HTTP状态记录到标准错误。
Named Profiles
命名配置文件
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
jimmy-johns-pp-cli profile save briefing --json
jimmy-johns-pp-cli --profile briefing stores list
jimmy-johns-pp-cli profile list --json
jimmy-johns-pp-cli profile show briefing
jimmy-johns-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. lists all available profiles under so introspecting agents discover them at runtime.
agent-contextavailable_profiles配置文件是一组保存的标志值,可在多次调用中重复使用。当定时Agent每次运行都使用相同配置调用同一命令时,请使用此功能——即HeyGen的“Beacon”模式。
jimmy-johns-pp-cli profile save briefing --json
jimmy-johns-pp-cli --profile briefing stores list
jimmy-johns-pp-cli profile list --json
jimmy-johns-pp-cli profile show briefing
jimmy-johns-pp-cli profile delete briefing --yes显式标志参数始终优先于配置文件值;配置文件值优先于默认值。会在下列出所有可用配置文件,以便自省Agent在运行时发现它们。
agent-contextavailable_profilesExit Codes
退出码
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 使用错误(参数错误) |
| 3 | 资源未找到 |
| 4 | 需要认证 |
| 5 | API错误(上游问题) |
| 7 | 速率限制(请等待后重试) |
| 10 | 配置错误 |
Argument Parsing
参数解析
Parse :
$ARGUMENTS- Empty, , or
help→ show--helpoutputjimmy-johns-pp-cli --help - Starts with → ends with
install→ MCP installation; otherwise → see Prerequisites abovemcp - Anything else → Direct Use (execute as CLI command with )
--agent
解析的规则:
$ARGUMENTS- 为空、或
help→ 显示--help输出jimmy-johns-pp-cli --help - 以开头 → 若以
install结尾 → 安装MCP;否则 → 参见上方前提条件mcp - 其他情况 → 直接使用(添加参数执行CLI命令)
--agent
MCP Server Installation
MCP服务器安装
Install the MCP binary from this CLI's published public-library entry or pre-built release, then register it:
bash
claude mcp add jimmy-johns-pp-mcp -- jimmy-johns-pp-mcpVerify:
claude mcp list从此CLI已发布的公共库条目或预构建版本中安装MCP二进制文件,然后注册:
bash
claude mcp add jimmy-johns-pp-mcp -- jimmy-johns-pp-mcp验证安装:
claude mcp listDirect Use
直接使用
- Check if installed: If not found, offer to install (see Prerequisites at the top of this skill).
which jimmy-johns-pp-cli - Match the user query to the best command from the Unique Capabilities and Command Reference above.
- Execute with the flag:
--agentbashjimmy-johns-pp-cli <command> [subcommand] [args] --agent - If ambiguous, drill into subcommand help: .
jimmy-johns-pp-cli <command> --help
- 检查是否已安装:若未找到,提供安装选项(参见顶部前提条件)。
which jimmy-johns-pp-cli - 将用户查询与上方独特功能和命令参考中的最佳匹配命令进行匹配。
- 添加参数执行命令:
--agentbashjimmy-johns-pp-cli <命令> [子命令] [参数] --agent - 若存在歧义,查看子命令帮助:。
jimmy-johns-pp-cli <命令> --help