SKILL.md
Anviloop Deck Builder
Purpose
Create a deck JSON for Polish/run_deck.ps1 that defines the nightly direction, jobs, and polish tasks while respecting Nightly Protocol rules.
Inputs to consult
C:/Dev/unityclean/headlessrebuildtool/Polish/rundeck.ps1C:/Dev/unityclean/headlessrebuildtool/Polish/pipelinedefaults.jsonC:/Dev/unityclean/headlessrebuildtool/Polish/Docs/NIGHTLYPROTOCOL.mdC:/Dev/unityclean/headlessrebuildtool/Polish/Docs/ANVILOOPRECURRING_ERRORS.mdC:/Dev/unityclean/headlessrebuildtool/Polish/Docs/MORNINGVIEW.md
Guardrails (must follow)
- Single-variable rule: do not change scenario and code in the same cycle.
- If a failure signature repeats twice, consult the ledger before changing code.
- Pins must exist in all requested repos (space4x, godgame) to avoid pathspec errors.
Deck design steps
- Choose a single nightly direction:
- Set one primary goalid or scenarioid. - Decide if the cycle is code-only or scenario-only.
- Select jobs:
- Use pipeline_defaults.json for defaults (title, scenario, seed, timeout, args). - Add overrides only when necessary.
- Apply risk checks:
- Scan the ledger for matching signatures. - Avoid scenarios with known unstable signatures unless explicitly testing a fix.
- Set queue + timing:
- Use C:/polish/queue unless instructed otherwise. - Keep pollsec, pendinggracesec, maxminutes aligned to expected run time.
Deck JSON template (minimal)
{
"queue_root": "C:/polish/queue",
"poll_sec": 60,
"pending_grace_sec": 600,
"max_minutes": 720,
"jobs": [
{
"title": "space4x",
"scenario_id": "space4x_collision_micro",
"scenario_rel": "Assets/Scenarios/space4x_collision_micro.json",
"seed": 7,
"timeout_sec": 90,
"repeat": 1,
"goal_id": "ARC",
"goal_spec": "Polish/Goals/arc_goal.json",
"base_ref": "origin/main",
"required_bank": "BANK_PASS",
"args": ["--telemetryEnabled", "1"]
}
]
}
Output format (concise)
When asked to create a deck, respond with:
Direction: <goal_id/scenario_id + code-only or scenario-only>
Jobs: <count + titles + repeats>
Risks: <ledger matches or INVALID gates>
Deck: <JSON>