Persistent dietary safety layer for DoorDash CLI (dd-cli) ordering. Stores a personal/household dietary profile (allergens with severity tiers, diets, dislikes)
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-doordash-allergy-shield-d0228e4e25f3 ,按照其中的说明把「doordash-allergy-shield」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Claude has no cross-session memory: tell it "I'm allergic to peanuts" today and tomorrow it happily adds pad thai. This skill persists a dietary profile and makes cart vetting mandatory — with a deterministic hook double-checking the highest-severity allergens before any checkout URL is emitted.
Unofficial community skill built on DoorDash's
doordash-oss/doordash-cli.
cart show output plus a synonyms table. It cannot see full ingredient
lists and knows nothing about cross-contamination in the kitchen.references/allergen-synonyms.md table is intentionally broader than
the compact synonym subset hardcoded in the checkout-gate hooks; adding a
synonym to the reference doc alone does not change what the hooks enforce.| Piece | Role |
|---|---|
| this skill | vetting protocol + profile management |
references/allergen-synonyms.md | hidden-allergen lookup table |
hook doordash/doordash-allergy-checkout-gate | deterministic re-check at checkout |
command /doordash-profile | manage the dietary profile interactively |
~/.claude/doordash-profile/dietary.json — the profile. Structure:{
"people": {
"me": {
"allergens": [
{ "name": "peanut", "severity": "anaphylaxis" },
{ "name": "shellfish", "severity": "avoid" }
],
"diets": ["vegetarian"],
"dislikes": ["cilantro"]
},
"sam": { "allergens": [{ "name": "egg", "severity": "avoid" }], "diets": [], "dislikes": [] }
}
}
Severity tiers: anaphylaxis (hook-enforced, never overridable in-session),
avoid (requires explicit human acknowledgment to keep the item),
preference (mention it, don't gate on it).
~/.claude/doordash-profile/vetted/<cart-uuid>.json — one dump per vetted cart:
the full raw cart show output plus your verdict and a timestamp. The
checkout hook greps this artifact — it trusts the dump, not your claim.Read dietary.json. Missing → offer to create it interactively (or via
/doordash-profile). If the user is ordering for others ("lunch for me and Sam"),
make sure each eater exists in the profile or ask for their restrictions.
dd-cli cart show --cart-uuid <X> and capture the full output.references/allergen-synonyms.md (satay→peanut,
aioli→egg, ponzu→soy+fish, …).anaphylaxis → remove the item (dd-cli cart remove-item) and tell
the user why. Do not offer to keep it.avoid → present the conflict; keep only with explicit acknowledgment.preference → mention it in passing.anaphylaxis entries.cart show output + verdict + ISO timestamp
to ~/.claude/doordash-profile/vetted/<cart-uuid>.json. Without this file the
checkout hook blocks — vetting is not optional.Just run dd-cli order checkout-url --cart-uuid <X> (or the dd-guard
wrapper when doordash-spend-guard is installed — the two gates compose). The hook
independently verifies: dump exists, is newer than the last cart mutation it
saw, and contains no anaphylaxis-tier keyword. If it blocks, do NOT try to
work around it — fix the cart, re-vet, and explain to the user what tripped.
dietary.json from the shell; profile changes go through
/doordash-profile (interactive, confirmed).cart show fresh — the
dump IS the audit artifact.