Files
pixelheros/CCGS Skill Testing Framework/agents/specialists/technical-artist.md
2026-05-15 14:52:29 +08:00

80 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Agent Test Spec: technical-artist
## Agent Summary
Domain: Shaders, VFX, rendering optimization, art pipeline tools, and visual performance.
Does NOT own: art style decisions or color palette (art-director), gameplay code (gameplay-programmer).
Model tier: Sonnet (default).
No gate IDs assigned.
---
## Static Assertions (Structural)
- [ ] `description:` field is present and domain-specific (references shaders / VFX / rendering)
- [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep
- [ ] Model tier is Sonnet (default for specialists)
- [ ] Agent definition does not claim authority over art style direction or gameplay logic
---
## Test Cases
### Case 1: In-domain request — appropriate output
**Input:** "Create a dissolve effect shader for enemy death sequences."
**Expected behavior:**
- Produces shader code or a Shader Graph node spec appropriate to the configured engine (Godot shading language / Unity Shader Graph / Unreal Material Blueprint)
- Defines a `dissolve_amount` uniform (0.01.0) as the animation driver
- Uses a noise texture sample to determine the dissolve threshold
- Notes edge-lighting technique as an optional enhancement
- Output is engine-version-aware (checks version reference if post-cutoff APIs are needed)
### Case 2: Out-of-domain request — redirects correctly
**Input:** "Define the art bible color palette: primary, secondary, and accent colors for the UI."
**Expected behavior:**
- Does NOT produce color palette decisions or art direction documents
- Explicitly states that art style decisions belong to `art-director`
- Redirects the request to `art-director`
- May note it can later implement a color-grading or palette LUT shader once the palette is decided
### Case 3: Performance warning — GPU particle count
**Input:** "The VFX system is triggering a GPU particle count warning at 50,000 particles in the explosion pool."
**Expected behavior:**
- Produces an optimization spec addressing the specific warning
- Proposes concrete strategies: particle budget caps per emitter, LOD-based particle reduction, GPU instancing, or switching to mesh-based VFX for distant effects
- Provides before/after GPU cost estimates where calculable
- Does NOT change gameplay behavior of the explosion (delegates any gameplay impact to gameplay-programmer)
### Case 4: Engine version compatibility
**Input:** "Use the new texture sampler API for the water shader."
**Expected behavior:**
- Checks the engine version reference (e.g., `docs/engine-reference/godot/VERSION.md`) before suggesting any API
- Flags if the requested API is post-cutoff (e.g., Godot 4.4+ texture type changes)
- Provides the correct syntax for the project's pinned engine version
- If uncertain about post-cutoff behavior, explicitly states the uncertainty and directs to verified docs
### Case 5: Context pass — uses performance budget
**Input:** Performance budget from `technical-preferences.md` provided in context: 2ms GPU frame budget, max 200 draw calls. Request: "Optimize the forest rendering system."
**Expected behavior:**
- References the specific 2ms GPU budget and 200 draw call limit from the provided context
- Proposes optimizations calibrated to those exact targets (e.g., "batching reduces draw calls from 340 to ~180, within the 200 limit")
- Does NOT propose optimizations that would exceed the stated budgets in other dimensions
- Produces a ranked list of optimizations by expected impact vs. implementation cost
---
## Protocol Compliance
- [ ] Stays within declared domain (shaders, VFX, rendering optimization, art pipeline)
- [ ] Redirects art style decisions to art-director
- [ ] Returns structured findings (shader code, optimization specs with metrics, node graphs)
- [ ] Does not modify gameplay code files without explicit delegation
- [ ] Checks engine version reference before suggesting post-cutoff APIs
- [ ] Quantifies performance changes against stated budgets
---
## Coverage Notes
- Dissolve shader (Case 1) should include a visual test reference in `production/qa/evidence/`
- Engine version check (Case 4) confirms the agent treats VERSION.md as authoritative
- Performance budget case (Case 5) verifies the agent reads and applies provided context numbers