agentleFS
pschliekerpschlieker/getbacklane/skills/daily-check/SKILL.md

daily-check

Skill1 starsChanged 11 days agoMITView on GitHub

Use when the user wants a daily or morning check of their marketplace business on OTTO Market, Kaufland or a Mirakl-based marketplace (e.g. Home24) through Backlane: "what needs my attention today", "anything urgent", orders to ship or accept, overdue shipments, open returns, open tickets and incidents, offers out of stock, or a weekly status summary across all channels. Read-only triage that hands each item to the right skill. Requires the Backlane MCP server (tools `list_integrations`, `search`, `execute`).

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. logly/mureo★ 64same name
    2. SkyWalker2506/ccplugin-daily-check★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository9 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use search for the exact schema before the first call to an operation.

    line 24
  2. Very specific:

    Connections: Call list_integrations. Check every connection with status: "active" unless the user named channels.

    line 28
  3. Very specific:

    One script per platform: Run the reads for a platform in one execute call with Promise.all, and wrap each request so one failure does not …

    line 32
  4. Distinctive:

    When the user asks for a weekly summary, add the last 7 days against the 7 days before, per channel: orders, units, gross revenue, …

    line 117

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Daily marketplace check

One answer to "what needs my attention today?" across every connected channel. Every call here is a read. Do not ship, accept, reply or change anything during the check: list what is due and offer the next step.

Load the backlane skill first if you have not checked the connection yet. Use search for the exact schema before the first call to an operation.

Before the first call

  • Connections. Call list_integrations. Check every connection with status: "active" unless the user named channels. Skip disabled ones and say so. If a connection is a sandbox or playground, label its section "test data", because nothing there is a real customer.
  • One script per platform. Run the reads for a platform in one execute call with Promise.all, and wrap each request so one failure does not hide the rest:

    const call = async (name, req, pick) => {
      try { return [name, pick(await codemode.request(req))]; }
      catch (e) { return [name, { error: String(e.message ?? e).slice(0, 200) }]; }
    };
  • Return counts and the few oldest items, not raw responses. Responses are capped at ~6,000 tokens. Loop over pages in code when you need totals.
  • Dates. Kaufland *_iso filters reject milliseconds: send 2026-11-01T06:00:00Z, not ...06:00:00.000Z (HTTP 400 "Timestamp must be provided in ISO 8601 format").

What to check

AreaOTTO (/otto/<c>)Kaufland (/kaufland/<c>)Mirakl (/mirakl/<c>)
Ship todayGET /v4/orders fulfillmentStatus: PROCESSABLEGET /v2/order-units status: need_to_be_sentOR11 GET /api/orders order_state_codes: SHIPPING
Accept firstANNOUNCED items: not paid yet, do not shipnoneOR11 order_state_codes: WAITING_ACCEPTANCE
ReturnsGET /v3/returns status: ANNOUNCED, MISDIRECTEDGET /v2/return-units status: return_arrived, return_in_clarificationRT11 GET /api/returns
Buyer messagesnone in the API (Partner Connect only)GET /v2/tickets status: openedM11 GET /api/inbox/threads updated_since
Disputesnoneticket open_reasonOR11 has_incident: true (lines in INCIDENT_OPEN)
Out of stockGET /v1/availability/quantities, quantity 0GET /v2/units, amount 0OF21 GET /api/offers, quantity 0

Per platform:

  • OTTO. Orders are cursor-paginated (limit up to 256). Follow the next link in links and pass only its nextcursor (plus limit). An order has positionItems[], each with its own fulfillmentStatus; count items, not orders, and use mode: "AT_LEAST_ONE" if mixed orders matter. Overdue means expectedDeliveryDate is today or past and the item is still PROCESSABLE. /v3/returns answers { positionItems: [...] } and pages with page. Quantities come as resources.variations[] (sku, quantity), paged via links.
  • Kaufland. Pass storefront if the seller has several. Lists return pagination.total: use limit: 1 when you only need the count. Overdue means delivery_time_expires_iso is past on a need_to_be_sent unit. Tickets: put is_seller_responsible: true on top.
  • Mirakl. OR11 pages with max (≤ 100) and offset up to total_count. Overdue: shipping_deadline past on SHIPPING. Acceptance due: acceptance_decision_date on WAITING_ACCEPTANCE; missing it auto-refuses the order and hurts the shop's rating, so list these first. RT11 and M11 page with limit + page_token. A thread needs a reply when its last message is from CUSTOMER or OPERATOR (with_messages: true).
  • Optional seller KPIs (Mirakl). A21 GET /api/account/statistics with periods: "LAST_MONTH" gives late_shipment_rate, incident_rate, cancelation_rate, grade and similar. It is limited to once per day: call it only if the user wants KPIs and not more than once per session. null values mean too little data, not zero.

Known test-environment gaps

  • Kaufland playground: /v2/tickets and /v2/reports return 404 "not part of the playground". Report "not available in the playground" and continue.
  • OTTO sandbox: /v1/return-shipments returns 503 on every call. Use /v3/returns instead.
  • 401/403 on a Mirakl operation means this marketplace does not offer it to the key. Say so instead of guessing.

Report

Lead with what has a deadline. Keep it short enough to read on a phone.

  1. Due today, oldest first: acceptance deadlines (Mirakl), overdue and due shipments (all), returns waiting for a decision. One line each with channel, order or return ID, age and deadline.
  2. Waiting for a reply: tickets, threads and incidents with count and the oldest age. Flag anything older than 24 hours.
  3. Stock: offers at 0 per channel with count; list SKUs only if there are few.
  4. All clear channels in one line ("Kaufland: nothing due").
  5. Which connection each section came from, and which were test data or failed.
  6. Next steps as offers, each handled by its skill:
    • replies, incidents, returns: customer-service
    • not-live or rejected products: listing-health
    • ads below target: otto-ads
    • sales trends and cancellations: sales-analysis

Weekly mode

When the user asks for a weekly summary, add the last 7 days against the 7 days before, per channel: orders, units, gross revenue, cancellations and returns. Use the sales-analysis skill for the numbers and keep the daily sections above for what is still open.

Common mistakes

MistakeResult
Shipping or replying during the checkUnreviewed writes to buyers and marketplaces
Counting OTTO orders instead of position itemsMixed orders reported as fully open or fully shipped
Treating OTTO ANNOUNCED as "ship now"Shipping before payment is confirmed
Milliseconds in Kaufland date filtersHTTP 400
One failing call aborting the scriptNo answer for the whole platform
Calling A21 repeatedlyMirakl rate limit (once per day)
Reporting sandbox orders as realFalse alarms

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.