界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

origin-story-module

origin-story-module

【效率与协作】Turn seller-supplied origin facts into one origin story module still per SKU. This origin story module studio lays out the seller-supplied place of origin and harvest lines as a product-page origin module and origin story graphic. Use it for origin story modules, farm-origin stills, and detail-page origin cards.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: "origin-story-module" description: "Turn seller-supplied origin facts into one origin story module still per SKU. This origin story module studio lays out the seller-supplied place of origin and harvest lines as a product-page origin module and origin story graphic. Use it for origin story modules, farm-origin stills, and detail-page origin cards."

Origin Story Modules

Make one origin story module still per SKU from facts the seller already wrote. Deliver 4 to 8 stills. Keep each still as its own file.

Scope and adjacent routes

Use this Skill when a seller wants short origin-story listing stills from a written origin note and named SKUs.

Route a full photo-transform detail page to ecommerce-detail-module-studio. Route Amazon selling-point A+ stills to amazon-a-plus-module-pack. Route a full listing gallery to ecommerce-listing-image-set. Do not look up public posts for a missing origin city.

Collect confirmed facts

Hard inputs are:

  • at least one named SKU;
  • the origin facts the seller already wrote (origin place, harvest or process lines, and any farm name they supplied);
  • how many stills the pack should contain, or permission to use the default of 4.

Reuse brand palette, destination, language, and must-keeps already in the conversation. Ask only for a missing hard input. A count outside 4 to 8 is still doable: confirm that pack size and its live cost.

Do not invent an origin city, harvest date, certification, or face. A farm photo is a visual reference, not a source for missing origin facts. File access is not consent.

Inspect every optional still. Record MIME type, width, height, aspect ratio, byte size, and whether it has an alpha channel. For a local file, upload only through the bundled client after inspection (scripts/mcp_client.py / beatra.assets.upload). Keep the returned artifact id. Never pass a local path to beatra.images.generate or beatra.images.edit.

Plan the free card list

Write a labeled origin-module list before any paid image. Default four SKUs unless the seller names another count in 4 to 8. Each item records the SKU, the printed origin lines from the written note, language, layout, canvas, and any optional reference role.

That list is the free visible result. Planning is not approval.

Safe defaults:

  • one beatra.images.generate call per SKU;
  • model: "auto" and count: 1;
  • canvas {"type":"preset","tier":"2K","aspect":"1:1"} unless the seller named another destination;
  • beatra.images.edit only after the seller accepts a card and asks for a local correction, with that accepted image as images[0].

Confirm once, create by SKU

Planning is free. Before the first billable call, read beatra.models.list for text_to_image:

{"capability": "text_to_image"}

Show one current production card and wait:

  1. Work — one origin story module still per named SKU (beatra.images.generate).
  2. Credits — the live text_to_image price just read, times the SKU count. Do not reuse a remembered number.
  3. Count — one paid call per SKU card. Do not batch several SKUs into one count.
  4. Identity — one new opaque client_request_id per card.
  5. If we stop here — the labeled card list remains usable.
  6. If the balance is insufficient — relay the official message and its top-up URL exactly. Translate the prose; keep the URL. Do not retry until the seller says they have topped up.

Submit once through bundled scripts/mcp_client.py. Poll beatra.tasks.get. Deliver actual bytes plus billing.net_charged_credits. Do not promise the prepaid estimate is the final charge.

After approval, submit each SKU once. Keep no more than two generation tasks in flight on one connection.

A later local correction is new paid work. Read the live image_edit card first. Show a separate six-field edit card. Use a new client_request_id.

Review, deliver, and recover

Review printed lines against the confirmed origin note. Report only the text the host can actually see. Treat generated small type as a review item, not as a certified origin claim.

Deliver the stills in SKU order, the card list, observed dimensions and formats, task IDs, resolved models, and returned billing.net_charged_credits.

After a returned task_id, poll that task. If the create response is lost, search with beatra.tasks.list and verify with beatra.tasks.get before replay. Reuse an ID only with byte-identical arguments. A changed SKU, origin line, canvas, model, or prompt is a new card and a new ID. Cancel only when the seller asks.

Execution

Invoke every remote Beatra operation only through this package's bundled scripts/mcp_client.py. Put the MCP tool name after call and send one JSON object on standard input.

python3 scripts/mcp_client.py call beatra.models.list
{"capability": "text_to_image"}
printf '%s' '{"prompt":"Create the approved origin story module for the named SKU. Print only the confirmed origin lines.","model":"auto","count":1,"canvas":{"type":"preset","tier":"2K","aspect":"1:1"},"client_request_id":"opaque-origin-sku-01"}' | python3 scripts/mcp_client.py call beatra.images.generate

Do not configure or call a host Beatra Connector, and do not use REST/OpenAPI as a fallback.

Account balance

When the user asks how many credits remain or whether a live estimate fits, call beatra.wallet.get. When they ask what was charged, call beatra.wallet.ledger. Both are read-only. Do not invent an account-balance or top-up tool. Do not make wallet.get a required step before every paid submit.

When a model card comes back carrying a top_up block, relay its tiers as the card lists them and in that order. Do not rank them, do not talk one down, and do not pick one for the user. Which tier suits them is their call, made on the wallet page with the whole list in front of them. Never quote a tier from memory.

References by task

Runtime and safe automatic updates

The bundled client silently checks for a newer release at most once every 24 hours per installation. When a newer version is available, it installs automatically without separate confirmation. It downloads only from the fixed official Beatra discovery and immutable CDN paths for this package, channel, and locale, verifies discovery data, archive, manifest, and every packaged file, and replaces only package-owned files.

Update checks, downloads, verification, replacement, rollback, and recovery fail open: the current installation remains usable and the original command continues. An update failure never authorizes retrying a paid image request. The setting persists for this installation. See automatic updates and safety.

python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
我的收藏