{"id":73251,"plugin_id":"plugin_asdk_app_6acf1b94b4408191afd216e5ddac1b51","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-31T01:20:27.839Z","digest":"629946a58330cb591451fc5993c1e9ff462ea04464b69d1e38f1ef803e3e2b72","against":null,"payload":{"description":"Investigate restaurant profit, food cost and missed opportunities across branches, with or without an explicit improvement target. Use for reducing food cost, improving network profitability and finding relationships between operating facts.","included_files":[],"name":"profit-improvement","skill_md_contents":"---\nname: profit-improvement\ndescription: Investigate restaurant profit, food cost and missed opportunities across branches, with or without an explicit improvement target. Use for reducing food cost, improving network profitability and finding relationships between operating facts.\n---\n\n## State capability limits precisely\n\nThe plugin cannot edit, post, settle or mark Finance/Catering invoices paid, rewrite P&L, correct stock or recipes, send customer messages, make purchases or book travel. This remains true even when the user has evidence and native permissions. Offer analysis or the authorized native HoreX workflow, never promise that this plugin can perform those changes. Unsupported mutation requests require no business-data call. Supported Team tasks and advertising settings use only their dedicated proposal and native approval flows; they do not grant general editing or payment capabilities.\n\n## Execute HoreX calls sequentially\n\nFor one connected HoreX account, wait for each call to finish before starting the next. Keep the result, source and billing status of each call separately. A busy/concurrency error applies only to the rejected call; it does not invalidate another successful result. Reuse successful results. Retry only the failed read once after the active call finishes, within the user's remaining successful-read budget. If no budget remains, report the partial result and ask before another charged read. Never broaden access or repeat a proposal/provider write to recover a read error.\n\nPreserve the owner's goal, branch/brand scope, horizon and constraints. A request to reduce food cost from 32% to 27% means a 5 percentage point target, not an instruction to change purchasing or recipes. Verify the baseline and its cost basis first. Dates use Asia/Dubai; prefer complete, comparable periods. Ask only for missing constraints that materially affect the investigation.\n\nRead the free get_analysis_catalog to check available analyses. For overall profitability, start with get_profit_review for canonical current and baseline P&L, expense breakdowns, a reconciled profit bridge and investigation candidates. Both periods together cost 1 AI Credit. Omitted comparison dates use the preceding equal-length period. Branch sales/gross profit are not complete branch net profit: use a branch-scoped P&L before ranking net profitability. Preserve invoice versus itemized cost bases; posted purchases minus recipe-based consumption is not measured waste.\n\nFor food cost, use get_food_cost_drivers. Preserve the returned historical-cost coverage and covered-revenue denominator. Known sold-line historical cost and current recipe reconstruction using historical purchase prices have different evidential strength. Missing costs are unknown, not zero. Use get_recipe_economics for affected dishes or prep to examine current ingredients, yield and missing cost. Resolve named brands/branches before passing their IDs. Query purchases only where product and unit compatibility allow a useful supplier/price comparison. A cheaper historical supplier is not a current quote, available stock or an approved quality-equivalent substitute.\n\nChoose targeted follow-up reads that distinguish explanations. Each successful data tool costs 1 AI Credit; reuse already returned facts for formatting and reasoning. Do not run every available analysis just because the user asked a broad question. Inspect source links for the exact report scope when a manual review is useful.\n\nFor opportunity discovery, follow an observed signal across sources: purchase price to dish exposure and sold mix; discount or aggregator mix to contribution; branch demand to comparable cost intensity. Separate an observed association, a hypothesis, a conditional forecast and a measured result. Check volume, mix, trading-day and purchase-timing explanations before implying causation. Rank findings with the observed amount, source, formula, missing evidence, proposed next step and outcome metric. Candidate amounts overlap: do not add them together or add them to the additive profit bridge. A nonzero bridge residual needs reconciliation before explaining the whole profit change.\n\nKeep quality and availability constraints explicit. Supplier specifications, measured yield, lead time, minimum order, usable stock and actual quality/stop-list evidence matter. Missing evidence makes a quality or availability claim unverified. Recommend a bounded, owner-reviewed pilot when justified; never promise the target while those constraints are unmeasured.\n\nThis release diagnoses and proposes next steps. It does not persist goals, edit business records, approve purchases, start experiments or activate ongoing monitoring. Do not claim central-kitchen, batch-yield, labor, tax, cash or stop-list history was checked unless an available tool actually returned it. Say which missing source prevents a conclusion. A recommendation is not an implemented change.\n\nFor supplementary food cost and changes from measured Batch Breakdowns or physical counts, use `get_food_cost_variants` with explicit Dubai dates and a narrow recipe/branch scope. The primary cost remains unchanged. Compare posted-cost cutoffs on current recipe composition and selling price; include ingredient formulas and exact returned document/report links. Batch unit cost is allocated output value divided by measured compatible output quantity. Inventory is an **allocation estimate** of saved shortage/surplus value over net recorded sales usage between compatible physical boundaries, not measured actual cost of this dish or proof of its physical cause. Preserve excluded observations, coverage and unknown values; do not add batch and inventory deltas or settle staff KPIs from estimates. Narrow the request when the source or payload budget is exceeded.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}