npx claudepluginhub markdunne/asdabot --plugin asdabotThis skill uses the workspace's default tool permissions.
The `asdabot` command must be available on PATH. Install with `uv tool install asdabot` or `pipx install asdabot`.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Processes PDFs: extracts text/tables/images, merges/splits/rotates pages, adds watermarks, creates/fills forms, encrypts/decrypts, OCRs scans. Activates on PDF mentions or output requests.
Share bugs, ideas, or general feedback.
The asdabot command must be available on PATH. Install with uv tool install asdabot or pipx install asdabot.
asdabot auth login — opens a browser, user logs in manually. Saves tokens, address, and store automatically.~/.config/asdabot/.envasdabot auth status. Refresh tokens last 90 days (rolling).asdabot search "chicken" # Search products
asdabot search "milk" -n 5 # Limit results
asdabot search "eggs" -d # Include product descriptions
basket add.asdabot product <CIN> # Full product info (description, nutrition, storage)
asdabot basket show # View basket
asdabot basket add <CIN> # Add product by CIN
asdabot basket add <CIN> -q 3 # Add with quantity
asdabot basket add-many <CIN> <CIN> <CIN> # Add multiple products in one request
asdabot basket remove <CIN> # Remove by product CIN (preferred)
asdabot basket remove <ITEM_ID> # Remove by basket item ID (fallback)
asdabot basket clear # Clear all items
basket clear to start fresh.basket add-many over multiple basket add calls — it adds all items in a single API request.add-many is atomic: if any item is rejected (e.g. unavailable for the booked slot), none are added. This is intentional — a partial basket may require changing plans.basket add calls in parallel — use basket add-many instead.asdabot slots list # List slots (default 3 days)
asdabot slots list -d 2 # List slots for 2 days
asdabot slots book 11 # Book by row # from the latest list
asdabot slots book <N> # Book by full slot ID (scripting)
-d value is 3. ASDA limits queries to a 4-day window. Do NOT pass 4+.slots list caches the ordered IDs to ~/.config/asdabot/last_slots.json. slots book <N> resolves N against that cache — always re-run slots list immediately before booking so the # you pick is current.asdabot checkout -y # Place order (headless browser)
-y flag — the interactive prompt blocks non-interactive contexts.asdabot basket show first, present items and total, ask user to confirm.~/.config/asdabot/.env configured, and a saved card and address on the ASDA account.asdabot orders # Show recent orders with payment status
asdabot auth status # Check token expiry and account info
asdabot auth refresh # Manually refresh tokens
asdabot auth login # One-time: open browser for login (interactive)
auth login is interactive — tell the user to run it in their terminal.# 1. Search and build basket
asdabot basket clear
asdabot search "semi skimmed milk"
asdabot search "eggs"
asdabot basket add-many 165468 166781
asdabot basket show
# 2. Find and book a delivery slot
asdabot slots list
asdabot slots book <N>
# 3. Review and place the order
asdabot basket show # Show summary to user, ask for approval
asdabot checkout -y # Only after user confirms in chat
If the user asks to "do the weekly shop" or "order my regulars":
asdabot basket clearasdabot basket add-many <CIN1> <CIN2> ... — add all items in one requestasdabot slots list — find a slotasdabot slots book <N>asdabot checkout -ycheckout -y without explicit user confirmation in chat.~/.config/asdabot/ (account.json, .env, browser-state/).asdabot auth login again.Any time a command fails due to incorrect syntax, wrong flags, API changes, or a misunderstanding, update this skill with the correct approach before continuing. Prefer fixing incorrect examples over adding new sections.