Claude-Code-Game-Studios/CCGS Skill Testing Framework/agents/engine/unity/unity-shader-specialist.md
Donchitos a73ff759c9 Add v0.5.0: CCGS Skill Testing Framework, skill-improve, 4 new skills, director gate path fixes
- Add CCGS Skill Testing Framework: self-contained QA layer with 72 skill specs,
  49 agent specs, catalog.yaml, quality-rubric.md, templates, README, CLAUDE.md
- Add /skill-improve: test-fix-retest loop covering static + category checks
- Add 4 missing skills: /art-bible, /asset-spec, /day-one-patch, /security-audit
- Add /skill-test category mode (Phase 2D) with quality rubric evaluation
- Extend /skill-test audit to cover agent specs alongside skill specs
- Update all skill-test and skill-improve path refs to CCGS Skill Testing Framework/
- Remove stale tests/skills/ directory (superseded by CCGS Skill Testing Framework)
- Add director gate intensity modes (full/lean/solo) to gate-check and related skills

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:42:32 +10:00

4.3 KiB

Agent Test Spec: unity-shader-specialist

Agent Summary

Domain: Unity Shader Graph, custom HLSL, VFX Graph, URP/HDRP pipeline customization, and post-processing effects. Does NOT own: gameplay code, art style direction. Model tier: Sonnet (default). No gate IDs assigned.


Static Assertions (Structural)

  • description: field is present and domain-specific (references Shader Graph / HLSL / VFX Graph / URP / HDRP)
  • allowed-tools: list includes Read, Write, Edit, Glob, Grep
  • Model tier is Sonnet (default for specialists)
  • Agent definition does not claim authority over gameplay code or art direction

Test Cases

Case 1: In-domain request — appropriate output

Input: "Create an outline effect for characters using Shader Graph in URP." Expected behavior:

  • Produces a Shader Graph node setup description:
    • Inverted hull method: Scale Normal → Vertex offset in vertex stage, Cull Front
    • OR screen-space post-process outline using depth/normal edge detection
  • Recommends the appropriate method based on URP capabilities (inverted hull for URP compatibility, post-process for HDRP)
  • Notes URP limitations: no geometry shader support (rules out geometry-shader outline approach)
  • Does NOT produce HDRP-specific nodes without confirming the render pipeline

Case 2: Out-of-domain redirect

Input: "Implement the character health bar UI in code." Expected behavior:

  • Does NOT produce UI implementation code
  • Explicitly states that UI implementation belongs to ui-programmer (or unity-ui-specialist)
  • Redirects the request appropriately
  • May note that a shader-based fill effect for a health bar (e.g., a dissolve/fill gradient) is within its domain if the visual effect itself is shader-driven

Case 3: HDRP custom pass for outline

Input: "We're on HDRP and want the outline as a post-process effect." Expected behavior:

  • Produces the HDRP CustomPassVolume pattern:
    • C# class inheriting CustomPass
    • Execute() method using CoreUtils.SetRenderTarget() and a full-screen shader blit
    • Depth/normal buffer sampling for edge detection
  • Notes that CustomPass requires HDRP package and does not work in URP
  • Confirms the project is on HDRP before providing HDRP-specific code

Case 4: VFX Graph performance — GPU event batching

Input: "The explosion VFX Graph has 10,000 particles per event and spawning 20 simultaneous explosions is causing GPU frame spikes." Expected behavior:

  • Identifies GPU particle spawn as the cost driver (200,000 simultaneous particles)
  • Proposes GPU event batching: spawn events deferred over multiple frames, stagger initialization
  • Recommends a particle budget cap per active explosion (e.g., 3,000 per explosion, queue excess)
  • Notes the VFX Graph Event Batcher pattern and Output Event API for cross-frame distribution
  • Does NOT change the gameplay event system — proposes a VFX-side budgeting solution

Case 5: Context pass — render pipeline (URP or HDRP)

Input: Project context: URP render pipeline, Unity 2022.3. Request: "Add depth of field post-processing." Expected behavior:

  • Uses URP Volume framework: DepthOfField Volume Override component
  • Does NOT use HDRP Volume components (e.g., HDRP's DepthOfField with different parameter names)
  • Notes URP-specific DOF limitations vs HDRP (e.g., Bokeh quality differences)
  • Produces C# Volume profile setup code compatible with Unity 2022.3 URP package version

Protocol Compliance

  • Stays within declared domain (Shader Graph, HLSL, VFX Graph, URP/HDRP customization)
  • Redirects gameplay and UI code to appropriate agents
  • Returns structured output (node graph descriptions, HLSL code, CustomPass patterns)
  • Distinguishes between URP and HDRP approaches — never cross-contaminates pipeline-specific APIs
  • Flags geometry shader approaches as URP-incompatible when relevant
  • Produces VFX optimizations that do not change gameplay behavior

Coverage Notes

  • Outline effect (Case 1) should be paired with a visual screenshot test in production/qa/evidence/
  • HDRP CustomPass (Case 3) confirms the agent produces the correct Unity pattern, not a generic post-process approach
  • Pipeline separation (Case 5) verifies the agent never assumes the render pipeline without context