What problem does it solve? During arch22-to-arch35 operator migration, each new operator requires a manually authored A3 reference runner and input generator before the phase_o25_a3_ref pipeline can run, creating a per-op bottleneck that blocks migration progress. ## Core Features & Use Cases - Automated script authoring: Parses the upstream ops-nn operator directory's test_aclnn_{op}.cpp and {op}_proto.cpp to emit run_a3_reference.py, input_gen.py, and manifest.json into the migration workspace. - Dual emission paths: Selects a torch_npu Python wrapper path when available, or falls back to a cpp-binary wrapper path emitting a C++ runner, CMakeLists.txt, and build script for operators without torch bindings. - Validation gates and idempotence: Enforces AST parsing, byte-budget guards, and structural invariants before writing, refuses to overwrite existing scripts, and emits failure markers instead of partial output. - Use Case: When phase_o25_a3_ref detects a missing run_a3_reference.py for a port_a3_to_a5 operator, invoke this skill with the operator directory and workspace to generate the reference runner automatically. ## Quick Start Run /aog-a3-author with the absolute path to the ops-nn operator directory and the target workspace directory to generate the A3 reference scripts.