Codex HTML Report
Use this skill when the output should live beyond the chat as a readable artifact:
- implementation closeouts with proof
- ops incidents, support cases, or deployment verification
- code reviews, architecture plans, research briefs, or complex explanations
- any durable report where layout, navigation, tables, screenshots, or collapsible evidence would improve comprehension
- when refreshing or creating durable browser-native proof reports.
- before calling a PR implementation ready when the user expects durable proof.
Do not use this skill for tiny answers, paste-ready support replies, one-command outputs, or when the user explicitly asks for Markdown/plain text.
Prefer the installed build-web-data-visualization:data-visualization vendor plugin when the main task is chart choice, analytical dashboard design, maps, Gantt timelines, UML/software diagrams, D3/Canvas/WebGL visualization, visualization accessibility/testing, or report/slide/PDF exports centered on data graphics. Use this skill for Codex work artifacts and proof reports; embed charts only when they support the report rather than being the product.
Goal
Create a self-contained browser-native report: lightweight, visually pleasing, evidence-first, dark-first by default, and readable from file:// with no build step.
The report should feel like a polished internal product, not a decorative dashboard. Preserve a rich but restrained editorial feel: a strong title, clear surface layering (page, panel, inset), restrained color, useful tables, timelines, proof blocks, and honest status over ornamental visuals. Keep the editorial polish without flattening into a plain admin page.
Default to dark mode/dark-first styling for read-mostly reports. A light mode override is allowed only when light mode is requested by the user, the destination platform requires it, or there is a clear accessibility/user-context reason. Avoid jarring mode switches after dark-mode work surfaces.
Boundaries
The report presents evidence. It does not replace the underlying work, review,
or verification. Keep the chat reply short and link the report path.
When the underlying task requires a specialist or formal review, complete that
review independently. A report can present the evidence but cannot approve the
change.
Do not let a report substitute for finishing the task. If the work
also requires installs, runtime sync, tests, commit/push, or cleanup, complete
those steps or name the real blocker before treating the report as done.
Default Location
Write reports under the current working context:
- preferred:
reports/YYYY-MM-DD-short-topic.html
- the active environment's designated deliverable directory wins
- projectless sessions: use the task's designated
outputs/ directory when
present, otherwise use the active Codex workspace directory
- existing repo convention wins if there is already a
reports/, docs/reports/, or similar artifact folder
Do not write to the home directory unless the user asks.
Template
Use templates/report.html as the canonical starting point. Copy it into the destination report and replace the sample content with task-specific content.
Do not hand-build a parallel report shell when this skill applies. Preserve the
canonical template signature unless the user explicitly asks for a different
design or the target platform requires a different structure:
- the
Codex HTML Report Template v... version comment
html lang="en" data-theme="dark"
- topbar tools for theme and print when keeping browser-native behavior
- the standard section anchors: outcome, next action, gates, changes,
verification, timeline, risks, and evidence
- reusable status pills, table wrappers, evidence
<pre> blocks, and print CSS
If you intentionally do not use templates/report.html, state the exception in
the report or closeout and explain why the canonical template was not suitable.
Keep the report single-file by default:
- embedded CSS
- minimal embedded JavaScript only for useful interactions such as collapsible evidence, copy buttons, or filtering
- no external fonts, CDNs, image dependencies, or build step unless the user asks
When improving the template itself, read references/template-improvements.md first and update it with the decision, reason, and verification. Use references/report-qa.md as the review checklist before calling a report or template change done.
Report Types
Choose the closest type and adapt the section labels:
implementation-closeout: summary, changes, verification, files, risks
ops-incident: status, impact, timeline, evidence, next action
support-case: ticket issue, current state, what was done, proof, customer-safe next step
code-review: verdict, findings, affected files, evidence, test gaps
research-brief: answer, sources/evidence, decision matrix, recommendation
architecture-plan: decision, constraints, proposed design, migration path, risks
Minimum Contract
Every substantial report must answer:
- What is the outcome?
- Is it done, partial, blocked, or risky?
- What changed or was discovered?
- How was it verified?
- What evidence supports the claim?
- If outcome is partial, risky, or blocked, include open risk items with a named risk owner or next action, and a due date when one is known.
- What remains uncertain?
- What should the user do next?
Visual Rules
Use a reusable visual system:
- dark-first base styling with comfortable contrast for long reading
- layered surfaces (page, panel, inset) with hairline borders and soft shadows so panels separate from the background
- an editorial hero: short eyebrow, strong title, one-line lede, then a key-facts strip
- status strip for Done / Partial / Blocked / Risk
- outcome panel with the plain-English verdict
- gate checklist for ops, migration, deployment, and incident reports
- proof rail for commands, logs, screenshots, tickets, and changed files
- tables for files, tests, risks, and decisions
- timestamped timeline for event order when it matters; use actual observed times, not generic "Step 1" labels alone
- collapsible appendix for raw evidence
- sticky or top navigation for longer reports, with explicit internal anchors on major sections (for example
#summary, #verification, #risks) and a matching table of contents that links to them
Avoid:
- huge decorative gradients
- overly slick teal/purple/blue "AI dashboard" accents
- fake metrics
- fake precision or invented event times
- low-information cards
- dense Markdown dumped into HTML
- external dependencies
- mobile overflow or clipped text
Accessibility Baseline
Build reports with accessibility defaults that reduce rework:
- target WCAG 2.1 AA checks for semantic headings, labels, contrast, and landmarks.
- ensure the report is fully keyboard reachable, including copy buttons and disclosure widgets, and that tab focus follows a logical focus order.
- add visible focus styles, and do not remove focus outlines unless a stronger visual is proven better.
- add descriptive alt text for informative images and meaningful icon controls.
- provide screen reader labels and table summaries so screen reader users can parse purpose quickly.
- respect prefers-reduced-motion by disabling non-essential transitions when reduced motion is requested.
- print and export checks are mandatory for durable artifacts:
- verify the browser print flow
- ensure the report exports cleanly to PDF when needed
- use page-break control to avoid breaking tables and code blocks across pages
- include
@media print CSS controls for margins, background behavior, link visibility, and page breaks when the report may be printed or exported
Evidence Rules
Prefer concrete proof:
- commands run and pass/fail result
- command evidence should include the exit code when available
- exact local file paths
- short log/output excerpts
- screenshots with absolute local paths when available
- source URLs or ticket IDs when used
- redacted proof for any sensitive material, including credentials and tokens
- explicit "not verified" entries for skipped or unavailable checks
- keep an asset budget: compress screenshots, avoid large embedded assets, and watch the file size; a report hiding megabytes of base64 is not lightweight
For redacted proof, include enough detail to confirm intent without exposing secret values, for example credentials purpose and owner, token type and short suffix, and the command or context where it was used.
Do not imply review of logs, attachments, code, or screenshots unless they were actually opened.
Provenance and Dating
Every substantial report should include a metadata strip in the visible header or footer with:
- generated at: timezone-aware timestamp for when the artifact was built
- report author: person or lane identity that created the report
- source revision: commit hash, ticket, source URL, or upstream artifact revision
- if updated later, note the revision delta from the previous version
Workflow
- Decide whether HTML is warranted. If the artifact is small, answer in chat.
- Check whether a review, workflow, domain, or authority skill must run first.
Reports do not approve risky work by themselves.
- Copy
templates/report.html to the destination report path.
- Replace the template content with the task-specific report. Keep only useful sections, but preserve the canonical template shell unless an explicit exception applies.
- Verify the HTML is self-contained and opens locally. For substantial reports, also validate the HTML with an HTML validator or lint pass; opening it locally does not catch malformed markup or broken anchors.
- Run a link integrity pass before closeout: every internal anchor resolves with no missing targets, and local evidence links point at files that exist.
- Check the layout at mobile and desktop viewport widths for overflow and clipped text.
- Run the checks in
references/report-qa.md when the report is substantial,
risky, reader-facing, or the template changed.
- If the report summarizes code, config, infra, automation, or skill changes,
verify the underlying work separately and record skipped checks explicitly.
- In the final chat reply, give the report path and a compact summary of what it contains.
Final Reply
Keep the chat closeout short:
- say the report was created
- link the absolute local path
- mention the report type and top-level status
- mention any verification limitation
1---2name: codex-html-report3description: Create durable, self-contained HTML reports from any agent session: proof and completed-work reports, implementation closeouts, deployment verification, code reviews, ops or support case summaries, research briefs, and architecture plans meant to be read in a browser. Includes evidence, verification, risks, next steps. Not for quick answers or when the user wants Markdown or plain text.4---56# Codex HTML Report78Use this skill when the output should live beyond the chat as a readable artifact:9- implementation closeouts with proof10- ops incidents, support cases, or deployment verification11- code reviews, architecture plans, research briefs, or complex explanations12- any durable report where layout, navigation, tables, screenshots, or collapsible evidence would improve comprehension13- when refreshing or creating durable browser-native proof reports.14- before calling a PR implementation ready when the user expects durable proof.1516Do not use this skill for tiny answers, paste-ready support replies, one-command outputs, or when the user explicitly asks for Markdown/plain text.1718Prefer the installed `build-web-data-visualization:data-visualization` vendor plugin when the main task is chart choice, analytical dashboard design, maps, Gantt timelines, UML/software diagrams, D3/Canvas/WebGL visualization, visualization accessibility/testing, or report/slide/PDF exports centered on data graphics. Use this skill for Codex work artifacts and proof reports; embed charts only when they support the report rather than being the product.1920## Goal2122Create a self-contained browser-native report: lightweight, visually pleasing, evidence-first, dark-first by default, and readable from `file://` with no build step.2324The report should feel like a polished internal product, not a decorative dashboard. Preserve a rich but restrained editorial feel: a strong title, clear surface layering (page, panel, inset), restrained color, useful tables, timelines, proof blocks, and honest status over ornamental visuals. Keep the editorial polish without flattening into a plain admin page.2526Default to dark mode/dark-first styling for read-mostly reports. A light mode override is allowed only when light mode is requested by the user, the destination platform requires it, or there is a clear accessibility/user-context reason. Avoid jarring mode switches after dark-mode work surfaces.2728## Boundaries2930The report presents evidence. It does not replace the underlying work, review,31or verification. Keep the chat reply short and link the report path.3233When the underlying task requires a specialist or formal review, complete that34review independently. A report can present the evidence but cannot approve the35change.3637Do not let a report substitute for finishing the task. If the work38also requires installs, runtime sync, tests, commit/push, or cleanup, complete39those steps or name the real blocker before treating the report as done.4041## Default Location4243Write reports under the current working context:44- preferred: `reports/YYYY-MM-DD-short-topic.html`45- the active environment's designated deliverable directory wins46- projectless sessions: use the task's designated `outputs/` directory when47 present, otherwise use the active Codex workspace directory48- existing repo convention wins if there is already a `reports/`, `docs/reports/`, or similar artifact folder4950Do not write to the home directory unless the user asks.5152## Template5354Use `templates/report.html` as the canonical starting point. Copy it into the destination report and replace the sample content with task-specific content.5556Do not hand-build a parallel report shell when this skill applies. Preserve the57canonical template signature unless the user explicitly asks for a different58design or the target platform requires a different structure:59- the `Codex HTML Report Template v...` version comment60- `html lang="en" data-theme="dark"`61- topbar tools for theme and print when keeping browser-native behavior62- the standard section anchors: outcome, next action, gates, changes,63 verification, timeline, risks, and evidence64- reusable status pills, table wrappers, evidence `<pre>` blocks, and print CSS6566If you intentionally do not use `templates/report.html`, state the exception in67the report or closeout and explain why the canonical template was not suitable.6869Keep the report single-file by default:70- embedded CSS71- minimal embedded JavaScript only for useful interactions such as collapsible evidence, copy buttons, or filtering72- no external fonts, CDNs, image dependencies, or build step unless the user asks7374When improving the template itself, read `references/template-improvements.md` first and update it with the decision, reason, and verification. Use `references/report-qa.md` as the review checklist before calling a report or template change done.7576## Report Types7778Choose the closest type and adapt the section labels:79- `implementation-closeout`: summary, changes, verification, files, risks80- `ops-incident`: status, impact, timeline, evidence, next action81- `support-case`: ticket issue, current state, what was done, proof, customer-safe next step82- `code-review`: verdict, findings, affected files, evidence, test gaps83- `research-brief`: answer, sources/evidence, decision matrix, recommendation84- `architecture-plan`: decision, constraints, proposed design, migration path, risks8586## Minimum Contract8788Every substantial report must answer:89- What is the outcome?90- Is it done, partial, blocked, or risky?91- What changed or was discovered?92- How was it verified?93- What evidence supports the claim?94- If outcome is partial, risky, or blocked, include open risk items with a named risk owner or next action, and a due date when one is known.95- What remains uncertain?96- What should the user do next?9798## Visual Rules99100Use a reusable visual system:101- dark-first base styling with comfortable contrast for long reading102- layered surfaces (page, panel, inset) with hairline borders and soft shadows so panels separate from the background103- an editorial hero: short eyebrow, strong title, one-line lede, then a key-facts strip104- status strip for Done / Partial / Blocked / Risk105- outcome panel with the plain-English verdict106- gate checklist for ops, migration, deployment, and incident reports107- proof rail for commands, logs, screenshots, tickets, and changed files108- tables for files, tests, risks, and decisions109- timestamped timeline for event order when it matters; use actual observed times, not generic "Step 1" labels alone110- collapsible appendix for raw evidence111- sticky or top navigation for longer reports, with explicit internal anchors on major sections (for example `#summary`, `#verification`, `#risks`) and a matching table of contents that links to them112113Avoid:114- huge decorative gradients115- overly slick teal/purple/blue "AI dashboard" accents116- fake metrics117- fake precision or invented event times118- low-information cards119- dense Markdown dumped into HTML120- external dependencies121- mobile overflow or clipped text122123## Accessibility Baseline124125Build reports with accessibility defaults that reduce rework:126- target WCAG 2.1 AA checks for semantic headings, labels, contrast, and landmarks.127- ensure the report is fully keyboard reachable, including copy buttons and disclosure widgets, and that tab focus follows a logical focus order.128- add visible focus styles, and do not remove focus outlines unless a stronger visual is proven better.129- add descriptive alt text for informative images and meaningful icon controls.130- provide screen reader labels and table summaries so screen reader users can parse purpose quickly.131- respect prefers-reduced-motion by disabling non-essential transitions when reduced motion is requested.132- print and export checks are mandatory for durable artifacts:133 - verify the browser print flow134 - ensure the report exports cleanly to PDF when needed135 - use page-break control to avoid breaking tables and code blocks across pages136 - include `@media print` CSS controls for margins, background behavior, link visibility, and page breaks when the report may be printed or exported137138## Evidence Rules139140Prefer concrete proof:141- commands run and pass/fail result142- command evidence should include the exit code when available143- exact local file paths144- short log/output excerpts145- screenshots with absolute local paths when available146- source URLs or ticket IDs when used147- redacted proof for any sensitive material, including credentials and tokens148- explicit "not verified" entries for skipped or unavailable checks149- keep an asset budget: compress screenshots, avoid large embedded assets, and watch the file size; a report hiding megabytes of base64 is not lightweight150151For redacted proof, include enough detail to confirm intent without exposing secret values, for example `credentials` purpose and owner, token type and short suffix, and the command or context where it was used.152Do not imply review of logs, attachments, code, or screenshots unless they were actually opened.153154## Provenance and Dating155156Every substantial report should include a metadata strip in the visible header or footer with:157- generated at: timezone-aware timestamp for when the artifact was built158- report author: person or lane identity that created the report159- source revision: commit hash, ticket, source URL, or upstream artifact revision160- if updated later, note the revision delta from the previous version161162## Workflow1631641. Decide whether HTML is warranted. If the artifact is small, answer in chat.1652. Check whether a review, workflow, domain, or authority skill must run first.166 Reports do not approve risky work by themselves.1673. Copy `templates/report.html` to the destination report path.1684. Replace the template content with the task-specific report. Keep only useful sections, but preserve the canonical template shell unless an explicit exception applies.1695. Verify the HTML is self-contained and opens locally. For substantial reports, also validate the HTML with an HTML validator or lint pass; opening it locally does not catch malformed markup or broken anchors.1706. Run a link integrity pass before closeout: every internal anchor resolves with no missing targets, and local evidence links point at files that exist.1717. Check the layout at mobile and desktop viewport widths for overflow and clipped text.1728. Run the checks in `references/report-qa.md` when the report is substantial,173 risky, reader-facing, or the template changed.1749. If the report summarizes code, config, infra, automation, or skill changes,175 verify the underlying work separately and record skipped checks explicitly.17610. In the final chat reply, give the report path and a compact summary of what it contains.177178## Final Reply179180Keep the chat closeout short:181- say the report was created182- link the absolute local path183- mention the report type and top-level status184- mention any verification limitation