$npx -y skills add wanshuiyin/ARIS-Movie-Director --skill comic-outline-creatorPhase-1 Layer-2 of a comic — turn a LOCKED skeleton (intent_spec + the pre-locked beat/shot list) into an approved outline_spec: a 6-column beat table that binds every ARIS capability to a STORY COST, plus the continuity-motif contract the storyboard layer will be held to. NOT fr
| 1 | # comic-outline-creator — the Outline + Motif Contract (Phase 1, Layer 2) |
| 2 | |
| 3 | The **middle-left of Figure 1**: take a locked `intent_spec` (+ the pre-locked beat/shot skeleton it |
| 4 | carries — OR, for an **idea-first comic with NO pre-locked skeleton**, the 3 lenses first **synthesize** a beat |
| 5 | skeleton from the intent's `logline` / `subjects` / `constraints` / `format`, then adapt it the same way; the |
| 6 | synthesized skeleton is recorded so the deltas-vs-skeleton discipline still applies) and produce a single |
| 7 | **approved `outline_spec`** — the 6-column beat table that drives the |
| 8 | storyboard, and the continuity-motif arcs that become the storyboard's checkable contract. This is the |
| 9 | comic twin of aris_movie's `movie-outline-creator` (a Layer-2 authoring-time **plan gate** before any |
| 10 | pixels), specialized for our image-comic route: the deliverable is a *plan*, never a frame. |
| 11 | |
| 12 | Two things are simultaneously true, and the whole skill is built around them: |
| 13 | **(a)** the outline is NOT a free brainstorm — it is an **editorial adaptation of a pre-locked skeleton** |
| 14 | (N beats / M shots, beat boundaries fixed), so every candidate must self-report its **deltas vs the |
| 15 | skeleton**; **(b)** an unbounded "ARIS capability showcase" silently rots into a **product manual** unless |
| 16 | every capability is bound to a concrete **story cost** and skill-name tags are banned from the 画面. The |
| 17 | 3-lens → Codex-synthesis → density-pass → user-approval loop turns (a) into a faithful, debated outline and |
| 18 | the 侧栏讲解铁律 + the gate catch (b) every round. |
| 19 | |
| 20 | ```text |
| 21 | intent_spec (logline + tagline + dual-identity + LOCKED skeleton) |
| 22 | │ |
| 23 | ▼ ① FAN-OUT: 3 parallel named lenses over the SAME skeleton (faithful ∥ comicnative ∥ clarity) |
| 24 | │ each ends with a self-authored "through-line + deltas vs the skeleton" section |
| 25 | ▼ |
| 26 | ② SYNTHESIZE — Codex (different model family) reconciles the 3 → OUTLINE v2 |
| 27 | ▼ |
| 28 | ③ DENSITY/DESIGN pass — Codex MAY restructure panel count (e.g. centerpiece 4→5 pages, +mid-act page) |
| 29 | │ AUTHORS the 侧栏讲解铁律 (anti "product manual" guard) |
| 30 | ▼ |
| 31 | ④ Emit the 6-column BEAT TABLE + the centerpiece sub-plan + the 5 motif arcs (exact per-shot values) |
| 32 | ▼ |
| 33 | ⑤ READINESS gate (PRE-user, cross-model, blind to orchestrator prose) — scores ONLY the author-controllable |
| 34 | │ dims; EXCLUDES user_decision_record + the unresolved-questions veto (those are not yet satisfiable). |
| 35 | │ Two-step (never cold): write review:* nodes + `reviews` edges → THEN comic-cross-layer-gate <id> --gate outline |
| 36 | ▼ readiness:advance |
| 37 | ⑥ USER APPROVAL = HARD GATE — present; record ✅ APPROVED + fill 已定决策 + EMPTY 待确认 block |
| 38 | │ THEN the FINAL gate (now user_decision_record==5 IS satisfiable) → write outline_spec node (locked) |
| 39 | │ revise ─▶ ② (bounded: MAX_OUTLINE_REVISIONS=3 → auto-abandon → failure_mode node) |
| 40 | ▼ approve + signed |
| 41 | outline_spec (locked) → SOURCE OF TRUTH for the storyboard layer |
| 42 | │ |
| 43 | ▼ (much later, orchestrator-owned) OUTLINE_FINAL_LOCK — after the asset layer locks, a cheap |
| 44 | re-check that the locked assets still match this approved outline (N1 two-stage; §EXACT gate) |
| 45 | ``` |
| 46 | |
| 47 | ## Constants |
| 48 | - **LENS_COUNT** = **3, mandatory** (`faithful`, `comicnative`, `clarity`) — Tier-1 Workflow fan-out |
| 49 | ([`fan-out-pattern`](../../protocols/fan-out-pattern.md)). Fewer than 3 lenses is a hard veto. |
| 50 | - **SYNTHESIZER** = `mcp__codex__codex`, `model_reasoning_effort: xhigh` — a **different model family** from |
| 51 | the Claude lens authors. Codex both *reconciles* the 3 candidates AND runs the density/restructure pass; |
| 52 | the outline layer is itself a cross-model artifact (executor ≠ reviewer, [`reviewer-independence`](../../protocols/reviewer-independence.md)). |
| 53 | - **GATE REVIEWERS** = `mcp__codex__codex` (NO model pin — follows the local codex config, currently |
| 54 | `gpt-5.6-sol` — at `xhigh`) ‖ Gemini (`auto-gemini-3`, readability dims) — each |
| 55 | sees ONLY `outline_spec.json` + `intent_spec.json` (the skeleton) + the lens files, never Claude's prose. They |
| 56 | do **not** acquit; they each persist a `review:<slug>` n |