@starreel/mcp 0.1.177 → 0.1.196

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/SKILL.md CHANGED
@@ -232,17 +232,21 @@ Don't ask the user at every step. Sort work into three tiers:
232
232
  video output and final composition; customers may still generate, save and
233
233
  select music assets. Music already mixed into native clip audio needs
234
234
  separate handling. Quiet pacing suppresses generic climax/valley advice.
235
- **Set the structured era contract for anything non-contemporary.**
235
+ **Set the structured era contract for anything non-contemporary or surreal.**
236
236
  `setting_brief` is free text: it supplies background but cannot hold the
237
237
  frame. The one mechanism that outranks the visual lock is the structured
238
238
  contract — `set_era_contract` per episode (`get_era_contract` reads it back),
239
- one of `modern` / `republican` / `historical` / `fantasy`. Leave it empty and
239
+ one of `modern` / `republican` / `historical` / `fantasy` / `surreal`. Leave it empty and
240
240
  the platform can only fight drift with prose in the prompt body; contemporary
241
241
  objects bleeding into period frames almost always traces back to an empty
242
242
  contract. **Xianxia / mythic-otherworld projects must use `fantasy`, not
243
243
  `historical`** — the latter demands period-accurate realism and will judge
244
244
  glowing energy, floating landforms and non-human forms as "wrong era",
245
- dragging the look toward literal historical drama. A single scene can break
245
+ dragging the look toward literal historical drama. **A contemporary world
246
+ with author-defined surreal elements (surreal bodies, urban anomalies) must
247
+ use `surreal`, not `fantasy`** — list each element in `positive`; they are
248
+ treated as world canon, body traits apply to every person in frame including
249
+ crowds, environmental traits apply to the world only. A single scene can break
246
250
  away via `update_scene`'s `era_contract` (scene level outranks episode level).
247
251
  **When the era check conflicts with a customer-uploaded portrait** (the upload
248
252
  itself, or the body / hair / sheet images derived from it), frame generation
@@ -702,6 +706,19 @@ content that will be rejected.
702
706
  lets it through). Relay your QC findings to the user verbatim. Listing a
703
707
  `ref` you never opened is signing off on the user's money.
704
708
 
709
+ **Edited a shot or two? Re-review incrementally, not the whole episode.**
710
+ The single-shot tools (`generate_shot_frame`, `regenerate_shot_video`) only
711
+ check the target shot and its two neighbours, so edits elsewhere do not
712
+ invalidate the token for them. When they do get rejected (the shot, a
713
+ neighbour or a shared asset changed), call the same `review_storyboards` /
714
+ `review_frames` / `review_assets` with `base_review_token` set to the
715
+ previous token of that layer (its QC report must already be in with
716
+ `verdict: "pass"`). Only the changed shots and their neighbours are listed
717
+ in `agent_qc.materials` and `findings` (`incremental.applied: true`), and
718
+ your report only has to cover those. If shared assets changed or the base
719
+ is not eligible, the server falls back to a full review and says why in
720
+ `incremental.reason`.
721
+
705
722
  **Script QC is an assessment with suggestions the user decides on.** At the
706
723
  script layer the materials include the user's own draft (`script:original`)
707
724
  as well as the rewrite (`script`). Assess the user's draft itself first —