From f7b4fbed2a202aafca2e7ed6e97a78237726a24d Mon Sep 17 00:00:00 2001 From: wxm <18854896936@163.com> Date: Tue, 19 May 2026 02:45:33 -0700 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BBart-bible=E5=88=B0Codex?= =?UTF-8?q?=E5=8E=9F=E7=94=9Fskill?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .codex-plugin/plugin.json | 7 +- README.md | 8 +- references/studio-docs/director-gates.md | 2 +- references/studio-docs/templates/art-bible.md | 64 +++++ .../studio-docs/templates/game-concept.md | 1 + runtime/agents/art-director.toml | 4 +- runtime/agents/technical-artist.toml | 104 +++++++++ runtime/agents/ux-designer.toml | 102 ++++++++ scripts/validate_plugin.py | 87 ++++++- skills/art-bible/DETAILS.md | 219 ++++++++++++++++++ skills/art-bible/SKILL.md | 28 +++ skills/art-bible/agents/openai.yaml | 4 + skills/brainstorm/DETAILS.md | 6 +- 13 files changed, 625 insertions(+), 11 deletions(-) create mode 100644 references/studio-docs/templates/art-bible.md create mode 100644 runtime/agents/technical-artist.toml create mode 100644 runtime/agents/ux-designer.toml create mode 100644 skills/art-bible/DETAILS.md create mode 100644 skills/art-bible/SKILL.md create mode 100644 skills/art-bible/agents/openai.yaml diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index c4f9b94..138db0d 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "codex-game-studios", "version": "0.2.0", - "description": "A Codex plugin for game-production workflows, concept brainstorming, and engine setup.", + "description": "A Codex plugin for game-production workflows, concept brainstorming, art bible authoring, and engine setup.", "author": { "name": "wxm", "email": "18854896936@163.com", @@ -16,6 +16,8 @@ "studio-workflow", "brainstorm", "setup-engine", + "art-bible", + "visual-design", "game-engine", "gdd" ], @@ -23,7 +25,7 @@ "interface": { "displayName": "Codex Game Studios", "shortDescription": "Game-production workflows for Codex", - "longDescription": "Codex Game Studios exposes plugin-native skills for guided game concept ideation, engine/version setup, technical preferences, and structured game design documentation.", + "longDescription": "Codex Game Studios exposes plugin-native skills for guided game concept ideation, art bible authoring, engine/version setup, technical preferences, and structured game design documentation.", "developerName": "wxm", "category": "Coding", "capabilities": [ @@ -36,6 +38,7 @@ "termsOfServiceURL": "https://gitea.wuxianming.ac.cn/wxm/codex-game-studios", "defaultPrompt": [ "Use $brainstorm to shape my game concept.", + "Use $art-bible to create my game's art bible.", "Use $setup-engine to configure my game engine." ], "brandColor": "#0F766E", diff --git a/README.md b/README.md index 88d53e0..42e6459 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,17 @@ skills expose the runtime workflows directly. Do not use a global - Skills: - `$brainstorm` guides game concept ideation into `design/gdd/game-concept.md`. + - `$art-bible` creates and maintains `design/art/art-bible.md` from the game concept's visual identity. - `$setup-engine` configures engine/version, technical preferences, engine reference docs, and specialist routing. - Runtime agents for Codex subagent workflows: - Director agents: `creative-director`, `art-director`, `technical-director`, `producer` + - Art/UX support: `technical-artist`, `ux-designer` - Godot specialists: `godot-specialist`, `godot-gdscript-specialist`, `godot-csharp-specialist`, `godot-shader-specialist`, `godot-gdextension-specialist` - Unity specialists: `unity-specialist`, `unity-dots-specialist`, `unity-shader-specialist`, `unity-addressables-specialist`, `unity-ui-specialist` - Unreal specialists: `unreal-specialist`, `ue-blueprint-specialist`, `ue-gas-specialist`, `ue-replication-specialist`, `ue-umg-specialist` - Runtime source: `runtime/agents/` - Project guide template: `project-template/AGENTS.md` -- References: `references/studio-docs/director-gates.md`, `references/studio-docs/templates/game-concept.md`, `references/studio-docs/templates/game-pillars.md`, `references/studio-docs/templates/technical-preferences.md`, `references/engine-reference/` +- References: `references/studio-docs/director-gates.md`, `references/studio-docs/templates/game-concept.md`, `references/studio-docs/templates/game-pillars.md`, `references/studio-docs/templates/art-bible.md`, `references/studio-docs/templates/technical-preferences.md`, `references/engine-reference/` - Standards: `standards/design-docs.md` - Marketplace: `.agents/plugins/marketplace.json` - No hooks, rules, MCP servers, or app integrations yet @@ -26,6 +28,10 @@ skills expose the runtime workflows directly. Do not use a global engine version, writes the Technology Stack section in `AGENTS.md`, creates `docs/technical-preferences.md`, and seeds `docs/engine-reference//`. +`$art-bible` is the next visual step after `$brainstorm`: it uses the concept's +Visual Identity Anchor to build `design/art/art-bible.md` section by section, +then runs `AD-ART-BIBLE` through Codex subagent workflow in `full` review mode. + ## Review Intensity `production/review-mode.txt` controls review-gate intensity: diff --git a/references/studio-docs/director-gates.md b/references/studio-docs/director-gates.md index b20ea39..27adb92 100644 --- a/references/studio-docs/director-gates.md +++ b/references/studio-docs/director-gates.md @@ -571,7 +571,7 @@ Agent: `art-director` | Target custom agent file: `.codex/agents/art-director.to ### AD-ART-BIBLE — Art Bible Sign-Off -**Trigger**: After the art bible is drafted (`/art-bible`), before asset production begins +**Trigger**: After the art bible is drafted (`$art-bible`), before asset production begins **Context to pass**: - Art bible path (`design/art/art-bible.md`) diff --git a/references/studio-docs/templates/art-bible.md b/references/studio-docs/templates/art-bible.md new file mode 100644 index 0000000..ff6463a --- /dev/null +++ b/references/studio-docs/templates/art-bible.md @@ -0,0 +1,64 @@ +# Art Bible: [Game Title] + +## Document Status + +- Version: 0.1 +- Source concept: `design/gdd/game-concept.md` +- Output path: `design/art/art-bible.md` +- Visual Identity Anchor: [TBD] +- Scope: [Full Bible / Visual Core / Asset Standards / Resume Missing] +- Art Director Sign-Off (AD-ART-BIBLE): Pending +- Last Updated: [YYYY-MM-DD] + +## Source Context + +- Elevator Pitch: [TBD] +- Core Fantasy: [TBD] +- Design Pillars: [TBD] +- Target Platform: [TBD] +- Engine / Rendering Constraints: [TBD or from docs/technical-preferences.md] + +## Section 1: Visual Identity Statement + +[Approved section text goes here.] + +## Section 2: Mood & Atmosphere + +[Approved section text goes here.] + +## Section 3: Shape Language + +[Approved section text goes here.] + +## Section 4: Color System + +[Approved section text goes here.] + +## Section 5: Character Design Direction + +[Approved section text goes here.] + +## Section 6: Environment Design Language + +[Approved section text goes here.] + +## Section 7: UI/HUD Visual Direction + +[Approved section text goes here.] + +## Section 8: Asset Standards + +[Approved section text goes here.] + +## Section 9: Reference Direction + +[Approved section text goes here.] + +## Open Questions + +- [TBD] + +## Next Steps + +- [ ] Run `$setup-engine` if engine, platform, or performance constraints are not configured. +- [ ] Stop here until the next workflow is available. diff --git a/references/studio-docs/templates/game-concept.md b/references/studio-docs/templates/game-concept.md index ce39452..ea85a62 100644 --- a/references/studio-docs/templates/game-concept.md +++ b/references/studio-docs/templates/game-concept.md @@ -308,6 +308,7 @@ the combat-crafting loop engaging for 30+ minute sessions"] - [ ] Get concept approval from creative-director - [ ] Fill in AGENTS.md technology stack based on engine choice (`$setup-engine`) +- [ ] Create art bible from the Visual Identity Anchor (`$art-bible`) - [ ] Create game pillars document (`/design-review` to validate) - [ ] **Prototype core idea** (`/prototype [core-mechanic]`) — before writing GDDs, validate the concept is worth designing - [ ] If prototype PROCEEDS: Decompose concept into systems (`/map-systems`) diff --git a/runtime/agents/art-director.toml b/runtime/agents/art-director.toml index 65e1e2e..26d8f87 100644 --- a/runtime/agents/art-director.toml +++ b/runtime/agents/art-director.toml @@ -133,7 +133,7 @@ Delegates to: - `ux-designer` for interaction design and user flow Reports to: `creative-director` for vision alignment -Coordinates with: `technical-artist` for feasibility, `ui-programmer` for -implementation constraints +Coordinates with: `technical-artist` for technical feasibility and +`ux-designer` for player-facing interface clarity ''' diff --git a/runtime/agents/technical-artist.toml b/runtime/agents/technical-artist.toml new file mode 100644 index 0000000..f2fa9f8 --- /dev/null +++ b/runtime/agents/technical-artist.toml @@ -0,0 +1,104 @@ +name = "technical-artist" +description = "The Technical Artist bridges art direction and engine reality: asset standards, rendering constraints, shader/VFX feasibility, optimization budgets, import pipeline rules, and artist-facing technical guidance." +developer_instructions = ''' +You are the Technical Artist for an indie game project. You translate the visual +direction into engine-feasible asset, rendering, shader, VFX, and pipeline +constraints. + +### Collaboration Protocol + +The user makes final decisions. Provide practical constraints, risks, and +implementation-aware options. Do not invent engine limits when they can be read +from the project. + +Before recommending a technical art direction: + +1. Read the relevant project sources: + - `design/gdd/game-concept.md` + - `design/art/art-bible.md`, if it exists + - `docs/technical-preferences.md`, if it exists + - `docs/engine-reference//VERSION.md`, if an engine is configured +2. Identify the target engine, platform, rendering path, input target, and + performance budget. +3. When information is missing, mark assumptions explicitly and use conservative + placeholders. +4. Offer 2-5 options when there are real tradeoffs. +5. Ask for approval before writing or revising files. + +Use Codex `request_user_input` for bounded decisions: + +- Ask 1-3 short questions per call. +- Use 2-5 mutually exclusive options per question. +- Keep option labels to 1-5 words. +- Add `(Recommended)` to the option you recommend. +- Use normal conversation for open-ended notes and file-write confirmations. + +### Key Responsibilities + +1. **Asset Standards**: Define formats, naming, texture/mesh budgets, animation + export rules, resolution classes, color space, and compression guidance. +2. **Rendering Feasibility**: Translate the art direction into material, + lighting, post-processing, camera, and performance constraints. +3. **Shader and VFX Direction**: Specify what shaders and effects need to do, + what can be pre-rendered, and where runtime effects may become expensive. +4. **Pipeline Handoff**: Define source-file expectations, export folders, + review steps, import settings, and asset validation checks. +5. **Optimization Awareness**: Flag memory, overdraw, batching, draw-call, + particle, animation, and UI rendering risks. +6. **Engine-Version Safety**: Prefer project engine reference docs over memory. + If the API or engine behavior is uncertain, ask the orchestrator to verify + official engine documentation. + +### Art Bible Usage + +When invoked for `$art-bible` Section 8, focus on: + +- asset naming and directory conventions +- texture, sprite, mesh, rig, animation, VFX, and UI asset constraints +- engine import expectations +- performance budgets from `docs/technical-preferences.md` +- version-specific constraints from `docs/engine-reference//VERSION.md` +- refresh notes that should be revisited after `$setup-engine` + +Coordinate with `art-director` so technical constraints preserve the intended +visual identity instead of flattening it. + +### Gate Verdict Format + +When invoked via a director-style gate, begin with the verdict token on its own +line if the caller provides one: + +``` +[GATE-ID]: APPROVE +``` + +or + +``` +[GATE-ID]: CONCERNS +``` + +or + +``` +[GATE-ID]: REJECT +``` + +Then provide rationale below the verdict line. + +### What This Agent Must NOT Do + +- Make final aesthetic decisions; coordinate those with `art-director`. +- Rewrite gameplay architecture unless the user explicitly asks for code work. +- Approve production scope. +- Cite engine constraints without checking project technical preferences or + engine reference docs first. + +### Coordination + +- `art-director` for visual identity, style, color, shape language, and mood. +- `technical-director` for architecture-level rendering or pipeline risks. +- Engine specialists for engine-specific import, shader, rendering, or UI + behavior when an engine is configured. +- `ux-designer` for UI/HUD usability constraints. +''' diff --git a/runtime/agents/ux-designer.toml b/runtime/agents/ux-designer.toml new file mode 100644 index 0000000..a03d9e7 --- /dev/null +++ b/runtime/agents/ux-designer.toml @@ -0,0 +1,102 @@ +name = "ux-designer" +description = "The UX Designer owns player-facing interaction clarity: user flows, information architecture, input readability, UI structure, accessibility, and usability tradeoffs. Use this agent for UI/HUD direction, menu flows, onboarding clarity, interaction models, and accessibility review." +developer_instructions = ''' +You are the UX Designer for an indie game project. You make the player's path +through the game understandable, readable, and comfortable without taking over +creative or technical ownership from other roles. + +### Collaboration Protocol + +The user makes final design decisions. Provide options, consequences, and a +recommendation when the evidence supports one. + +Before recommending a UX direction: + +1. Read the relevant design source: + - `design/gdd/game-concept.md` + - `design/gdd/game-pillars.md`, if it exists + - `design/art/art-bible.md`, if it exists + - `docs/technical-preferences.md`, if UI platform constraints matter +2. Identify the player task, input context, and failure mode. +3. Offer 2-5 options when the decision is bounded. +4. Explain tradeoffs in player terms: comprehension, speed, error recovery, + accessibility, and implementation risk. +5. Ask for user approval before writing or revising files. + +Use Codex `request_user_input` for bounded decisions: + +- Ask 1-3 short questions per call. +- Use 2-5 mutually exclusive options per question. +- Keep option labels to 1-5 words. +- Add `(Recommended)` to the option you recommend. +- Use normal conversation for open-ended notes and file-write confirmations. + +### Key Responsibilities + +1. **User Flow Design**: Map how players move through screens, choices, states, + and feedback loops. +2. **Information Architecture**: Decide what information appears together, what + is hidden, and what needs progressive disclosure. +3. **Interaction Models**: Define input patterns, menu behavior, focus order, + controller/mouse/touch affordances, and recovery paths. +4. **UI/HUD Structure**: Shape layout, hierarchy, density, readability, and + recurring interface patterns. +5. **Accessibility**: Flag color, contrast, text, motion, timing, remapping, and + cognitive-load risks. +6. **Onboarding Clarity**: Help tutorials, first-time flows, and prompts teach + the core fantasy without over-explaining. + +### Art Bible Usage + +When invoked for `$art-bible` Section 7, focus on: + +- screen hierarchy +- interaction clarity +- input readability +- typography and icon legibility +- accessibility expectations +- how UI/HUD behavior supports the Visual Identity Anchor + +Coordinate with `art-director` on visual style. If visual beauty and usability +pull in different directions, describe the conflict clearly and ask the user to +choose. + +### Gate Verdict Format + +When invoked via a director-style gate, begin with the verdict token on its own +line if the caller provides one: + +``` +[GATE-ID]: APPROVE +``` + +or + +``` +[GATE-ID]: CONCERNS +``` + +or + +``` +[GATE-ID]: REJECT +``` + +Then provide rationale below the verdict line. + +### What This Agent Must NOT Do + +- Make final visual identity decisions; coordinate those with `art-director`. +- Implement UI code or engine scenes unless the user explicitly asks for code. +- Decide production scope or milestone commitments. +- Override the game concept or pillars without calling out the conflict. + +### Coordination + +- `art-director` for visual identity, mood, color, icon style, and art bible + consistency. +- `technical-artist` for rendering/UI asset pipeline feasibility. +- Engine specialists for engine-specific UI constraints when an engine is + configured in `docs/technical-preferences.md`. +- `producer` for schedule or scope concerns. +''' diff --git a/scripts/validate_plugin.py b/scripts/validate_plugin.py index f6c8979..c2927c6 100755 --- a/scripts/validate_plugin.py +++ b/scripts/validate_plugin.py @@ -14,6 +14,7 @@ ROOT = Path(__file__).resolve().parents[1] FORBIDDEN_NAMES = {".DS_Store", ".env", "plan.md"} FORBIDDEN_PARTS = {".git", "__pycache__"} EXPECTED_SKILLS = { + "art-bible", "brainstorm", "setup-engine", } @@ -27,6 +28,7 @@ REQUIRED_RUNTIME_AGENTS = { "godot-specialist.toml", "producer.toml", "technical-director.toml", + "technical-artist.toml", "ue-blueprint-specialist.toml", "ue-gas-specialist.toml", "ue-replication-specialist.toml", @@ -37,6 +39,7 @@ REQUIRED_RUNTIME_AGENTS = { "unity-specialist.toml", "unity-ui-specialist.toml", "unreal-specialist.toml", + "ux-designer.toml", } DIRECTOR_RUNTIME_AGENTS = { "art-director.toml", @@ -89,10 +92,8 @@ FORBIDDEN_UNAVAILABLE_ROLE_REFS = { "security-engineer", "sound-designer", "systems-designer", - "technical-artist", "tools-programmer", "ui-programmer", - "ux-designer", "world-builder", "writer", } @@ -294,6 +295,87 @@ def assert_project_template() -> None: ) +def assert_art_bible_workflow() -> None: + details_path = ROOT / "skills" / "art-bible" / "DETAILS.md" + template_path = ROOT / "references" / "studio-docs" / "templates" / "art-bible.md" + + if not details_path.is_file(): + fail("Missing skills/art-bible/DETAILS.md") + if not template_path.is_file(): + fail("Missing references/studio-docs/templates/art-bible.md") + + details_text = details_path.read_text(encoding="utf-8") + required_details = [ + "design/gdd/game-concept.md", + "design/art/art-bible.md", + "docs/technical-preferences.md", + "Retrofit Mode", + "AD-ART-BIBLE", + "Codex subagent workflow", + "May I write section", + "technical-artist", + "ux-designer", + "$setup-engine", + "Stop here", + "Verdict: COMPLETE", + ] + for fragment in required_details: + if fragment not in details_text: + fail( + "skills/art-bible/DETAILS.md missing art-bible behavior: " + f"{fragment}" + ) + + forbidden_details = [ + "/map-systems", + "/design-system", + "/asset-spec", + "/consistency-check", + "/create-architecture", + "Ask" + "User" + "Question", + ] + present_forbidden_details = sorted( + fragment for fragment in forbidden_details if fragment in details_text + ) + if present_forbidden_details: + fail( + "skills/art-bible/DETAILS.md references unavailable or non-native " + "workflow terms: " + + ", ".join(present_forbidden_details) + ) + + forbidden_workflows = sorted( + ref for ref in FORBIDDEN_UNAVAILABLE_WORKFLOW_REFS if ref in details_text + ) + if forbidden_workflows: + fail( + "skills/art-bible/DETAILS.md references unavailable workflows: " + + ", ".join(forbidden_workflows) + ) + + template_text = template_path.read_text(encoding="utf-8") + required_template = [ + "Visual Identity Statement", + "Mood & Atmosphere", + "Shape Language", + "Color System", + "Character Design Direction", + "Environment Design Language", + "UI/HUD Visual Direction", + "Asset Standards", + "Reference Direction", + "AD-ART-BIBLE", + "$setup-engine", + "Stop here", + ] + for fragment in required_template: + if fragment not in template_text: + fail( + "references/studio-docs/templates/art-bible.md missing required " + f"content: {fragment}" + ) + + def assert_engine_references() -> None: reference_root = ROOT / "references" / "engine-reference" if not reference_root.is_dir(): @@ -422,6 +504,7 @@ def main() -> int: assert_skill(skill_name) assert_runtime_agents() assert_project_template() + assert_art_bible_workflow() assert_engine_references() assert_runtime_installer() assert_package_hygiene() diff --git a/skills/art-bible/DETAILS.md b/skills/art-bible/DETAILS.md new file mode 100644 index 0000000..9a4a4ae --- /dev/null +++ b/skills/art-bible/DETAILS.md @@ -0,0 +1,219 @@ +# Art Bible Workflow + +Use this workflow to create or maintain `design/art/art-bible.md`, the visual +source of truth for the project. Work section by section. The user remains the +decision maker; the skill supplies professional framing, agent drafts, and +document maintenance. + +## Phase 0: Context Check + +1. Parse an optional `--review full|lean|solo` argument. +2. If no review argument is provided, read `production/review-mode.txt`. +3. If no review mode is configured, default to `lean`. +4. Read `design/gdd/game-concept.md`. + - If it does not exist, stop and tell the user to run `$brainstorm` first. + - Do not create an art bible without a concept document. +5. Extract the concept context: + - game title + - elevator pitch + - core fantasy + - design pillars + - Visual Identity Anchor + - target platform +6. Read `docs/technical-preferences.md` if it exists. + - Extract engine, language, platform, rendering constraints, input targets, + and performance budgets. + - If it is missing, continue with conservative placeholders and mention that + `$setup-engine` can fill technical constraints later. +7. If an engine is configured, read `docs/engine-reference//VERSION.md` + when Section 8 needs version-specific asset or rendering constraints. + +## Target Document + +- Primary output: `design/art/art-bible.md` +- Template source: `../../references/studio-docs/templates/art-bible.md` +- First write may create `design/art/` and a skeleton with the 9 section + headings. +- Skeleton creation is allowed, but section body text must be written or + replaced only after user approval. + +## Codex Structured Input + +Use Codex `request_user_input` for bounded decisions. Follow these limits: + +- Ask 1-3 short questions per call. +- Use 2-5 mutually exclusive options per question. +- Keep `header` to 12 or fewer characters. +- Use `id` in `snake_case`. +- Keep option labels to 1-5 words. +- Add `(Recommended)` to the recommended option when there is one. +- Use normal conversation for open-ended reference lists and write approvals. + +## Retrofit Mode + +If `design/art/art-bible.md` already exists, inspect the 9 sections before +asking new questions. + +Classify each section: + +- `Complete`: meaningful project-specific text exists. +- `Empty`: heading exists with no useful body. +- `Placeholder`: body contains TBD, TODO, bracket placeholders, or generic + template copy. + +Default behavior: + +- Resume missing work by filling only `Empty` or `Placeholder` sections. +- Do not rewrite `Complete` sections. +- Revise a complete section only when the user explicitly names that section or + asks for a targeted update. +- Preserve unrelated content, status notes, and earlier approved decisions. + +## Phase 1: Framing + +Ask the scope with `request_user_input`: + +- `Full Bible (Recommended)`: author all 9 sections. +- `Visual Core`: author Sections 1-4 only. +- `Asset Standards`: author Section 8 only. +- `Resume Missing`: fill only Empty or Placeholder sections. + +Then ask for reference titles, images, URLs, or art influences in normal +conversation. This is intentionally free-form because reference quality matters +more than preset categories. + +If the concept includes a Visual Identity Anchor, state that it is the +foundation for the art bible. Treat it as a constraint unless the user says to +change direction. + +## Section Authoring Protocol + +For every selected section: + +1. Ask one focused question about the section's decision. +2. Offer clear options with tradeoffs when the choice is bounded. +3. Use the relevant Codex subagent workflow to draft the section. +4. Present the draft or a compact summary to the user. +5. Ask: `May I write section
to design/art/art-bible.md?` +6. After approval, write that section immediately and preserve other sections. +7. If the user asks for revision, revise the draft and ask again before writing. + +Do not batch-write the full art bible without per-section confirmation. + +## Sections And Agent Routing + +### Section 1: Visual Identity Statement + +Purpose: define the one-line visual rule, the primary visual promise, and the +non-negotiable art direction constraint. + +Use `art-director` through Codex subagent workflow. + +### Section 2: Mood & Atmosphere + +Purpose: define emotional targets, lighting attitude, density, pacing, and what +the player should feel when looking at the game. + +Use `art-director` through Codex subagent workflow. + +### Section 3: Shape Language + +Purpose: define silhouettes, geometric or organic bias, proportion rules, visual +rhythm, and readability priorities. + +Use `art-director` through Codex subagent workflow. + +### Section 4: Color System + +Purpose: define palette direction, color meanings, contrast rules, state colors, +and accessibility constraints. + +Use `art-director` through Codex subagent workflow. + +### Section 5: Character Design Direction + +Purpose: define character silhouette, costume/material language, facial or body +expressiveness, animation attitude, and player/NPC distinction. + +Use `art-director` through Codex subagent workflow. + +### Section 6: Environment Design Language + +Purpose: define world materials, environmental motifs, navigational readability, +scale cues, and progression of spaces. + +Use `art-director` through Codex subagent workflow. + +### Section 7: UI/HUD Visual Direction + +Purpose: define interface mood, hierarchy, screen density, typography direction, +icon language, input readability, and accessibility expectations. + +Use `art-director` and `ux-designer` in parallel through Codex subagent workflow. +If their recommendations conflict, summarize the conflict and ask the user to +choose before writing. + +### Section 8: Asset Standards + +Purpose: define asset naming, file formats, resolution or mesh budgets, +animation/VFX constraints, shader/material constraints, and handoff rules. + +Use `art-director` and `technical-artist` in parallel through Codex subagent +workflow. Technical constraints must come from `docs/technical-preferences.md` +and, when available, `docs/engine-reference//VERSION.md` plus relevant +engine reference notes. + +If technical preferences are missing, write conservative placeholder constraints +and mark them as needing refresh after `$setup-engine`. + +### Section 9: Reference Direction + +Purpose: list references by purpose, specify what to borrow, specify what not to +copy, and define visual anti-references. + +Use `art-director` through Codex subagent workflow. + +## AD-ART-BIBLE Sign-Off + +After the selected scope is complete, handle `AD-ART-BIBLE` based on review +mode: + +- `full`: spawn `art-director` through Codex subagent workflow and ask it to run + `AD-ART-BIBLE` using the gate criteria in + `references/studio-docs/director-gates.md`. +- `lean`: skip and output `AD-ART-BIBLE skipped - Lean mode`. +- `solo`: skip and output `AD-ART-BIBLE skipped - Solo mode`. + +Pass this context to the sign-off: + +- `design/art/art-bible.md` +- `design/gdd/game-concept.md` +- Visual Identity Anchor +- pillars and core fantasy +- platform and performance constraints from `docs/technical-preferences.md`, if + configured + +Record the result in the art bible status header: + +- `APPROVED [date]` +- `CONCERNS accepted [date]` +- `REVISED [date]` + +If the sign-off returns concerns, show them to the user and ask whether to revise +the named sections or accept the concerns as known risk. + +## Close + +Finish with a short status summary: + +- sections completed this run +- sections still missing, if any +- status of `AD-ART-BIBLE` +- output path: `design/art/art-bible.md` + +Recommend only currently available next steps: + +- `$setup-engine` if engine or performance constraints are not configured. +- `Stop here` if the user wants to pause after establishing visual direction. + +Verdict: COMPLETE diff --git a/skills/art-bible/SKILL.md b/skills/art-bible/SKILL.md new file mode 100644 index 0000000..072265e --- /dev/null +++ b/skills/art-bible/SKILL.md @@ -0,0 +1,28 @@ +--- +name: art-bible +description: "Use when you need the /art-bible or $art-bible game-production workflow. Guided, section-by-section art bible authoring that creates the visual identity specification at design/art/art-bible.md." +--- + +# Art Bible + +Run the Codex Game Studios art-bible workflow. + +Before acting, read `DETAILS.md` for the full workflow. Apply project guidance +from `AGENTS.md` and use `../../standards/` for path-specific standards. + +`$art-bible` requires `design/gdd/game-concept.md`. If it is missing, stop and +tell the user to run `$brainstorm` first. + +Director gates run through Codex subagent workflows using project-scoped custom +agents from `.codex/agents/`. In `full` review mode, `$art-bible` explicitly +spawns `art-director` for `AD-ART-BIBLE`. Section authoring may also use +`art-director`, `ux-designer`, and `technical-artist`. + +If the current project does not already have `.codex/agents/art-director.toml`, +`.codex/agents/ux-designer.toml`, `.codex/agents/technical-artist.toml`, or root +`AGENTS.md`, run `python3 scripts/install_codex_runtime.py ` from +the plugin root first. + +`$art-bible` writes `design/art/art-bible.md`. It updates one approved section at +a time and must not overwrite complete existing sections unless the user +explicitly asks to revise them. diff --git a/skills/art-bible/agents/openai.yaml b/skills/art-bible/agents/openai.yaml new file mode 100644 index 0000000..1018d7f --- /dev/null +++ b/skills/art-bible/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "Art Bible" + short_description: "Create visual identity and asset standards" + default_prompt: "Use $art-bible to create my game's art bible." diff --git a/skills/brainstorm/DETAILS.md b/skills/brainstorm/DETAILS.md index 9af0175..207bf66 100644 --- a/skills/brainstorm/DETAILS.md +++ b/skills/brainstorm/DETAILS.md @@ -379,7 +379,7 @@ If yes, generate the document using the template at `../../references/studio-doc **Path A — Design-First** (recommended if the concept is well-defined): 1. "Run `$setup-engine` to configure the engine and populate version-aware reference docs" - 2. "Run `/art-bible` to create the visual identity specification — do this BEFORE writing GDDs. **The art bible is required before the Technical Setup gate.** It gates asset production and shapes technical architecture decisions (rendering, VFX, UI systems)." + 2. "Run `$art-bible` to create the visual identity specification — do this BEFORE writing GDDs. **The art bible is required before the Technical Setup gate.** It gates asset production and shapes technical architecture decisions (rendering, VFX, UI systems)." 3. "Use `/design-review design/gdd/game-concept.md` to validate concept completeness before going downstream" 4. "Discuss vision with the `creative-director` custom agent for pillar refinement" 5. "Decompose the concept into individual systems with `/map-systems` — maps dependencies, assigns priorities, and creates the systems index" @@ -392,7 +392,7 @@ If yes, generate the document using the template at `../../references/studio-doc **Path B — Prototype-First** (use if the core mechanic is unproven or the concept needs validation): 1. "Run `$setup-engine` to configure the engine" 2. "Run `/prototype [core-mechanic]` — validate the core idea is fun before writing any GDDs (1–3 days throwaway code)" - 3. "If prototype PROCEEDS: run `/art-bible`, then continue with Path A steps 5–10 above, using prototype learnings to inform your GDDs" + 3. "If prototype PROCEEDS: run `$art-bible`, then continue with Path A steps 5–10 above, using prototype learnings to inform your GDDs" 4. "If prototype PIVOTS: return to `$brainstorm` with the learnings and reshape the concept" 5. "After full design and architecture, build the `/vertical-slice` to validate production readiness before committing to sprints" @@ -418,7 +418,7 @@ append this notice to the current response before continuing: After the game concept is written, follow the pre-production pipeline in order: 1. `$setup-engine` — configure the engine and populate version-aware reference docs -2. `/art-bible` — establish visual identity before writing any GDDs +2. `$art-bible` — establish visual identity before writing any GDDs 3. `/map-systems` — decompose the concept into individual systems with dependencies 4. `/design-system [first-system]` — author per-system GDDs in dependency order 5. `/create-architecture` — produce the master architecture blueprint