What problem does it solve? Keeping a project-level REPORT.md accurate and consistent across an AscendC kernel migration or backward-generation project is error-prone: tables drift from verification.json data, narrative creeps into data sections, and hand edits silently drop injection markers. This Skill automates report initialization, table refresh, and drift auditing so reports stay complete and customer-facing. ## Core Features & Use Cases - Table injection from verification.json: Runs gen_report_tables.py to regenerate the core-results, determinism, and performance tables between BEGIN-GEN/END-GEN markers, covering the full in-scope op cohort including deferred, blocked, and pending rows. - Skeleton initialization: Creates a canonical 9-section Chinese-language REPORT.md from the OUTPUT_PROJECT_LAYOUT spec when starting a new output/<project>/ port. - Drift auditing with quality lints: Dry-run mode checks section presence, row freshness, cross-link aliveness, and runs four report-quality lints (report-not-log, jargon, archive-link, concision) as blocking or advisory gates. - Use Case: After an AscendC operator lands DONE with a new verification.json, run the refresh mode to update the core-results table, verify the Report-vs-Log and jargon gates pass, and commit the updated REPORT.md. ## Quick Start Ask the agent to refresh the REPORT.md for your migration project by running /aog-report-gen with your project name, adding --init to create a new report skeleton or --audit for a read-only drift check.