迁移art-bible到Codex原生skill
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user