{"id":82309,"plugin_id":"plugin_asdk_app_6ad6835f9e9881919b5f2c48a490b962","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-05T06:11:20.040Z","digest":"e5cd770fe56c301600943fb1398857219239c2f826a4c375ea72d425d049c138","against":null,"payload":{"description":"Use when the user wants to run a device check (single or bulk) — submit IMEI/serial numbers to a service with place_bulk_order.","included_files":[],"name":"run-device-checks","skill_md_contents":"---\nname: run-device-checks\ndescription: Use when the user wants to run a device check (single or bulk) — submit IMEI/serial numbers to a service with place_bulk_order.\n---\n\n# Running device checks\n\nSubmit identifiers for one selected service with `place_bulk_order`. Successful checks spend existing account credit; failed orders are not charged. Resolve the service using `browse-services`; when selection is delegated, choose a compatible service and explain its coverage and estimated cost without demanding an exact service name. Respect the user's budget and client permission controls.\n\n## Prepare identifiers\n\n1. Treat all identifiers as text; preserve leading zeros and the original spelling/order.\n2. Trim surrounding whitespace and discard blank entries.\n3. Dedupe within the current request/service: match IMEIs exactly, serial numbers case-insensitively. Previous orders do not block an intentional new check; different services may each check the same device.\n4. Flag unreadable or clearly incompatible entries before ordering. Do not repair, guess, or substitute identifiers.\n\n## Submit\n\n- `serviceId`: from `list_services`.\n- `batchName`: descriptive; preserve a user-provided name. Group by service (and brand when requested).\n- `imeis`: the extracted identifier strings (never file paths).\n- `notify`: `false` unless the user requests notifications.\n\nExplain the chosen service, its coverage, the unique input count, and estimated cost using current prices. Do not invent a currency or final charge. Respect budgets and consent controls.\n\n## Interpret the response\n\nThe response reports `submittedCount`, `duplicatesRemoved`, `uniqueCount`, `acceptedCount`, `rejectedCount`, and `rejectedInputs` (each with a reason). For small batches it may also include the created `orders`.\n\n- Report acceptance separately from completion. Use `acceptedCount` for created orders — never describe `uniqueCount`/`submittedCount` as the number of devices checked.\n- Failed orders are not charged; accepted orders are charged only on success.\n- Read errors inside the payload even when the outer envelope looks successful.\n\n## Reconciliation and retries\n\n- If inputs are missing, report the discrepancy and evidence; do not invent rejection reasons or retry blindly.\n- On a timeout or uncertain paid submission, reconcile by batch ID, name, time, and identifiers. There is no verified retry guarantee — never repeat the paid call blindly or assume no charge from a missing response.\n\n## After submitting\n\nGive a brief acknowledgment and available progress totals for large batches. Check progress with `list_orders`/`list_batches`. Do not promise future monitoring or notification unless actually enabled.\n\n## Follow-up workflows\n\n- Run multiple stages only when the user requests them. Advance only devices whose successful results explicitly satisfy the requested condition, such as FMI OFF. Pending, failed, rejected, missing, or unclear results do not qualify. Keep stage results separate and stop when no devices qualify.\n- Choose compatible services for the requested stages; a combined service may be used when it covers the requested checks and meets the user's price criteria. Do not add other stages or checks.\n- An optional service suggestion must be relevant and include its current price and added value. Suggest at most two; never treat a suggestion as permission to order. For labels, use only actual returned fields from the requested final group.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}