doordash-profile — Claude Code command: what it does, how to install
Manages dietary restrictions and allergy severity tiers in JSON to vet DoorDash carts before checkout.
npx claude-code-templates@latest --command doordash/doordash-profileWhat doordash-profile does
The command edits ~/.claude/doordash-profile/dietary.json through guided prompts. It tracks diets, food dislikes, and allergies per person across three tiers: anaphylaxis, avoid, and preference. The doordash-allergy-shield hook reads this data to flag conflicting ingredients in active carts.
Subcommands include show, add <person>, edit <person>, and rm <person>. The agent asks explicit questions instead of guessing allergies from previous orders. Lowering an anaphylaxis tier forces you to type the allergen name again to prevent accidental downgrades. Tools like jq and cat are required via Bash. Keep in mind that previously vetted carts must be checked again after you update any profile.
What it helps with
- store household allergens and diets in a structured JSON profile
- enforce unskippable checkout blocks for severe anaphylaxis risks
- edit dietary preferences through an interactive terminal interview
Example prompts for the agent
- /doordash-profile show
- /doordash-profile add Alex
- /doordash-profile rm Sam
How to install doordash-profile
1claude-code-templates
npx claude-code-templates@latest --command doordash/doordash-profile2Manually: put the files in place
.claude/commands/doordash-profile.mdCall it with /doordash-profile. For all projects use ~/.claude/commands/
Manually: put the files in place
~/.codex/prompts/doordash-profile.mdCall it with /prompts:doordash-profile. Codex marks this format deprecated in favour of skills
Manually: put the files in place
.github/prompts/doordash-profile.prompt.mdManually: put the files in place
.gemini/commands/doordash-profile.tomlGemini stores commands as TOML: the prompt text goes into the prompt field
Questions about doordash-profile
How to install doordash-profile in Claude Code?
Run npx claude-code-templates@latest --command doordash/doordash-profile or place the file directly at .claude/commands/doordash-profile.md.
What does doordash-profile do?
It creates and updates ~/.claude/doordash-profile/dietary.json. This file stores diets, dislikes, and graded allergy levels used to verify DoorDash orders.
How does the anaphylaxis tier work?
The checkout hook strictly blocks items flagged with anaphylaxis and prevents in-session overrides. Downgrading this tier requires retyping the allergen name manually.
Source text
doordash-profile.md · MIT
---
allowed-tools: Bash(cat:*), Bash(mkdir:*), Bash(jq:*), Read, Write, Edit
argument-hint: [show | add <person> | edit <person> | rm <person>]
description: Manage the dietary profile (allergens with severity tiers, diets, dislikes) used by doordash-allergy-shield to vet DoorDash carts
---
# Dietary Profile Manager
Manage the doordash-allergy-shield dietary profile: **$ARGUMENTS**
State: `~/.claude/doordash-profile/dietary.json`. This command is the sanctioned
way to edit it — the vetting flows treat the profile as human-confirmed
input, so every change here must be explicitly confirmed by the user.
## Current State
- Profile: !`cat ~/.claude/doordash-profile/dietary.json 2>/dev/null || echo "(no profile yet)"`
## Task
Parse `$ARGUMENTS` and run the matching subcommand:
### `show` (default when no arguments)
Render the profile as a table per person: allergens (with severity),
diets, dislikes. Explain the severity tiers:
- `anaphylaxis` — hook-enforced at checkout, never overridable in-session
- `avoid` — conflicts require explicit acknowledgment
- `preference` — mentioned, not gated
### `add <person>`
Interview the user for the new person:
1. Allergens — for each, ask the severity tier explicitly. Never assume
severity; if the user says "allergic to X" without qualifying, ask
"would exposure be dangerous (anaphylaxis-tier) or is it avoid-level?"
2. Diets (vegetarian, vegan, halal, kosher, gluten-free, ...).
3. Dislikes.
4. Read back the complete entry and confirm before writing.
### `edit <person>`
Show the person's current entry, ask what to change, confirm the final
entry before writing. Severity downgrades of an `anaphylaxis` entry require
the user to type the allergen name back explicitly — make deliberate
friction for the dangerous direction.
### `rm <person>`
Show the entry, confirm, remove.
## Rules
- Keep the JSON schema exactly as doordash-allergy-shield documents it
(`people.<name>.allergens[].{name,severity}`, `diets[]`, `dislikes[]`) —
the checkout-gate hook parses this file.
- Read-modify-write the whole file; never append or shell-redirect into it.
- Never invent or infer allergens from past orders — this file is
human-declared only.
- After any change, remind the user that already-vetted carts were vetted
against the OLD profile; re-vet before checking out.
© davila7 · MIT · davila7/claude-code-templates