Skip to content
Development
Command

/doordash-lunch

Team lunch orchestration via DoorDash CLI - build a group round, emit checkout with split table, track payer rotation

From plugin
claude-code-templates
33k200 skills200 agents200 commands2 MCP
$ npx -y skills add davila7/claude-code-templates --agent claude-code

Command definition

doordash-lunch.md
allowed-tools: Bash(dd-cli:*), Bash(cat:*), Bash(jq:*), Bash(mkdir:*), Read, Write, Edit
argument-hint: [order | checkout | whose-turn | roster]
description: Team lunch orchestration via DoorDash CLI - build a group round, emit checkout with split table, track payer rotation

Team Lunch

Group order operation: **$ARGUMENTS**

Works with the `doordash-group-orders` skill (install it alongside — it defines the full flows; this command is the quick entrypoint). State: `team-food.json` (roster), `.dd/round-<date>.json` (active round), `.dd/rounds.jsonl` (history).

Current State

  • Roster: !`cat team-food.json 2>/dev/null || cat ~/.claude/dd-cli/team-food.json 2>/dev/null || echo "(no roster yet)"`
  • Active round: !`ls .dd/round-*.json 2>/dev/null | tail -1 || echo "(none)"`
  • Rounds history: !`wc -l < .dd/rounds.jsonl 2>/dev/null || echo "0"` rounds recorded

Task

Parse `$ARGUMENTS`:

`order` (default)

Run Flow 1 of the doordash-group-orders skill: roster check → constraint-aware restaurant shortlist via `dd-cli search` → per-member choices (favorites first, one question max per member) → build cart recording person → cart-item-id in the round ledger → show the cart grouped by person.

If the user pastes a thread of requests, parse it (Flow 2) instead of interviewing members.

`checkout`

1. Show the grouped cart one final time (per-person subtotals). 2. Emit the checkout URL — via `bash .claude/skills/doordash-spend-guard/scripts/dd-guard.sh checkout <cart-uuid>` when doordash-spend-guard is installed, otherwise `dd-cli order checkout-url --cart-uuid <cart-uuid>`. 3. Print a share-ready split table (markdown, ready to paste into Slack): person, items, subtotal share. 4. After the human confirms payment: pull order_uuid from `dd-cli order history`, ask who paid, append `{date, order_uuid, payer, split}` to `.dd/rounds.jsonl`, and offer the fee-proration fallback ("tell me the final total and I'll prorate the difference").

`whose-turn`

Read `.dd/rounds.jsonl`, compute per-member (consumed − paid) balances, name the next payer, show the balance table so the answer explains itself.

`roster`

Show/edit `team-food.json` interactively: add/remove members, update hard constraints, allergens (ask severity explicitly), favorites, dislikes. Confirm the final JSON before writing.

Rules

  • Never guess an order for a member with allergens.
  • cart-item-ids only from real `cart show` output — attribution depends on it.
  • Splits are pre-fee until the user reports the final total; say so in the

split table footer.

Read more
@davila7
Ships withclaude-code-templates

Open-source registry and CLI for Claude Code components: agents, commands, skills, hooks, MCPs, settings and mods

33k200 skills200 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
33.5k
Star history of davila7/claude-code-templates on GitHub, a chart by star-history.com

Other commands on claude-code-templates.

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command