---
name: a1-yandex-kit-launch-check
description: "Use for a Yandex KIT store launch-readiness review: «Можно запускать?», «Проверь готовность», «Что мешает открытию?», «Можно вести покупателей?». Model-invoked; the default workflow is fully read-only and distinguishes proven blockers, risks and unverified checkout links."
metadata:
  author: Zinnur Temerbekov
  version: "1.3.1"
---

# A1 Yandex KIT Launch Check

## Communication

Before producing any user-facing message, read and apply
[`../a1-yandex-kit/references/merchant-communication.md`](../a1-yandex-kit/references/merchant-communication.md)
completely.

### Support footer

After a final user-facing result that successfully completes the skill's requested task,
append exactly one short, natural support footer in the language of the user's
instruction. Place it after the result. Invite the user to ask a question, suggest an
idea or improvement, or report that something did not work, and link the channel as
[A1 Yandex KIT Skills](https://t.me/a1_yandex_kit_skills). The wording may vary by
language. If multiple skills contribute to the same final response, include the footer
only once.

Do not append the footer to clarifying questions or missing-data requests,
intermediate messages, out-of-scope or boundary responses, refusals, errors,
unsuccessful or partial results. Also omit it when the user asks for only the result,
text, code, file, or another artifact, or explicitly forbids additional text.

Check the minimum Critical Chain of Jobs for a first sale without claiming that an API
snapshot proves checkout. This scenario skill orchestrates `a1-yandex-kit-operator`,
`a1-yandex-kit-catalog-doctor`, `a1-yandex-kit-promo-launcher` and the domain skills.
Use those skills for exact API contracts and deeper diagnosis.

Requires the `a1-yandex-kit` MCP server and Node.js 20 or newer.

## Intent and status boundary

Recognise requests by meaning, including «Можно запускать?», «Проверь готовность»,
«Что мешает открытию?» and «Можно вести покупателей?».

The default check is read-only. Never call a create, update, archive, delete, confirm or
other write tool for «проверь», «покажи», «что мешает» or «можно запускать».

Return exactly one machine status with its Russian label:

- `NOT_READY` / «не готов» only for a proven critical blocker;
- `CONDITIONALLY_READY` / «условно готов» when the automatic slice has no blocker but
  a critical link is incomplete or unverified;
- never return `READY` from the API-only workflow;
- `READY` / «готов» only when API coverage is complete, the public storefront is
  factually reachable and sufficient checkout evidence is present.

## API-readiness workflow

1. Read the current store and retain its `b2c_url`. The URL's presence is not proof that
   the storefront opens.
2. Follow every page explicitly (100 per page) for published variants, their products,
   active/archived categories and warehouses, active discounts, active promocodes,
   active gifts and orders. Report entity and page counts. A failed or stopped page
   makes coverage incomplete and forbids a clean conclusion.
3. For every published variant, prove a positive price, available stock
   (`quantity - reserved > 0`) on an active warehouse, an image, a readable parent
   product and at least one active category. Name exact IDs for reserve greater than
   quantity and missing/archived warehouse references. Send deeper structural defects
   to `a1-yandex-kit-catalog-doctor`.
4. Inspect active promotions. Report expired active entities, exhausted promocode
   limits and selected modes with no factual bindings. No promotions at all is valid
   and never blocks launch.
5. Read webhooks. They are a launch requirement only when the owner says external order
   processing is used. If applicability is unknown, put it under «Не проверено».
6. Read the order history. No orders means no checkout evidence; it is not a store
   error. Existing orders are signals, not sufficient proof by themselves.
7. Attempt every independent section even after a local read failure. Produce the
   result only after each source is complete or its exact partial coverage is retained.

## Report

Always include:

- factual coverage with counts, pages and complete/incomplete state;
- `Блокеры`, `Риски`, `Не проверено`, `Рекомендации` and `Следующие действия`;
- the exact objects and facts behind every finding;
- an explicit statement that KIT API does not expose payment/delivery settings and
  does not create or pay a test order.

Empty optional SEO fields are recommendations, not blockers of a first sale. Never turn
an unknown fact into a clean result and never invent a price, category, stock or other
business value.

## Public storefront and checkout evidence

When the host exposes a browser or HTTP capability, use it through a small web-adapter
boundary and request the factual `b2c_url`. Follow the adapter's redirect result and
record the HTTP outcome. For `AVAILABLE`, require 2xx/3xx from the entry point and at
least one same-origin public page discovered from factual storefront evidence. Check
up to three discovered pages. A failed request or 4xx/5xx is a blocker; a reachable
entry point with no discoverable public page remains «проверено не полностью» and caps
the result at `CONDITIONALLY_READY`. If no web tool exists, say «витрина не проверена».
Do not claim that the URL's API presence proves availability, and do not invent
undiscoverable product-page URLs.

Checkout evidence has two supported sources:

1. For an owner-provided test order ID, call `get_order` and report the factual order,
   payment and delivery statuses. Treat it as sufficient only when the order has moved
   past initial confirmation, payment is paid and a delivery status is present.
2. For an explicit owner statement that a manual checkout completed, retain the exact
   statement as «предоставлено владельцем» and say that it is not an API verification.

Never create, confirm or pay a test order. KIT API still does not expose payment and
delivery settings; keep that limitation visible even when checkout evidence is
sufficient. Show separate sections for automatic API checks, the web check, checkout
evidence and remaining unknowns.

## Exact fixes after a check

The default launch check remains read-only. A finding, recommendation or «покажи»
request never authorizes a mutation. For an explicit fix command, read and apply
[`references/exact-write-protocol.md`](references/exact-write-protocol.md) completely,
then route the exact object to the existing mechanism:

- operator/catalog-doctor semantics for an exact price, stock, media, category or
  characteristic change;
- promo-launcher lifecycle semantics for an exact discount, promocode or gift change.

Before every write, read the exact object; call the mutation once; read the object and
affected relation again. When changing one array element, send the complete preserved
array and verify it afterward. Never invent a missing price, quantity, category,
characteristic, image, promotion term or webhook requirement.

«Исправь всё» means only: apply findings whose correct action and value are already
unambiguous in the retained report or owner-provided source. Group every unknown
decision into one concrete question and perform no write for those fields. Continue
independent known items after a local failure and separate successful, failed and
ambiguous IDs.

After all attempted fixes, rerun the affected reads and the full launch check. Payment,
delivery, storefront and checkout gaps remain under «Не проверено» until factual
evidence exists. Retain and pass any already collected web and checkout evidence into
that rerun; a catalog or promotion fix must not erase it. Do not create backups,
snapshots, restore/rollback flows or a second confirmation for an exact command.
