Vellum Assistant is a personal AI assistant that remembers information about users, learns their preferences, and takes actions across connected apps. It is intended for people who want an assistant that can manage conversations, unfinished work, and proactive notifications over time. The catalogue skills, hooks, instruction, and setting configure or extend how the assistant works.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add vellum-ai/vellum-assistant --skill doordashgit clone --depth 1 https://github.com/vellum-ai/vellum-assistantWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vellum-ai/vellum-assistant/doordash)<a href="https://agentmods.dev/skills/vellum-ai/vellum-assistant/doordash"><img src="https://agentmods.dev/badge/skills/vellum-ai/vellum-assistant/doordash/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/vellum-ai/vellum-assistant/doordash"><img src="https://agentmods.dev/badge/skills/vellum-ai/vellum-assistant/doordash.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00021 | $0.03436 |
| Opus 5 | $0.00010 | $0.01718 |
| Sonnet 5 | $0.00004 | $0.00687 |
| Haiku 4.5 | $0.00002 | $0.00344 |
Grade A, and why
doordash scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 166 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You can order food from DoorDash for the user using the DoorDash CLI script.
CLI Setup
IMPORTANT: Always use host_bash (not bash) for all DoorDash commands. The DoorDash CLI needs host access for Chrome CDP and session cookies - none of which are available inside the sandbox.
The DoorDash CLI is invoked via bun {baseDir}/scripts/doordash-entry.ts. Do NOT search for the script, inspect it, or try to discover how the CLI works. Just run the commands as documented below.
Task Progress Widget
A task progress card is shown automatically when you run your first DoorDash command. Its surface ID is doordash-progress. As each step completes, call ui_update with surface ID doordash-progress to update step statuses. Update data.templateData.steps - set completed steps to "status": "completed" with a "detail" string, the current step to "status": "in_progress", and future steps to "status": "pending". Adapt the steps to the actual flow (e.g. skip "Search restaurants" if the user named a specific store).
Typical Flow
When the user asks you to order food (e.g. "Order pizza from Andiamo's"):
-
Check session - run
bun {baseDir}/scripts/doordash-entry.ts status --json. IfloggedInis false or the session is expired, inform the user that their DoorDash session has expired and they need to log in again. -
Search - run
bun {baseDir}/scripts/doordash-entry.ts search "<query>" --jsonto find matching restaurants. Present the top results to the user with name, rating, and delivery info. If the user named a specific restaurant, pick the best match. If ambiguous, ask. -
Browse menu - run
bun {baseDir}/scripts/doordash-entry.ts menu <storeId> --jsonto get the menu. Show the user the categories and items with prices. If the user already said what they want (e.g. "pepperoni pizza"), find the matching item(s). For convenience/pharmacy stores (CVS, Duane Reade, Walgreens etc.), the response will haveisRetail: trueand empty items - usestore-searchinstead (see step 3b).
What ships with it
19 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/icon.svg 372 B
- scripts/__tests__/doordash-client.test.ts 7.3 KB runs code
- scripts/__tests__/doordash-session.test.ts 4.0 KB runs code
- scripts/doordash-cli.ts 31 KB runs code
- scripts/doordash-entry.ts 726 B runs code
- scripts/lib/cart-queries.ts 26 KB runs code
- scripts/lib/client.ts 30 KB runs code
- scripts/lib/order-queries.ts 3.9 KB runs code
- scripts/lib/queries.ts 820 B runs code
- scripts/lib/query-extractor.ts 2.7 KB runs code
- scripts/lib/search-queries.ts 5.9 KB runs code
- scripts/lib/session.ts 3.2 KB runs code
- scripts/lib/shared/errors.ts 1.4 KB runs code
- scripts/lib/shared/network-recorder.ts 10 KB runs code
- scripts/lib/shared/recording-store.ts 1.2 KB runs code
- scripts/lib/shared/recording-types.ts 1.0 KB runs code
- scripts/lib/shared/truncate.ts 319 B runs code
- scripts/lib/store-queries.ts 9.2 KB runs code
- scripts/lib/types.ts 7.9 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 166 lines · 21 tokens per session scan A 93a9cdf2b20b
doordash is a skill published in the GitHub repository vellum-ai/vellum-assistant (1,225 stars, last pushed yesterday), licensed MIT. It adds 21 tokens to every session and 3,436 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
deal-finder
Scan configured sources (Craigslist now; eBay + Facebook Marketplace planned) for used-item listings matching the owner's criteria. Currently configured for a Mac mini search (M2+, 16GB+, 512GB+, ≤$500, near 94566). Notify owner via SMS + Telegram on a match.
lictor-security-check
Pre-release security audit for ANY project — AI-built or hand-written, web or mobile. Scans the codebase for the full range of real-world risks that get apps breached: leaked API & AI-provider keys, exposed configs/secrets, broken auth & access control (IDOR), injection (SQL/XSS/command), SSRF, open databases & cloud…
lictor-rotate
Walks the user through rotating a leaked API key — step by step, provider-specific. Knows the exact URL to visit, the exact button to click, and how to verify the rotation worked. Supports Stripe, OpenAI, Anthropic, Google Cloud / AI Studio, GitHub, AWS, Slack, Supabase, Firebase, Postmark, and generic OAuth providers.
lictor-explain
Takes any security finding, error message, or jargon-heavy security advice and explains it in plain English. Use this when someone is confused by what /lictor-security-check found, or when they got a security warning from another tool and don't understand it.
lictor-fix-it
Applies the fixes recommended by /lictor-security-check, with the user's explicit permission for each change. Walks through findings one at a time, shows the proposed change, gets approval, applies, runs tests if available, and moves on. Some fixes (rotating leaked credentials) require the user to act outside Claude …
competitor-price-tracker
Monitor competitor product pages and alert when prices change.