# Shopfront Daily Ops Brief (Oct 30)

> Public LivePage template `sample-daily-brief` · Scene: News briefs · Industries: Manufacturing / Finance
> Anyone and any agent may read and adapt it; no account needed. Example content is fictional.
> Live page: https://space.24haowan.com/s/lDxDmEPTFX5V · Detail: https://getlivepage.com/examples/sample-daily-brief

## What it is

Daily brief · For your team or clients every morning

## When to use it

Something you send every day or every weekday: an ops morning brief, an industry note, a research digest, a daily price report. The same link gets new content each day, so readers bookmark it once. For weekly project progress, pick sample-weekly-report; for a one-off proposal to a client, pick sample-client-proposal.

## What the user would say

Turn yesterday's numbers into a daily brief web page. The header has the company or team name and issue number, the title states today's conclusion outright, and below it one line with the date, publish time, who is on duty and the audience, plus the sentence "This page updates at 8:00 every weekday morning; bookmark this one link." The first block is a large readout of the single most important number (yesterday's figure, change and percentage change) plus a line chart of the last 21 days (mark the high, a dashed line for the period average and yesterday's point, colour the losing streak differently, and tapping any day shows that day's figure). Next, "Three things today": each item tagged on the left by desk (orders / returns / support), one bold sentence of fact plus one sentence of interpretation. Then a board: one row per indicator with yesterday's value, change from the previous day (green up, red down) and a sparkline. Then the headlines of the last five issues and any office-closure notice. Finish with numbered source footnotes and a line saying who the brief is for. Thin rules, no cards; on a phone each board row splits into two lines. From now on, update the same link with new content every morning at 8.

If you don't have the LivePage connector (MCP) yet, read https://getlivepage.com/for-agents.md first and follow it to connect, or publish without signing in.

## How to make your own

1. Read the entry file https://getlivepage.com/examples/sample-daily-brief/source/index.html (and the other files below if it references them).
2. Keep the structure, layout and interactions; replace ALL content with the user's own. Company names, people and numbers in the template are fictional.
3. Deliver one self-contained HTML file (styles inline, no external fonts/scripts/CDNs) that looks right at 375px and 1440px wide, with dark mode if the template has it.
4. To turn it into a link that opens inside WeChat and keeps updating: connect LivePage (https://getlivepage.com/for-agents.md) and publish; without an account the user can upload the file at https://getlivepage.com/quick.
5. No LivePage tools but you can send HTTPS requests: POST the finished HTML (Content-Type: text/html) to https://getlivepage.com/api/quick?client=template-sample-daily-brief — it returns a preview link, a 7-day share step and a claim link the user can keep after signing in.

## Page structure

- Orders, daily
- Three things today
- Ops board
- Previous issues
- Sources

## Files (public, plain text)

- https://getlivepage.com/examples/sample-daily-brief/source/index.html (entry)

## Once published on LivePage

- The same link updates every day and never changes (a new version of the same proposal each day)
- Read receipts (who read it / which section they reached)
- Past highlights stay on the page, so readers don't dig old links out of chat history

## Prepare before publishing

- Scheduled daily updates: have the assistant run once every weekday morning (the assistant must support scheduled tasks), publishing a new version with the same proposal_id each time so the link stays the same

## Template README

English edition of `core/space/examples/sample-daily-brief/` (EPIC #11418 · C6, re-set for international readers in C14 #11471). Same document type, same sections and chart geometry as the Chinese pack; the story is its own — built to `core/space/examples/QUALITY.md` §9. Everything is made up: the company, the people, the orders, the returns and the ad spend; figures are only meant to be the right order of magnitude.

## Cast & setting

| | |
|---|---|
| Company | **Shopfront** — a fictional direct-to-consumer home-goods brand run from Singapore, selling to the US and Europe in US dollars |
| Document | *Daily Ops Brief* No. 187, Wed, Sep 23, 2026, published 8:00 a.m. SGT every weekday |
| On duty | **Aiko Tanaka** (ops lead) · **Liam O'Brien** (support lead) |
| Readers | the ops team and the brand's agency partners (email + Slack) |
| Story | the fall collection launched Sep 16 (a record 5,180 orders), orders slid for six days, yesterday was the first up day; first-week returns are below plan; a Sep 10–12 carrier outage has cleared |
| Money | `$` (USD), thousands separated with commas; dates `Sep 23` / `Tue 9/22`; green is up, red is down |

Keep the three in step when you change the story: this table, the body copy and the ops board.

## What it demonstrates

**The same link, updated every day.** Teams that send a morning number every day — ops briefs, research notes, price reports — are the biggest group of real users, and today most of them publish a new page each day, so the link keeps changing.
This sample shows the alternative: every weekday morning, publish a new version to **the same proposal**. The `proposal_id` stays the same ⇒ the default link stays the same, and readers bookmark it once.

- The "Previous issues" section keeps the last five weekdays' headlines on the page, so readers never dig through chat history for old links; "Sources" holds numbered footnotes.
- Read receipts work as usual: MCP `list_sessions` / `get_session_timeline` / `get_engagement_summary`; the anchor is each `<section>`'s `data-track-section`.
- **No external links, no forms.** A short script at the end only draws the trend line in and shows tap details (without it the charts are still complete). The manifest has no `render`.

Design direction (QUALITY §1.1): "data dashboard" style. Cool white paper `#F6F7F9`, ink blue text `#172033`, indigo trend line `#2B54C7`; up / down follow the international convention, green up `#1F7A50` and red down `#C23A30`; the public-holiday notice is a thin amber rule.
Only one thing is loud: the "Orders, daily" readout + the 21-day trend (the post-launch slide in red, the launch high marked, a dashed 21-day average, yesterday's point); everything else is rows separated by thin rules.

English layout notes (QUALITY §9.3): Latin-first font stack, body 16px / 1.65, `text-wrap:balance` on the headline. Chart labels were re-measured for English ("Today", "21-day average 4,729", "6-day slide −496"); the key-point tag column is 60px so "Returns" and "Support" fit on one line.

## Make it yours

| Where | What to change |
|---|---|
| Header `.org` / `h1` / `.facts` | Company name (inline SVG logo), issue number, today's conclusion, date / published / on duty / sent to |
| "Orders, daily" | The `.readout` figure; two inline SVG trends (`.chart.wide` 728 wide for desktop / `.chart.narrow` 343 wide for phones, each with its own coordinates, 1:1 type). One `<g class="p">` per day — `data-d` / `data-v` / `data-c` are the three tooltip lines, `<title>` is the hover hint when the script doesn't run |
| "Three things today" | Three `<li>`s: the left `.tag` says which desk the item belongs to (not a number), one bold fact + one `.so` line of interpretation; the `<sup>` matches a number in "Sources" |
| "Ops board" | Four cells per row: indicator (`small` holds unit and basis), yesterday, change vs the previous day (`.up` green / `.dn` red), sparkline `svg.spark` (96×28) |
| "Previous issues" | The last five weekdays' dates and headlines; office closures go in `.holiday` |
| "Sources" | `ol.src` numbered footnotes + one line on who the brief is for |
| Footer | Platform mark and name (the mark is `MARK_SVG` from `core/space/src/theme.ts`, the name is `PRODUCT_EN`) + one line on what the template is for; delete the whole block when you send your own brief |
| `manifest.json` | `title` / `share.title` / `share.desc` (the text on the WeChat card — change it every day); when you add or remove a section, change `sections` and the page's `id` / `data-track-section` together |

Chart coordinates: days are evenly spaced on the x-axis (`x = left margin + inner width × day ÷ 20`); the y-axis runs 4,000–5,500 orders (`y = bottom − inner height × (orders − 4,000) ÷ 1,500`). Desktop inner width 648 / height 220, phone inner width 281 / height 186. When the data changes, recompute both charts and update the `aria-label`.

## How to publish (updated daily, same link)

The first time, publish with MCP `publish_file` (`title` + `manifest`; `hold: true` lets you check the preview before `publish_version`); the receipt includes a `proposal_id`.
**Every day after that**: replace the body and `manifest.share`, then call `publish_file` again — this time with `proposal_id` instead of `title`. The link doesn't change.

To have the assistant do it at 8 a.m. on its own: set up a scheduled task on the assistant's side for 7:50 every weekday, and spell out where the data comes from, that the page follows this structure, and that it publishes with the `proposal_id` above.

With a terminal you can also use the CLI:

```bash
export SPACE_TOKEN=sk-space-…            # MCP create_cli_token
node core/space/cli/space-cli.mjs push core/space/examples/en/sample-daily-brief \
  --proposal <proposal_id> --manifest core/space/examples/en/sample-daily-brief/manifest.json \
  --note "Sep 23"
```

Who can see it: only you by default; to send it to clients or partners use `set_visibility` (`passcode` for a passcode, or `public`).

## Discipline

- Every number needs a source and a cut-off time; the interpretation line is the person on duty's judgment — don't write it as fact.
- The figures are examples; replace them all before you send, and delete the footer's "Sample content — all names and figures are fictional."
