mureo_state_display_set
Write the client dashboard section that operators see, replacing it wholesale with your current run's highlights, proposals, breakdowns, and stated values so the screen shows one consistent moment.
Instructions
Write what the DASHBOARD shows for this client — a small, strictly bounded surface, separate from everything else you store. STATE.json is your working memory and is prose-heavy by design; the dashboard reads THIS section and nothing else, so your reasoning keeps going exactly where it already goes and stops reaching the screen. Call it in the same pass as mureo_state_report_set, from the same figures. The whole section is replaced by what this call states — an omitted section is written as absent, not kept from the last run, because these five describe one client at one moment and mixing two runs on one screen is worse than showing a section fewer. A call that states nothing CLEARS the contract. Do NOT write the KPI funnel (spend / impressions / clicks / conversions, CPM / CPC / CPA) or the daily chart: mureo computes both from the stored totals and the day-grain history, so there is nothing for you to get wrong there. Every bound below REFUSES the write rather than truncating it — a sentence cut in half reads like a bug and nobody can tell what was removed. Returns the updated state document. The dashboard reads THIS section and nothing else — keep your reasoning where it already goes. Every bound below refuses the write rather than truncating it, because a sentence cut in half is worse than a long one. nav_message: one line, at most 80 characters. highlights: at most 3 items of {tone, text}, tone one of good/watch/bad, text at most 60 characters. proposals: {title, body, status, date}, title at most 30 and body at most 80 characters, status one of proposed/done. breakdown.campaigns / breakdown.adgroups: rows of {name, spend, mcpa, target_cpa, state, note} — the three figures are raw numbers, state is one of target_met/improving/watch/worsening/no_data, note at most 40 characters. stated_values: {label, value}, label at most 24 characters and value a raw number or a string of at most 12 characters — a sentence there is refused, because it lands in a numeric column. Do NOT write the KPI funnel or the daily chart: mureo computes both from the stored totals. display is REPLACED WHOLE and the last writer wins — there is no merge. Before you write it, read the current one (mureo_state_get). Of what another skill wrote TODAY, carry exactly one thing into your own write: its proposals that are still live — not yet done, and not contradicted by what you just found. Everything else you write from your own run alone, because a screen assembled from two runs shows a moment that never happened. And carry over NOTHING ELSE: never copy another skill's nav_message, highlights, breakdown or stated_values, which would put its judgement under your name when you cannot vouch for it. Name yourself in source so the screen says whose answer it is.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional path to the file. Defaults to STRATEGY.md / STATE.json in the MCP server's current working directory. Paths outside cwd are refused. | |
| source | No | The skill writing this screen — 'daily-check', 'weekly-report', your own name. REQUIRED whenever you state any section: the contract is replaced wholesale by whoever writes it last, so without this the card cannot say whose answer it is showing. ``generated_at`` is stamped by the server — do not compute it. | |
| breakdown | No | The two per-entity tables: ``campaigns`` and ``adgroups``, each an array of {name, spend, mcpa, target_cpa, state, note}. Figures are raw numbers, ``state`` comes from a closed set, and a figure you do not have is OMITTED rather than written as 0. | |
| proposals | No | What you propose doing, or have done — one entry each, never one paragraph listing several. | |
| highlights | No | At most 3 chips — what this client's card says at a glance. A fourth is not extra information on screen; it is the point at which none of them is read, so choose. | |
| nav_message | No | The single operator-facing line at the top of the report (運用ナビ): what to do next, in at most 80 characters. One line — a second sentence here is a paragraph by tomorrow. | |
| stated_values | No | Labelled figures this report states that are not one of mureo's headline metrics — a CVR, a target, a count. Chips, not a table of prose. |