Skills Productivity DoorDash Order Audit Ledger

DoorDash Order Audit Ledger

v20261108
doordash-order-ledger
Query the append-only dd-cli audit log with jq to answer questions about what an AI agent ordered on DoorDash, its spending, and past session activity. Covers log schema, query recipes, rotation, and privacy.
Get Skill
225 downloads
Overview

DoorDash Order Ledger

Every dd-cli command the agent runs is recorded by the doordash-audit-log hook
in ~/.claude/dd-guard/audit.jsonl — one versioned JSON line per event.
This skill teaches you to answer questions from that log instead of
guessing.

Install the bundle: hook doordash/doordash-audit-log (the recorder), command
/doordash-report (reconciled summaries), this skill (querying). Composes with
doordash-spend-guard (shares the ~/.claude/dd-guard/ state directory) but runs
standalone.

Line schema (v1)

{
  "v": 1,
  "ts": "2026-07-19T13:02:11",
  "session_id": "abc123",
  "cwd": "/Users/x/project",
  "command": "dd-cli search --query \"ramen near me\"",
  "event_type": "search | cart_mutation | checkout_url | history | login | other",
  "cart_uuid": "…or null",
  "order_uuid": "…or null",
  "exit_ok": true
}

Commands are secret-stripped before persisting and truncated to 500 chars.
The v field guards future schema changes — check it before assuming
fields.

Query recipes (jq)

Answer from data, not memory:

# What did the agent do today?
jq -r 'select(.ts >= "2026-07-19") | "\(.ts) \(.event_type) \(.command)"' ~/.claude/dd-guard/audit.jsonl

# Checkout URLs issued this week (intents, not confirmed orders)
jq -r 'select(.event_type == "checkout_url" and .ts >= "2026-07-13")' ~/.claude/dd-guard/audit.jsonl

# Activity by type
jq -s 'group_by(.event_type) | map({type: .[0].event_type, n: length})' ~/.claude/dd-guard/audit.jsonl

# Which sessions touched carts?
jq -r 'select(.event_type == "cart_mutation") | .session_id' ~/.claude/dd-guard/audit.jsonl | sort | uniq -c

# Failed dd-cli calls (agent flailing?)
jq -r 'select(.exit_ok == false) | "\(.ts) \(.command)"' ~/.claude/dd-guard/audit.jsonl

When the user asks a money question ("how much this week?"), prefer
/doordash-report — it reconciles against real dd-cli order history and labels
intent-only numbers honestly. Raw checkout_url counts are intents: the
human may have abandoned the payment page.

Honest semantics

  • checkout_url ≠ purchase. It records that a link was issued. Only

reconciliation against order history confirms money moved.

  • Subtotals (when present via doordash-spend-guard's ledger) are pre-fee.
  • The log records what went through Claude Code's Bash tool — orders placed

by the human directly in a terminal or app are invisible to it.

Maintenance

  • Rotation: when audit.jsonl exceeds ~5 MB, rotate:

mv audit.jsonl audit-$(date +%Y%m).jsonl && gzip audit-*.jsonl (keep the
gzips; they are the history).

  • Never edit lines — append-only is the audit property. Corrections go

in reports, not in the log.

  • Privacy: this is a plaintext record of eating habits and schedules.

Keep ~/.claude/dd-guard/ out of repos and backups you share. Mention
this to the user the first time you query the log in a session.

Info
Category Productivity
Name doordash-order-ledger
Version v20261108
Size 3.61KB
Updated At 2026-11-09
Language