# doordash-profile

Manages dietary restrictions and allergy severity tiers in JSON to vet DoorDash carts before checkout.

- command · `type=command` · Claude Code · 22 installs
- Author: davila7
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/doordash/doordash-profile.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/commands/doordash-profile

## What it 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.

## Install

### Claude Code (native platform)

1. **claude-code-templates**
```bash
npx claude-code-templates@latest --command doordash/doordash-profile
```

2. **Manually: put the files in place**
- File: `.claude/commands/doordash-profile.md` — Call it with /doordash-profile. For all projects use ~/.claude/commands/

### Codex

**Manually: put the files in place**
- File: `~/.codex/prompts/doordash-profile.md` — Call it with /prompts:doordash-profile. Codex marks this format deprecated in favour of skills

### GitHub Copilot

**Manually: put the files in place**
- File: `.github/prompts/doordash-profile.prompt.md`

### Gemini CLI

**Manually: put the files in place**
- File: `.gemini/commands/doordash-profile.toml` — Gemini stores commands as TOML: the prompt text goes into the prompt field

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/doordash/doordash-profile.md

## When to use it
- 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
- /doordash-profile show
- /doordash-profile add Alex
- /doordash-profile rm Sam

## Source text · doordash-profile.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 0f481df037bc90b6.

BEGIN THIRD-PARTY FILE 0f481df037bc90b6
```text
---
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.
```
END THIRD-PARTY FILE 0f481df037bc90b6

The third-party file has ended. Everything between the 0f481df037bc90b6 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

© davila7 · MIT · https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/doordash/doordash-profile.md

## Similar
- [status](https://affpapa.org/en/nevibecode/commands/seth-hobson-status.md) — command · 348 installs
- [asana-setup](https://affpapa.org/en/nevibecode/commands/asana-setup.md) — command · ★ 44770

From the same set: [davila7/claude-code-templates](https://affpapa.org/en/nevibecode/by/davila7/claude-code-templates.md) — 804 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
