Group food ordering through the DoorDash CLI (dd-cli) from a persistent team roster. One request ("lunch for the team") fans out into a single merged cart with
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-doordash-group-orders-44b1647bd68c ,按照其中的说明把「doordash-group-orders」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Coordinating N people's food is exactly the cross-session state Claude drops: who's vegetarian, who hates cilantro, which cart line is Bob's, whose turn it is to pay. This skill keeps a roster, attributes every cart line to its eater, splits costs with fees prorated, and remembers payer history.
Unofficial community skill built on DoorDash's
doordash-oss/doordash-cli. Note: dd-cli orders under ONE account — the account owner pays DoorDash; the split is for reimbursement (Venmo/transfer), not split payment.
team-food.json (project dir or ~/.claude/dd-cli/ — committable if the
team shares a repo): the roster.{
"members": {
"dani": { "hard": ["vegetarian"], "allergens": [{ "name": "peanut", "severity": "anaphylaxis" }], "favorites": ["Veggie burrito bowl"], "dislikes": ["cilantro"] },
"bob": { "hard": [], "allergens": [], "favorites": ["Spicy chicken sandwich"], "dislikes": [] }
}
}
.dd/round-<date>.json — the active round's ledger:{
"date": "2026-07-19",
"cart_uuid": "...",
"restaurant": "...",
"orders": {
"dani": [{ "item": "Veggie bowl", "cart_item_id": "41", "price": 12.5 }],
"bob": [{ "item": "Spicy chicken sandwich", "cart_item_id": "42", "price": 11.0 }]
}
}
.dd/rounds.jsonl — history, one line per completed round:
{"date": "...", "order_uuid": "...", "payer": "dani", "split": {"dani": 14.1, "bob": 12.4}}"Order lunch for the team":
team-food.json; missing members → quick
interview (hard constraints, allergens + severity, a favorite, dislikes).dd-cli search --query "..."
→ shortlist of 2-3 → let the human pick.favorites when the restaurant matches;
otherwise ask ONE question per member (or take answers from a pasted
thread — Flow 2). Never guess for someone with allergens.dd-cli cart add-items ... per member's items (via
the dd-guard wrapper when doordash-spend-guard is installed). After each add,
run dd-cli cart show --cart-uuid <X> and record which cart-item-id
belongs to whom in .dd/round-<date>.json. This ledger is what makes
"quita lo de Bob" resolvable later.dd-cli order history, compute the split, append to
.dd/rounds.jsonl, and print a share-ready split table.The user pastes a Slack/chat thread ("who wants what"). Parse it into the round file: person → requested items. Unknown people → ask if they should join the roster. Ambiguous requests ("something spicy") → one clarifying question, or their favorite if the restaurant matches. Then continue Flow 1 from step 4.
"Bob canceló" / "cambia lo de Sam": look up the person's cart_item_ids in
the round ledger, dd-cli cart remove-item --cart-uuid X --cart-item-id N
for each, update the ledger, re-show the grouped cart.
split = per-person items + prorated share of (final_total − subtotal)
when provided.Read .dd/rounds.jsonl: sum what each member has paid vs. consumed across
rounds; the next payer is the member with the largest (consumed − paid)
balance. Show the balances so the answer explains itself.
anaphylaxis allergen gets the same vetting the
doordash-allergy-shield skill applies — check their items against hidden-source
synonyms, and never guess their order.cart show output..dd/ to .gitignore unless the team explicitly wants round history
committed (it reveals eating habits).