# File outlines — identity.md and visual-language.md skeletons These are the required-section skeletons the skill drafts against. Order matters — downstream skills read the bible top-to-bottom and depend on this layout. Word-count targets are soft; treat them as anti-bloat hints, not hard limits. --- ## identity.md skeleton (~600 words) ```markdown # — identity **Version:** 1.0 (locked YYYY-MM-DD) **Provenance:** This file is the persona/voice contract. The visual language is in `visual-language.md`. Both must agree before any new asset is briefed. --- ## Persona — one line **** ## The premise — <2–4 paragraph bullets describing the premise, what the character commits to, and the audience contract. Concrete props, specific behaviors, not abstractions.> ## Voice references (N max, default 3) | Reference | Why it lands | |---|---| | | | | ... | ... | ## What IS <5–7 bullets, each concrete and specific. Name observable choices rather than broad mood labels.> ## What IS NOT <5–8 bullets covering the genre/aesthetic boundary. State the scope precisely when a broad tone restriction still permits a narrow visual technique.> ## Audience - **Primary:** - **Secondary:** - **Not the audience:** ## Tone register **If brief.irony_layers === true (layered/satirical artists):** ``` ## Tone register — the irony layers operates across N deliberate interpretive layers, and the tension between them is the brand: 1. **Surface (sincere):** "..." 2. **Mid (knowing):** "..." 3. **Meta (the satire):** "..." Briefs and lyrics should always carry at least N of these layers. ``` **If brief.irony_layers === false (sincere artists):** ``` ## Tone register Briefs and lyrics should match this register; deviations need a deliberate reason. ``` ## Do-not-cross lines - **No .** - **No .** - **No .** ## Audience does-not-care list (optional, suppress for the brand) --- ## Continuity check before any new brief Three quick tests before approving an image or lyric brief: 1. **** — e.g., "Two-layer test: does the asset operate on at least two of the three irony levels?" 2. **Specificity test.** Could this brief describe any artist in the genre, or only this artist? Specific props anchor the brand. 3. **Do-not-cross test.** Does the brief flirt with any do-not-cross line? If yes, rewrite or kill. If a brief fails any test, do not generate. Send back with notes. ``` --- ## visual-language.md skeleton (~1200 words) ```markdown # — visual language **Version:** 1.0 (locked YYYY-MM-DD) **Provenance:** This file is the **MJ-prompt-ready** visual contract. `identity.md` is the persona; this is how the persona looks. Both must agree before any new asset is briefed. --- ## 1. Palette The brand has a **prompt-target palette** (what we tell MJ) and an **as-rendered palette** (what MJ actually produces when it hits). Both are recorded — the rendered colors are what the brand actually looks like. | Role | Prompt target | As-rendered (hit) | Provenance | |---|---|---|---| | | `#HEX` | | | | ... | ... | ... | ... | **Key palette rule:** . ## 2. signature compositions Every brand-authentic asset extends one of these . Don't invent a new mode without a divergent run. ### 2A. **Origin:** . **Composition rules:** - - - - - - **Iteration evidence:** . ### 2B. ### 2C. ## 3. Banned vocabulary (with provenance) These phrases push MJ toward off-brand output. Push to `--no` in every brief and avoid in the positive prompt. | Banned phrase | Pushes the result toward | Evidence | |---|---|---| | `` | | | | ... | ... | ... | ## 4. Preferred vocabulary (replacements) When the brief touches a banned territory, use these substitutions instead. | Banned territory | Substitute vocabulary | |---|---| | | `` | | ... | ... | ## 5. Aspect ratios per asset type | Asset type | `--ar` | Notes | |---|---|---| | Single cover art | `1:1` | | | IG story / reel | `9:16` | | | IG feed (non-square) | `4:5` | | | Music video still | `16:9` | | | Press / EPK | `4:5` or `3:4` | | | Merch print | `1:1` | | ## 6. MJ defaults for the brand | Flag | Value | Why | |---|---|---| | `--s` (stylize) | `NN` | | | `--c` (chaos) | `MM` | | | `--ar` | `` | | | `--style raw` | | | | Version | `--v X` | | ## 7. Reference-pin index `reference-pins/` contains curated copies of the winning picks and the moodboard images. Filenames are stable; do not rename. | File | Source | What it confirms | |---|---|---| | `pick-NN-.png` | /round-X/img_Y.png | | | `mood-NN-.png` | | | | ... | ... | ... | ## 8. When to update this file Bump the version and append a "Changes" log line at the bottom whenever: - New iteration evidence changes a confirmed visual rule. - A new signature composition is confirmed by a divergent run. - The palette evolves (new color hits, backdrop variant locks). - A vocabulary trigger is discovered that wasn't in the prior version. Do **not** update for one-off iteration findings that haven't been confirmed across at least two separate hits. Specificity is the value here; noise dilutes the contract. --- ## Changelog - **1.0** (YYYY-MM-DD) — Initial lock. ``` --- ## Notes on filling the skeletons - **Voice references vary in count.** Don't pad to 3 if 1 is the honest answer. Don't truncate to 3 if 5 are equally load-bearing — the brief's `max_voice_references` is the cap, but the operator can override on a per-bible basis with a note in the file. - **Compositional modes vary in count.** A focused brand might have one; another may have several. Cover modes with a confirmed hit or a canonical released-art/moodboard reference. - **The "as-rendered" palette column is mandatory.** Record both the prompt target and observed output. When they differ, the observed output is the downstream visual truth. - **Banned vocabulary should cite evidence.** Identify whether a ban came from a pick, moodboard reference, iteration note, or operator decision. This keeps later editors from treating a temporary miss as a permanent rule. - **Aspect ratios per asset type** should be explicit enough that a later asset brief can use the correct dimensions without guessing.