Blog
Writing from Comma.
On sharing HTML reports, agents that publish and respond to feedback, scheduled routines, and honest comparisons with the tools next door.
Launches
Sharing & collaboration
Staged Publishing for HTML Reports: Edit a Shared Report Without Readers Seeing the Draft
Keep one share link for a report while you keep editing it. Readers see the last approved revision; reviewers see the latest draft. The new version goes live only when someone approves it.
Oct 26, 2026
Share an HTML Report Only With People at Your Company
Restrict an HTML report link to your company email domain: anyone signed in with a verified @yourcompany.com address can open it, everyone else gets nothing. No per-person invites, no shared password, checked server-side.
Oct 21, 2026
How to Get Sign-Off on an HTML Report (Approve or Request Changes)
Collect approvals on an HTML report the way you collect them on a pull request: reviewers approve or request changes, verdicts go stale when the content changes, and the share link can serve only the last approved version.
Oct 19, 2026
Website Feedback Tool: Comments on a Live Build That Your Coding Agent Can Read
Upload a built site, get a hosted preview, and let reviewers select any text on any page to leave a comment. Each comment keeps its page, element and build, and Claude Code or Cursor can pull the list over MCP and resolve items as it fixes them.
Sep 30, 2026
Share a Biome Report
Biome lints a monorepo in under a second and prints to a terminal. Use its JUnit reporter, convert it, and publish to Comma so the findings reach people who aren't at that terminal.
Sep 15, 2026
Share a cargo-nextest Report
cargo-nextest writes JUnit from a profile, not a flag. Configure it, convert the XML, and publish to Comma so a Rust suite becomes a link with a revision per run.
Sep 15, 2026
Share a Clippy Report
cargo clippy prints to a terminal and nowhere else. Pipe its JSON through clippy-sarif, render the SARIF, and publish to Comma so the lint backlog becomes triage-able.
Sep 15, 2026
Share a DeepEval Report
DeepEval runs as pytest, so pytest-html gives you a page. Publish it to Comma and the LLM test run becomes a URL the product owner can read and comment on.
Sep 15, 2026
Share a Detox Test Report
Detox runs on Jest, so an HTML reporter is one config line away. Publish the run to Comma and the React Native E2E suite becomes a link — artifacts, failures and all.
Sep 15, 2026
Share a DocFX Site
docfx build writes _site, which needs a server to browse. Publish the folder to Comma for a .NET API reference preview with anchored comments and no hosting.
Sep 15, 2026
Share a Docsify Site
Docsify renders markdown in the browser, which means opening index.html from disk shows nothing. Publish the folder to Comma and the docs load, sidebar and search included.
Sep 15, 2026
Share a Ginkgo Test Report
Ginkgo writes JUnit and JSON reports but no HTML. Convert the JUnit output, publish it to Comma, and a Go spec suite becomes a link teammates can open and comment on.
Sep 15, 2026
Share a Giskard Scan Report
Giskard's scan returns a report object with to_html(). Publish it to Comma and the bias, robustness and performance findings reach the people who have to sign off on the model.
Sep 15, 2026
Share a gosec Report
gosec has a built-in HTML writer: -fmt=html gives you the page directly. Publish it to Comma for a link with anchored threads and a revision per scan.
Sep 15, 2026
Share a hyperfine Benchmark
hyperfine exports JSON and Markdown, and ships plotting scripts. Render the comparison, publish it to Comma, and the 'it's faster now' claim comes with a URL.
Sep 15, 2026
Share a Jasmine Test Report
Jasmine's console reporter dies with the terminal. Write JUnit XML with jasmine-reporters, convert it, and publish to Comma for a link the team can open and comment on.
Sep 15, 2026
Share a Minitest Report
minitest-reporters writes a real HTML report from a Ruby suite. Publish it to Comma and the run becomes a link with anchored comments and a revision per run.
Sep 15, 2026
Share a Pest Test Report
Pest prints a beautiful terminal run and nothing you can send. Log JUnit, convert it, publish the page to Comma, and the suite becomes a URL the team can read and comment on.
Sep 15, 2026
Share a PHPStan Report
PHPStan has no HTML formatter, but it writes JUnit and Checkstyle. Convert either, publish to Comma, and the static-analysis backlog becomes something a team can triage together.
Sep 15, 2026
Share a pip-audit Report
pip-audit writes markdown, JSON and CycloneDX. Render the markdown, publish it to Comma, and the dependency advisories become a link with a revision per scan.
Sep 15, 2026
Share a pprof Profile
go tool pprof -http opens on your machine and nowhere else. Export an SVG flame graph or a speedscope page, publish it to Comma, and the profile becomes a link that still zooms.
Sep 15, 2026
Share a Psalm Report
Psalm writes SARIF, JUnit and Checkstyle but no HTML. Render the SARIF, publish it to Comma, and a PHP static-analysis backlog becomes a page people can triage and comment on.
Sep 15, 2026
Share a Ragas Evaluation
Ragas returns a DataFrame of per-sample scores. Render it to HTML, publish it to Comma, and the RAG evaluation becomes a link where domain experts can comment per row.
Sep 15, 2026
Share a Schemathesis Report
Schemathesis finds the request your OpenAPI schema said was fine. Export JUnit, convert it, and publish to Comma so the failing case reaches the API owner as a URL.
Sep 15, 2026
Share a Spectral Report
Spectral has a built-in HTML formatter, so an OpenAPI linting run is already a page. Publish it to Comma and the API guild can comment on the rules instead of arguing in a channel.
Sep 15, 2026
Share a Stylelint Report
Stylelint's formatters stop at the terminal. Use the JUnit custom formatter, convert it, and publish to Comma so CSS findings reach the designer who can actually settle them.
Sep 15, 2026
Share a Terrascan Report
Terrascan scans IaC against policy and writes SARIF, JUnit or JSON. Render it, publish to Comma, and the violations reach the module owners as a link with threads.
Sep 15, 2026
Share a TFLint Report
TFLint emits SARIF, JUnit and Checkstyle. Render one, publish it to Comma, and module findings reach the people who own the modules instead of scrolling past in CI.
Sep 15, 2026
Share a Valgrind Report
Valgrind output needs a GUI nobody else has installed. Render callgrind to SVG or memcheck XML to HTML, publish to Comma, and the finding travels as a link.
Sep 15, 2026
Share a VuePress Site
vuepress build writes .vuepress/dist, which needs a server to browse. Publish the folder to Comma for a per-branch docs preview with comments on the rendered page.
Sep 15, 2026
Share an AVA Test Report
AVA speaks TAP. Pipe it through tap-xunit, convert to HTML, and publish to Comma so a concurrent Node suite becomes a URL instead of a terminal buffer.
Sep 15, 2026
Share an Elementary Data Report
elementary's edr command writes a single HTML file of dbt test results and anomalies. Publish it to Comma and the analytics team gets a link instead of an S3 bucket.
Sep 15, 2026
Share an esbuild Metafile
esbuild's metafile is JSON until you render it. Build a treemap with esbuild-visualizer or Bundle Buddy, publish it to Comma, and the size regression becomes reviewable.
Sep 15, 2026
Share AsyncAPI Docs
The AsyncAPI generator writes a static HTML site from your spec. Publish it to Comma so producers and consumers can argue about the event schema on the rendered page.
Sep 15, 2026
How to Share a BrowserStack Test Session With a Client
BrowserStack session links expire and need a seat. Publish the run summary with the failing cases, logs and screenshots as a page anyone can open.
Sep 14, 2026
How to Share a Chromatic Build With Reviewers Outside Your Team
Chromatic builds need a seat and a Chromatic login. Publish the changed stories as a page so designers, PMs and clients can review without being provisioned.
Sep 14, 2026
How to Share a ClearML Experiment From a Self-Hosted Server
A self-hosted ClearML server is on your VPN, so nobody outside it can open a task link. Publish the results as a page and share a URL that works anywhere.
Sep 14, 2026
How to Share a Comet ML Experiment With People Outside the Workspace
Comet panels and reports need a workspace seat. Export the figures and metrics into a page and share a URL your stakeholders can actually open.
Sep 14, 2026
How to Share a draw.io Diagram With Someone Who Won't Install It
A .drawio file is XML your reader can't open and a Google Drive link needs the add-on. Export to HTML or SVG, publish it, and send a URL that just opens.
Sep 14, 2026
How to Share a Graphviz Diagram
dot -Tsvg gives you a file, not a link. Publish the SVG as a page so a dependency or call graph opens in a browser with text selectable and searchable.
Sep 14, 2026
How to Share a Maestro Mobile Test Report (2026)
maestro test writes JUnit XML and a debug folder to your machine. Turn the run into a page with the failing flows and screenshots and share a URL.
Sep 14, 2026
How to Share a Mermaid Diagram So It Actually Renders (2026)
Mermaid renders on GitHub and nowhere else your reader looks. Publish the diagram as HTML with mermaid.js inlined and send a URL that renders everywhere.
Sep 14, 2026
How to Share a Percy Visual Diff With Someone Without a Seat
Percy builds live behind a BrowserStack login, so designers and PMs can't approve a diff. Publish the changed snapshots as a page and send a URL.
Sep 14, 2026
How to Share a PlantUML Diagram Without a Server (2026)
PlantUML renders to SVG on a server your reader can't reach, and the public encoder leaks your architecture. Publish the rendered SVG as a page and send a URL.
Sep 14, 2026
How to Share a Structurizr C4 Model With Non-Engineers
Structurizr Lite runs on localhost and the cloud workspace needs seats. Export the static site or the diagrams and publish them as a URL anyone can open.
Sep 14, 2026
How to Share an Applitools Eyes Result Outside the Test Manager
Applitools Eyes keeps results in a Test Manager behind a login. Publish the failing checkpoints as a page so anyone can see the visual bug and comment on it.
Sep 14, 2026
How to Share an Excalidraw Drawing as a Link (2026)
Excalidraw's share link is a live collaborative room, not a document. Export to SVG, publish it, and send a stable URL that can't be edited out from under you.
Sep 14, 2026
How to Share Azure ML Job Results Without a Studio Login
Azure ML Studio needs an Entra ID account and an RBAC role on the workspace. Publish job metrics and plots as a page so stakeholders can read them without either.
Sep 14, 2026
How to Share Sauce Labs Test Results Outside Your Org
Sauce Labs jobs live behind an account and age out. Publish the run summary with failures, logs and screenshots so anyone can read it, now or next year.
Sep 14, 2026
How to Share Vertex AI Results Without Granting Console Access
Seeing a Vertex AI experiment or pipeline run means an IAM role on the GCP project. Publish the results as a page and keep console access to the people who need it.
Sep 14, 2026
Share a Bruno API Test Report
bru run --reporter-html writes a self-contained API test report. Publish it to Comma from CI: a stable URL, comments on the failing request, a revision per run.
Sep 14, 2026
Share a Bun Test Report
bun test has no HTML reporter. Turn its JUnit or lcov output into a report and publish it to Comma: one URL per suite, comments on failures, a revision per run.
Sep 14, 2026
Share a CDK Diff
cdk diff shows the IAM and security-group changes that matter and buries them in a CI log. Render it to HTML, publish to Comma, and get approval anchored on the resource.
Sep 14, 2026
Share a clang-tidy Report
clang-tidy prints to a terminal. CodeChecker turns a run into a browsable HTML report — publish it to Comma so reviewers triage findings at a link instead of in a CI log.
Sep 14, 2026
Share a Cppcheck HTML Report
cppcheck-htmlreport turns XML into a browsable report with the source inline. Publish it to Comma so reviewers open a link instead of rebuilding your toolchain.
Sep 14, 2026
Share a D-Tale View
D-Tale is a Flask app on your laptop, so the link dies when you close the notebook. Export the static chart or profile and publish it to Comma for a URL that outlives the session.
Sep 14, 2026
Share a D2 Diagram
D2 renders SVG with live links, tooltips and multi-board animation. Publish it to Comma for a URL where all of that survives — instead of a PNG of an architecture you have to re-explain.
Sep 14, 2026
Share a Deno Test Report
deno test writes lcov and JUnit, not HTML. Convert once, publish to Comma, and hand over a link: coverage drill-down intact, comments on failures, a revision per run.
Sep 14, 2026
Share a DocC Archive
A .doccarchive is not a website, and static hosting needs rewrites most people do not have. Build the static-hosting output, publish it to Comma, and hand over a URL.
Sep 14, 2026
Share a flake8 HTML Report
flake8-html turns a wall of terminal output into a browsable per-file report. Publish it to Comma: one URL, comments on the violations worth fixing, a revision per run.
Sep 14, 2026
Share a kepler.gl Map
kepler.gl exports a self-contained HTML map with the data baked in. Publish it to Comma for a URL where the layers, filters and time playback still work.
Sep 14, 2026
Share a ktlint HTML Report
ktlint's html reporter writes one self-contained file. Publish it to Comma from Gradle or CI: a stable link, comments on the rules worth changing, a revision per run.
Sep 14, 2026
Share a Leaflet Map
A Leaflet page loads its tiles and GeoJSON over the network, which a file:// origin blocks. Publish it to Comma and the map pans, zooms and popups work for everyone.
Sep 14, 2026
Share a LIME Explanation
LIME writes a self-contained HTML explanation with the feature weights and the highlighted text. Publish it to Comma so the person questioning the model can actually read it.
Sep 14, 2026
Share a mypy HTML Report
mypy --html-report writes a per-module type-coverage site nobody opens. Publish it to Comma from CI: one URL, a revision per run, and comments on the module worth annotating next.
Sep 14, 2026
Share a Pulumi Preview
A pulumi preview is the most important thing in the pipeline and it lives in a log. Render it to HTML, publish to Comma, and get line-anchored approval on the resources that change.
Sep 14, 2026
Share a PyCaret Report
PyCaret's leaderboard, plots and dashboard live inside a notebook nobody else runs. Export them to HTML and publish to Comma: one link, comments on the model you picked.
Sep 14, 2026
Share a reg-suit Report
reg-suit builds an HTML report with side-by-side and slider diffs, then wants a bucket to publish it to. Skip the bucket: publish the report folder to Comma and get a link.
Sep 14, 2026
Share a Statoscope Report
Statoscope compiles a webpack stats file into one self-contained HTML report with diffs and validation. Publish it to Comma so a bundle regression is a link, not a screenshot.
Sep 14, 2026
Share a SwiftLint HTML Report
SwiftLint's html reporter writes a single self-contained file. Publish it to Comma from CI: a URL per run, comments on the rules worth arguing about, a revision trail.
Sep 14, 2026
Share a WebPageTest Result
WebPageTest results age out of the public instance and private instances need a login. Export the run, publish it to Comma, and keep the filmstrip and waterfall at one URL.
Sep 14, 2026
Share a whylogs Report
whylogs profiles compare two datasets and render a drift report as HTML. Publish it to Comma so the drift finding reaches the team that owns the upstream table.
Sep 14, 2026
Share an Ansible Playbook Report
ARA records every Ansible task and generates a static HTML report. Publish it to Comma for a link per run: hosts, tasks, failures and durations, with comments where they matter.
Sep 14, 2026
Share an Evidence.dev Build
Evidence builds a static BI site from SQL and markdown. Publish the build folder to Comma for one link per report — no hosting, private by default, with comments on the numbers.
Sep 14, 2026
Share an Observable Plot
Observable Plot renders to a DOM node, not a file. Wrap it in one HTML page, publish to Comma, and the chart is a URL with tooltips and interaction intact.
Sep 14, 2026
Share Compodoc Output
Compodoc builds a documentation/ folder with search, dependency graphs and a coverage page. Publish the folder to Comma for one link per branch — no Pages workflow, no bucket.
Sep 14, 2026
Share ExDoc Output
mix docs writes a doc/ folder with search and a sidebar. HexDocs only takes published packages. Publish the folder to Comma for one private URL per app, with comments.
Sep 14, 2026
Share Go Package Docs
Go docs are a running server, not a file, so an internal module has no URL. Generate a static copy of pkgsite output and publish it to Comma — one link, private, with comments.
Sep 14, 2026
Share Scaladoc
sbt doc writes an API site into target/. Publish the folder to Comma for one link per version: search intact, private by default, with comments on the signature that needs explaining.
Sep 14, 2026
Share SpecFlow LivingDoc
LivingDoc builds one self-contained HTML file of your features with test results folded in. Publish it to Comma so the people who wrote the scenarios can actually read them.
Sep 14, 2026
Share a DVC Report
`dvc plots show` writes an HTML file and opens your browser. Publish that file to Comma so the metrics diff for a DVC experiment reaches reviewers who do not have the repo or the remote.
Sep 12, 2026
Share a Hex Notebook or App
Hex published apps live behind workspace access or a public link with no middle ground. Export the notebook to HTML and publish it to Comma for a link with per-report access and comments.
Sep 12, 2026
Share a Nextra Site
Nextra builds on Next.js, so `output: 'export'` gives you an out/ folder. Publish it to Comma for a preview link with working search and sub-pages, and comments anchored to the text.
Sep 12, 2026
Share a Nuclei Report
nuclei -me writes a markdown export and -j gives you JSONL. Render either to HTML and publish it to Comma so findings get a link, a triage thread, and a run history.
Sep 12, 2026
Share a Sigma Dashboard
Sigma workbooks need a licensed viewer or an embed setup. Export the workbook and publish it to Comma for a link anyone can open, with comments anchored to the numbers.
Sep 12, 2026
Share a Starlight Docs Site
Astro Starlight builds to dist/ with search, sidebar and dark mode. Publish the folder to Comma for a preview URL where reviewers can comment on the page instead of on a screenshot.
Sep 12, 2026
Share a SvelteKit Build
adapter-static gives SvelteKit a build/ folder you can host anywhere. Publish it to Comma for a preview URL where the app hydrates and reviewers comment on the rendered page.
Sep 12, 2026
Share a TensorBoard Report
TensorBoard runs on localhost:6006 and TensorBoard.dev is gone. Export the scalars to a self-contained HTML page and publish it to Comma so the training curves live at a URL anyone can open.
Sep 12, 2026
Share a tfsec Report
tfsec ships an HTML formatter, so `tfsec --format html` gives you a file. Publish it to Comma so the findings get a URL, a triage thread per rule, and a revision per run.
Sep 12, 2026
Share a Vite Build
`vite build` writes dist/ with hashed assets under /assets/. Publish the folder to Comma for a preview URL that hydrates, with comments anchored to the rendered UI.
Sep 12, 2026
Share a Weights & Biases Report
W&B reports live behind a team login. Export the run history to a self-contained HTML chart and publish it to Comma so anyone with the link can read the curves and comment on them.
Sep 12, 2026
Share an Angular Build
`ng build` writes dist/<app>/browser with absolute asset paths. Publish the folder to Comma for a preview link that runs, with reviewer comments anchored to the rendered UI.
Sep 12, 2026
Share an Optuna Dashboard
optuna-dashboard is a server on localhost. Export the optimization history, importance and parallel-coordinate plots to one HTML file and publish it to Comma so the sweep is reviewable at a link.
Sep 12, 2026
Share CodeQL Results
CodeQL emits SARIF, which GitHub renders only inside the repo's security tab. Render the SARIF to HTML and publish it to Comma so reviewers without access can read and triage the alerts.
Sep 12, 2026
Share Mintlify Docs for Review
Mintlify preview links come with the plan and the dashboard. Export or build your docs and publish them to Comma for a review URL anyone can open and comment on paragraph by paragraph.
Sep 12, 2026
Share Scalar API Docs
Scalar renders an OpenAPI spec into a modern reference page. Publish the standalone HTML to Comma so reviewers can read the endpoints and comment on the ones that are wrong.
Sep 12, 2026
Share a bookdown Book
bookdown renders a multi-page site with cross-references and a search index. Publish the folder to Comma so the navigation and citations work at a URL.
Sep 8, 2026
Share a Burp Suite Report
Burp exports a self-contained HTML report with request and response evidence. Publish it to Comma for a revocable URL with a thread per issue instead of an emailed attachment.
Sep 8, 2026
Share a Catch2 Report
Catch2's best feature is showing you the values inside a failing assertion. Convert its XML to HTML and publish to Comma so that detail reaches the reader intact.
Sep 8, 2026
Share a Chart.js Chart
A Chart.js page is HTML plus a CDN script — trivial to build, awkward to send. Publish it to Comma for a URL where the tooltips and legend toggles still work.
Sep 8, 2026
Share a Clinic.js Report
clinic doctor writes an HTML report that only opens on the machine that made it. Publish it to Comma for a URL your team can open, and comment on the event-loop stall.
Sep 8, 2026
Share a Cobertura Coverage Report
Cobertura XML is a format, not a report. Render it with pycobertura or ReportGenerator and publish to Comma for a URL where the uncovered lines are actually visible.
Sep 8, 2026
Share a Criterion.rs Benchmark Report
cargo bench writes target/criterion/report — a folder of linked pages and SVG plots that breaks when opened from the filesystem. Publish it to Comma for a working URL.
Sep 8, 2026
Share a CTest Report
CTest writes XML for CDash, and most teams never deploy one. Convert the results to HTML and publish to Comma for a URL with the failing tests and a comment thread.
Sep 8, 2026
Share a D3 Visualization
A D3 visualization is the interaction. Publish it to Comma for a URL where the brush, the zoom and the transitions still work — instead of a GIF of them.
Sep 8, 2026
Share a Flame Graph
A flame graph SVG is interactive until you send it. GitHub strips its scripts, Slack flattens it to a preview. Publish it to Comma for a URL where click-to-zoom and Ctrl-F still work.
Sep 8, 2026
Share a GoogleTest Report
GoogleTest writes XML, not HTML. Convert it and publish to Comma so a C++ failure arrives as a readable report with a comment thread, instead of 4,000 lines of CI log.
Sep 8, 2026
Share a Grype Report
grype prints a table and writes JSON, neither of which survives a Slack paste. Render it to HTML and publish to Comma for a URL with a comment thread per CVE.
Sep 8, 2026
Share a Highcharts Chart
Highcharts' drilldown and range selector are the reason you chose it. Publish the HTML to Comma for a URL where they still work, rather than a flat export.
Sep 8, 2026
Share a JMH Benchmark Report
JMH prints a score and a ± that everyone drops when they quote it. Render the JSON with jmh-visualizer and publish to Comma for a URL where the confidence interval survives.
Sep 8, 2026
Share a License Report
license-checker, pip-licenses and cargo-about all dump a list nobody outside engineering can read. Render it and publish to Comma so legal gets a URL that stays current.
Sep 8, 2026
Share a Lightdash Dashboard Outside the dbt Team
Lightdash dashboards need a seat and a warehouse connection. Publish a snapshot to Comma so stakeholders get the metrics at a URL, with the dbt definitions attached.
Sep 8, 2026
Share a memray Report
memray flamegraph writes a self-contained HTML you cannot attach anywhere useful. Publish it to Comma for a URL where the allocation tree still expands, and the leak has a comment thread.
Sep 8, 2026
Share a Pentest Report
A penetration test report is the most sensitive document your team will circulate this quarter. Publish it to Comma with named-reviewer access, per-finding threads and a remediation trail.
Sep 8, 2026
Share a pkgdown Site
pkgdown builds a multi-page reference site with a search index that breaks from the filesystem. Publish the docs folder to Comma for a working URL, no GitHub Pages needed.
Sep 8, 2026
Share a py-spy Profile
py-spy record writes an interactive SVG that loses its zoom in GitHub and Slack. Publish it to Comma for a URL where the flame graph still zooms, searches and can be commented on.
Sep 8, 2026
Share a pydeck Map
deck.to_html() writes a WebGL map that only opens locally. Publish it to Comma for a URL where the layers, camera and tooltips still work for everyone.
Sep 8, 2026
Share a pyinstrument Report
pyinstrument --html writes a self-contained call tree you can only open locally. Publish it to Comma for a URL colleagues can expand, search and comment on.
Sep 8, 2026
Share a Redash Dashboard With Someone Who Has No Redash Account
Redash dashboards live behind a login and a data-source connection. Publish a snapshot to Comma so stakeholders get the numbers without a seat or a public share link.
Sep 8, 2026
Share a SARIF Report
SARIF is a machine format, not a report. Render it to HTML and publish to Comma so CodeQL, Semgrep and every other scanner's findings land somewhere people will actually read them.
Sep 8, 2026
Share a Scalene Report
Scalene writes an HTML profile that splits Python time from native time line by line. Publish it to Comma for a URL your team can read and annotate instead of a screenshot.
Sep 8, 2026
Share a speedscope Profile
speedscope keeps your profile local, which is great for privacy and terrible for review. Publish the viewer and the trace together to Comma for one URL that opens in any browser.
Sep 8, 2026
Share a TruffleHog Report
TruffleHog finds verified live credentials. Publishing that list needs more care than any other scan output — here is how to render it, redact it, and share it revocably.
Sep 8, 2026
Share an Amazon QuickSight Dashboard Without an AWS Account
QuickSight readers need an identity and a per-reader charge. Publish a snapshot to Comma so stakeholders get the numbers at a URL, with no IAM and no seat.
Sep 8, 2026
Share an Appium Report
A mobile test failure is unreadable without the screenshot and the device log. Publish the Appium report to Comma so the evidence travels with the result.
Sep 8, 2026
Share an AsciiDoc / Asciidoctor HTML Document
Asciidoctor renders one HTML file — until diagrams and includes turn it into a folder. Publish it to Comma for a URL with the TOC, the diagrams and a comment thread.
Sep 8, 2026
Share an async-profiler Report
async-profiler writes a self-contained interactive flame graph HTML. Publish it to Comma for a link where the zoom and search still work, instead of a screenshot in a channel.
Sep 8, 2026
Share an autocannon Report
autocannon prints a table that turns into unreadable ASCII in Slack. Render it to HTML and publish it to Comma for a URL with the percentiles intact and a place to argue about them.
Sep 8, 2026
Share an OpenVAS / Greenbone Report
Greenbone exports vulnerability reports as HTML, PDF or XML. Publish the HTML to Comma for a revocable URL with a thread per host instead of an attachment nobody can recall.
Sep 8, 2026
Share an SBOM
CycloneDX and SPDX are formats for machines. When a customer or auditor asks for your SBOM, render it and publish to Comma so they get a readable URL, not a 4 MB JSON file.
Sep 8, 2026
Box Won't Preview HTML Files
Box stores your HTML report and won't render it: viewers get a download or a blank preview. How to share an HTML report from Box so it opens as a page.
Sep 6, 2026
How to Share a Folder of HTML Files (index.html + assets) in 2026
Multi-file HTML output — index.html plus assets, images and sub-pages — breaks when you send one file. How to share a whole HTML folder so every relative link still works.
Sep 6, 2026
How to Share a Datadog Dashboard
Datadog's public dashboard sharing puts your metrics on an unauthenticated URL, and every other route costs a seat. What each option exposes, plus the scheduled HTML digest that keeps one commentable link.
Sep 4, 2026
How to Share a Deepnote Notebook or App With People Outside Your Workspace
Deepnote sharing is workspace-scoped, and publishing a notebook as an app makes it reachable by link. Where each option fits, and how to export an executed HTML copy for readers who should not have a workspace seat.
Sep 4, 2026
How to Share a Google Colab Notebook
Colab sharing runs on Drive permissions, so a reader still needs a Google account and the notebook may not include its outputs. What each option does, plus exporting an executed HTML copy anyone can open and comment on.
Sep 4, 2026
How to Share a Gradio App
Gradio's share=True link is a temporary tunnel to your laptop, and Hugging Face Spaces is public unless you pay for private. What each option really costs, plus publishing a static result page when the demo is over.
Sep 4, 2026
How to Share a Grafana Dashboard
A Grafana share link asks for a login, a snapshot strips the live data, and PDF export is an Enterprise feature. The realistic options compared, plus the scheduled HTML digest that gives you one stable URL people can comment on.
Sep 4, 2026
How to Share a Kaggle Notebook Outside Kaggle
A Kaggle notebook is either public to the whole community or shared with named Kaggle users — there is no middle. How the visibility settings work, and how to export an executed HTML copy for readers who are not on Kaggle.
Sep 4, 2026
How to Share a Kibana Dashboard With People Who Have No Kibana Access
Kibana share links require a login, PNG and PDF reporting sits behind a paid Elastic subscription tier, and a screenshot in Slack is unquotable. The realistic options, plus the scheduled HTML digest that keeps one commentable URL.
Sep 4, 2026
How to Share a Looker Studio Report
Looker Studio sharing depends on whether the data source uses owner or viewer credentials, and scheduled delivery lands as a flat PDF email. What each setting really does, plus the digest pattern that keeps one commentable URL.
Sep 4, 2026
How to Share a Metabase Dashboard
Metabase public links expose data to anyone with the URL, static embedding needs a signed token and an app to host it, and subscriptions land as flat email. The trade-offs compared, plus the digest pattern that keeps one link and a comment thread.
Sep 4, 2026
How to Share a Plotly Dash App Without Deploying a Server
Dash callbacks run in Flask, so there is no static export of a Dash app. When the reader only needs the figures, the same Plotly charts render to one self-contained HTML file you can publish and comment on.
Sep 4, 2026
How to Share a Power BI Report Without a Pro Licence for Every Reader
Sharing a Power BI report normally means a Pro licence per viewer, and Publish to web puts your data on the open internet. The licensing reality explained, plus the exported-digest pattern for readers you cannot license.
Sep 4, 2026
How to Share a Streamlit App
Streamlit apps need a running Python process, so there is no file you can send. Community Cloud is public and sleeps when idle; self-hosting is a service to own. Plus the static snapshot pattern for when the audience only needs the findings.
Sep 4, 2026
How to Share a Tableau Dashboard
Tableau Public makes everything world-readable, Tableau Server and Cloud need a licensed seat per viewer, and a .twbx needs Desktop or Reader. The options compared, plus the exported-digest pattern for readers you cannot license.
Sep 4, 2026
How to Share a Voilà Dashboard
Voilà turns a notebook into a dashboard by keeping a Jupyter kernel running per viewer, which is why there is no static export. Hosting options, the ipywidgets limitation, and the nbconvert route when readers only need the results.
Sep 4, 2026
How to Share an Amazon SageMaker Notebook Result Without an AWS Account
SageMaker Studio notebooks live behind IAM, so sharing means granting a role in your AWS account. How the shareable-notebook snapshot works, and how to publish an executed HTML render for readers who should never have IAM access.
Sep 4, 2026
How to Share an Apache Superset Dashboard Outside Your Superset
A Superset dashboard permalink still requires a login, and the Alerts & Reports screenshot path needs Celery plus a headless browser. What actually works for readers with no Superset account, and how to keep one link across weeks.
Sep 4, 2026
How to Share an Apache Zeppelin Notebook Outside the Cluster
Zeppelin notebooks live inside the server that runs your Spark cluster, and the paragraph publish feature is an iframe back into it. What actually reaches a reader with no cluster access, and how to keep one commentable URL.
Sep 4, 2026
How to Share an R Shiny App
Shiny needs a live R process, so shinyapps.io free tier is public with 25 active hours a month. Shinylive compiles to static WebAssembly, and an R Markdown render covers the case where readers only need the findings.
Sep 4, 2026
Share an MLflow Run Report Without Giving Out Tracking Server Access
The MLflow UI is a server on your network and its artifacts are objects in a bucket. Publish the run comparison as HTML so the people judging the model can actually open it.
Sep 2, 2026
Share a BackstopJS Report
BackstopJS writes an HTML report with reference, test and diff images side by side. Publish it to Comma so the approve-or-fix decision happens on the diff itself, with a revision per run.
Sep 1, 2026
Share a Codeception HTML Report
codecept run --html writes a browsable report with the failing steps expanded. Publish it to Comma for one URL per suite, comments on individual failures, and a revision per run.
Sep 1, 2026
Share a dependency-cruiser Report
dependency-cruiser writes an HTML report of your module graph and rule violations. Publish it to Comma so architecture arguments happen on the graph, with a revision per run.
Sep 1, 2026
Share a Gatsby Site Preview
gatsby build writes a static public/ directory. Publish it to Comma for a private preview link with anchored comments and a revision per build, instead of provisioning hosting for a review.
Sep 1, 2026
Share a HoloViews Plot
hv.save() writes a standalone HTML file with the Bokeh interactions intact. Publish it to Comma for a link where panning, hovering and linked selections still work — and people can comment on it.
Sep 1, 2026
Share a jscpd Duplication Report
jscpd's HTML reporter writes a browsable duplication report. Publish it to Comma so the refactor conversation happens on the clones themselves, with a revision per run to show the trend.
Sep 1, 2026
Share a jupyter nbconvert HTML Export
nbconvert --to html gives you one self-contained file. Publish it to Comma with one curl for a stable URL, anchored comments on individual cells, and a revision every time you re-run the notebook.
Sep 1, 2026
Share a Karate Test Report
Karate writes an HTML report per run with the full request and response for every step. Publish it to Comma for one URL per suite, threads on individual scenarios, and a revision per run.
Sep 1, 2026
Share a KICS Scan Report
KICS writes an HTML report of your Terraform, Kubernetes and CloudFormation findings. Publish it to Comma for a stable URL per stack, threads on individual queries, and a revision per scan.
Sep 1, 2026
Share a Kubescape Report
Kubescape scans a cluster or manifests against NSA, MITRE and CIS controls and writes an HTML report. Publish it to Comma for one URL per cluster, threads per control, and a revision per scan.
Sep 1, 2026
Share a MultiQC Report
MultiQC aggregates QC output into one interactive HTML report. Publish it to Comma so collaborators open a URL, annotate the outlier sample, and every re-run appends a revision.
Sep 1, 2026
Share a Next.js Static Export
next build with output: 'export' writes a static out/ directory. Publish it to Comma for a private preview link with anchored comments, without provisioning a deploy target.
Sep 1, 2026
Share a Nextflow Execution Report
nextflow run -with-report writes an HTML execution report with per-process resource usage. Publish it to Comma for one URL per pipeline, notes on the slow process, and a revision per run.
Sep 1, 2026
Share a Nightwatch HTML Report
Nightwatch's built-in HTML reporter writes a browsable report with screenshots. Publish it to Comma from CI for one URL per suite, threads on individual failures, and a revision per run.
Sep 1, 2026
Share a Nikto Scan Report
Nikto's -Format htm writes a self-contained report. Publish it to Comma so each scan has a URL, each finding can be triaged in a thread, and every re-scan appends a revision.
Sep 1, 2026
Share a Nuxt Static Site Preview
nuxt generate writes a prerendered site to .output/public. Publish it to Comma for a private preview link with anchored comments and a revision per build, no hosting to set up.
Sep 1, 2026
Share a Panel App as HTML
Panel's .save() writes a self-contained HTML file with the widgets embedded. Publish it to Comma so a dashboard is a link, with anchored comments and a revision each time the data refreshes.
Sep 1, 2026
Share a Papermill Notebook Run
Papermill executes a notebook with parameters; nbconvert renders it. Publish the result to Comma so every run has a link, a revision history, and somewhere for the reviewer to leave a note.
Sep 1, 2026
Share a pgBadger Report
pgBadger turns Postgres logs into one interactive HTML report. Publish it to Comma so the slow query gets a thread, the DBA and the app team read the same page, and each run is a revision.
Sep 1, 2026
Share a Rollup Visualizer Report
rollup-plugin-visualizer writes stats.html — an interactive treemap of your Rollup or Vite bundle. Publish it to Comma for one URL per app, threads on individual modules, and a size history.
Sep 1, 2026
Share a testssl.sh Report
testssl.sh writes an HTML file with --htmlfile. Publish it to Comma for one URL per host, anchored notes on individual cipher findings, and a revision every time you re-scan.
Sep 1, 2026
Share a Vegeta Load Test Plot
vegeta plot writes an interactive HTML latency chart. Publish it to Comma for one URL per scenario, comments anchored to the spike, and a revision per run to compare against.
Sep 1, 2026
Share a WebdriverIO Test Report
WebdriverIO's HTML reporters write a browsable run report. Publish it to Comma from CI so every run lands at the same URL, with anchored threads on failures and a revision history.
Sep 1, 2026
Share a Zola Site Preview
zola build writes a static public/ directory. Publish it to Comma for a private preview link with anchored comments and a revision per build, without setting up hosting first.
Sep 1, 2026
Share an Infracost Report
infracost output --format html writes a cost breakdown for a Terraform change. Publish it to Comma so the cost conversation happens on the line item, with a revision per plan.
Sep 1, 2026
Share an InSpec Report
inspec exec --reporter html2 writes a browsable control report. Publish it to Comma so auditors read a URL, exceptions are recorded on the control, and every run appends a revision.
Sep 1, 2026
Share an Unlighthouse Report
Unlighthouse scans every route and builds a static report. Publish it to Comma so the whole site's scores live at one URL, with threads on individual pages and a revision per scan.
Sep 1, 2026
Share Redoc API Docs
redocly build-docs bundles an OpenAPI spec into a single HTML file. Publish it to Comma so reviewers comment on the endpoint itself, and each spec change lands as a revision at one URL.
Sep 1, 2026
Share SchemaSpy Database Docs
SchemaSpy generates a browsable HTML view of a database schema with relationship diagrams. Publish it to Comma so the schema is a URL, questions land on the table, and each run is a revision.
Sep 1, 2026
Share Swagger UI Docs
Publish a Swagger UI build to Comma so reviewers read the rendered endpoints instead of the YAML, comment on the operation itself, and see each spec change as a revision at one URL.
Sep 1, 2026
Share a Behave HTML Report
behave -f html writes one self-contained page of Gherkin scenarios and failures. Publish it to Comma so non-engineers can read the run and comment on a scenario.
Aug 31, 2026
Share a Flutter Test and Coverage Report
flutter test --coverage writes lcov.info, which is not a report. Convert with genhtml, publish the folder, and get annotated Dart source at a URL with threads on the uncovered branch.
Aug 31, 2026
Share a Gitleaks Report
Gitleaks emits JSON and SARIF full of the secrets it found. Convert to HTML, publish it with the access set first, and triage on the finding — with redaction on, not off.
Aug 31, 2026
Share a golangci-lint HTML Report
golangci-lint writes HTML natively. Publish the page to Comma for a link the team can triage on, with anchored threads per finding and a revision per run.
Aug 31, 2026
Share a Jekyll Build
jekyll build writes _site/ with absolute asset paths that break outside a server root. Publish it to Comma for a preview URL with comments on the page.
Aug 31, 2026
Share a Maven Site Report
mvn site builds a whole project report — tests, coverage, static analysis, javadoc, dependencies — into target/site, then leaves it there. Publish the folder as one cross-linked link.
Aug 31, 2026
Share a PMD HTML Report
pmd check -f html writes a browsable violations report. Publish it to Comma for a URL with anchored threads per rule and a revision per run.
Aug 31, 2026
Share a Pylint HTML Report
pylint --output-format=json piped through pylint-json2html gives you a browsable report. Publish it to Comma so the cleanup conversation happens on the findings.
Aug 31, 2026
Share a Ruff Report as HTML
Ruff has no HTML writer, but it emits SARIF and JUnit. Convert either, publish the page to Comma, and the Python lint backlog becomes a URL people can triage on.
Aug 31, 2026
Share a Slidev Deck
slidev build writes an SPA to dist/. Publish it to Comma for a URL that keeps the animations, code highlighting and presenter navigation intact.
Aug 31, 2026
Share a source-map-explorer Report
source-map-explorer --html writes one self-contained treemap. Publish it to Comma so the bundle-size conversation happens on the treemap, not on a screenshot.
Aug 31, 2026
Share a TestCafe HTML Report
testcafe --reporter html writes one page of end-to-end results. Publish it to Comma for a URL with screenshots attached, anchored comments and a revision per run.
Aug 31, 2026
Share a VitePress Build
vitepress build writes an SPA under .vitepress/dist. Publish it to Comma for a preview URL where the sidebar, search and theme toggle all work.
Aug 31, 2026
Share an Android Test Report
connectedAndroidTest writes an HTML report into app/build/reports that dies with the CI runner. Publish it: one link per run, failure screenshots attached, threads on the flaky test.
Aug 31, 2026
Share an Antora Docs Site
Antora assembles docs from many repos into one site, which means nobody can preview their change without running the whole build. Publish build/site as a link and review the assembled result.
Aug 31, 2026
Share an Artillery Load Test Report
Artillery v2 removed the built-in HTML reporter, so the JSON output has nowhere to go. Generate a page from it, publish to a URL, and discuss the p99 next to the p99.
Aug 31, 2026
Share an Astro Build
astro build writes dist/ with absolute /_astro/ asset paths. Publish the folder to Comma for a preview URL where the islands hydrate and reviewers can comment.
Aug 31, 2026
Share an axe Accessibility Report
axe-core outputs JSON; axe-html-reporter turns it into a readable page. Publish it to Comma so design, engineering and QA triage the same violations together.
Aug 31, 2026
Share an ECharts HTML File
An ECharts page that loads the library from a CDN can render blank when the CDN is blocked. Vendor echarts.min.js, publish to Comma, and the chart stays interactive.
Aug 31, 2026
Share an Eleventy Build
Eleventy writes _site/ and hands you a folder. Publish it to Comma for a preview URL where reviewers can comment on the rendered page instead of the markdown.
Aug 31, 2026
Share an Istanbul / nyc Coverage Report
nyc writes a coverage/ folder with one HTML page per source file. Publish the tree to Comma for a URL that keeps the drill-down, the sorting and the per-line highlighting intact.
Aug 31, 2026
Share an mdBook
mdbook build writes book/ with a search index it loads at runtime. Publish the folder to Comma for a URL where navigation, search and themes work.
Aug 31, 2026
Share an NUnit HTML Report
NUnit writes TestResult.xml; the HTML comes from a logger or ReportUnit. Publish it to Comma for a link teammates can open and comment on, with a revision per run.
Aug 31, 2026
Share an Observable Framework Build
Observable Framework builds a static dist/ of interactive data pages. Publish it to Comma for a private URL with anchored comments on the charts.
Aug 31, 2026
Share an OSV-Scanner HTML Report
osv-scanner --format html writes a self-contained vulnerability report. Publish it to Comma for a link security and engineering can triage on together.
Aug 31, 2026
Share an xUnit HTML Report
xunit.runner.console -html writes one page; dotnet test --logger html does the same. Publish it to Comma for a URL with anchored comments and a revision per run.
Aug 31, 2026
Share Dokka HTML Docs
Dokka's HTML output fetches its navigation and search index, so it breaks on file://. Publish the folder to Comma and the whole site works at a URL.
Aug 31, 2026
Share JSDoc Output
jsdoc -d docs/ writes a multi-page site with its own CSS and scripts. Publish the folder to Comma for a URL where the nav and search still work.
Aug 31, 2026
Share phpDocumentor Output
phpDocumentor writes a multi-page docs/ site with its own assets and search. Publish the folder to Comma for a URL where navigation and search resolve.
Aug 31, 2026
Share Rustdoc
cargo doc builds target/doc and stops. docs.rs only serves published crates, so private and workspace crates have nowhere to live. Publish the folder: search intact, one link per release.
Aug 31, 2026
Share YARD Docs
yard doc writes a doc/ folder that needs a server to browse properly. Publish it to Comma for a URL where the index, search and frames all resolve.
Aug 31, 2026
Password-Protect an HTML Report (and Why You Often Shouldn't)
A password on a static HTML file is decoration — the JavaScript check ships with the page. What actually restricts a report: identity-based access and a server-side password gate.
Aug 30, 2026
Share a Brakeman Report
brakeman -f html -o brakeman.html produces a single self-contained file that still ends up as a screenshot in a channel. Publish it to Comma so each finding gets a thread and a decision.
Aug 30, 2026
Share a Checkov Report
Checkov scans Terraform and Kubernetes and hands you CLI output or JUnit XML. Convert to HTML, publish it from CI, and triage misconfigurations on the finding instead of in a spreadsheet.
Aug 30, 2026
Share a detekt HTML Report
detekt writes build/reports/detekt/detekt.html and Gradle promptly buries it. Publish the report to Comma for a URL where each finding gets a thread and a decision.
Aug 30, 2026
Share a Hugo Site Preview
hugo builds public/ in milliseconds and then you need somewhere to put it just so one person can look. Publish the build to Comma for a private preview URL with comments.
Aug 30, 2026
Share a Jupyter Book
jupyter-book build produces _build/html and then asks you to deploy it. Publish it in one drag instead: the whole book at a URL, search working, and comments anchored to the paragraph.
Aug 30, 2026
Share a marimo Notebook as HTML
marimo export html gives you a static notebook; html-wasm gives you a runnable one. Both are folders that need serving. Publish either to Comma for a URL with anchored comments.
Aug 30, 2026
Share a Pa11y CI Accessibility Report
pa11y-ci with the HTML reporter writes a report per page into a folder. Publish it to Comma so designers, engineers and the a11y reviewer argue about the same issues at one link.
Aug 30, 2026
Share a PIT Mutation Testing Report
PIT writes an HTML mutation report full of relative links and CSS. Publish the whole folder to Comma for a URL where the team can argue about which surviving mutants matter.
Aug 30, 2026
Share a promptfoo Eval Report
promptfoo eval -o results.html gives you a comparison grid nobody else can open. Publish it to Comma so the team can argue about the failing rows at a URL, run after run.
Aug 30, 2026
Share a Prowler Report
Prowler writes an HTML report per scan into output/. Publish it to Comma so auditors and engineers read the same findings at one URL — private, revisioned, and annotated in place.
Aug 30, 2026
Share a Quarto HTML Report
quarto render writes report.html plus a report_files/ folder, and the folder is why emailing the file never works. Publish the render to Comma for a URL with comments and revisions.
Aug 30, 2026
Share a RuboCop HTML Report
rubocop --format html --out rubocop.html turns 4,000 lines of terminal output into a browsable report. Publish it to Comma so the team can argue about the cops in one place.
Aug 30, 2026
Share a Rust Coverage Report
cargo tarpaulin and cargo llvm-cov both write HTML that dies with the CI runner. Publish it: annotated source at a stable link, threads on the uncovered branch, a revision per run.
Aug 30, 2026
Share a Scout Suite Report
Scout Suite writes an HTML report that loads its results from a sibling JavaScript folder, so it can't be emailed as one file. Publish the whole output directory to Comma.
Aug 30, 2026
Share a SimpleCov Coverage Report
SimpleCov writes coverage/index.html plus assets, and it never leaves the machine that ran the specs. Publish the folder to Comma for a link the whole team can open and annotate.
Aug 30, 2026
Share a sitespeed.io Report
sitespeed.io writes a whole static site of performance results, filmstrips and waterfalls. Publish the run folder to Comma for a URL the team can open and annotate.
Aug 30, 2026
Share a SpotBugs HTML Report
SpotBugs writes an HTML report into build/reports or target/site, where nobody reads it. Publish it to Comma so each bug pattern gets triaged in place instead of in a CI log.
Aug 30, 2026
Share a Stryker Mutation Report
Stryker's mutation.html is a single self-contained file that never leaves the runner. Publish it to Comma for a URL where surviving mutants get triaged instead of ignored.
Aug 30, 2026
Share a Vega-Lite Chart
A Vega-Lite chart exported to PNG loses the tooltips, the brushing and the linked selection that justified building it. Publish the HTML instead: one link, still interactive, comments on the mark.
Aug 30, 2026
Share an HTML Report in Slack
Slack won't render an .html upload — it becomes a download nobody opens. Post a link instead: a preview card in the channel, the real report one click away, and comments that outlive the scroll.
Aug 30, 2026
Share an Inspect AI Eval Log
inspect view bundle turns an eval log directory into a static site. Publish that bundle to Comma so reviewers can open the samples, read the transcripts, and comment — without installing Inspect.
Aug 30, 2026
Share an Xcode Test Report
An .xcresult bundle only opens in Xcode, on a Mac, by someone with the project. Convert it to HTML and publish it: one link per run, screenshots attached, threads on the failing test.
Aug 30, 2026
Share Doxygen Docs
Doxygen writes html/ with thousands of files and no host. Publish it in one drag: search intact, call graphs intact, one link per release, and comments on the function that needs explaining.
Aug 30, 2026
Dropbox Stopped Rendering HTML Files
Dropbox disabled HTML rendering on shared links in 2017. Why your report now downloads instead of opening, why the ?raw=1 trick no longer works, and how to publish the file as a real URL.
Aug 29, 2026
Google Drive Won't Render Your HTML File
Drive stopped serving HTML as web pages in 2016. Why your shared .html link downloads instead of rendering, the workarounds that don't work, and how to get a real URL that opens in a browser.
Aug 29, 2026
How To Open an HTML File on iPhone or Android
Mail and Files won't render an .html attachment on a phone — you get raw markup or a download with nowhere to go. What actually works on iOS and Android, and the one fix that works on both.
Aug 29, 2026
Share a Checkstyle, PMD or SpotBugs Report
Java static analysis writes HTML into build/reports and stops there. Publish it from CI so reviewers read findings at a URL — and argue with the rule on the finding, not in a Slack thread.
Aug 29, 2026
Share a Docusaurus Build
npm run build gives you a build/ folder and a hosting decision. Publish it as a link instead: the real site at a URL, comments anchored to the paragraph that is wrong, no deploy preview needed.
Aug 29, 2026
Share a Go Test Report
go test prints to a terminal and go tool cover writes a file only you can open. Generate the HTML, publish it from CI, and get one link per package with comments on the uncovered branch.
Aug 29, 2026
Share a Gradle Test Report
Gradle writes an HTML test report to build/reports/tests/test that only exists on the machine that ran the build. Publish it from CI: one URL per module, threads on failing tests, a revision per run.
Aug 29, 2026
Share a Karma or Angular Test Report
ng test --code-coverage writes a coverage folder that dies with the CI runner. Publish it to a URL: annotated source at a stable link, threads on the uncovered branch, a revision per run.
Aug 29, 2026
Share a PHPUnit Coverage Report
PHPUnit's --coverage-html writes a folder that only exists in your build. Publish it to a URL: annotated source at a stable link, threads on the uncovered branch, a revision per run.
Aug 29, 2026
Share a reveal.js Presentation
reveal.js decks are a folder of HTML, CSS and plugins that nobody can open from a zip. Publish the deck to a URL that keeps the transitions, the speaker notes and the fragments — and takes comments per slide.
Aug 29, 2026
Share a Semgrep Report
Semgrep emits JSON and SARIF, which nobody reads. Convert to HTML, publish it from CI, and get one link per scan with triage threads anchored to the finding instead of a spreadsheet.
Aug 29, 2026
Share a SonarQube Report
SonarQube's findings live behind a server login half your reviewers don't have. Generate an HTML issues report in CI, publish it to a URL, and let people comment on the findings they disagree with.
Aug 29, 2026
Share Javadoc
Javadoc builds a directory nobody outside your build can open. Publish it to a URL for a branch, an internal library, or a partner — with comments anchored to the class that needs a better doc.
Aug 29, 2026
Share Marp Slides
Marp turns markdown into an HTML deck. Publishing it is the missing step: one command from your build, a permanent URL per deck, and comments anchored to the slide someone is arguing with.
Aug 29, 2026
Share TypeDoc Output
TypeDoc builds a docs/ folder that needs hosting before anyone can read it. Publish it in one drag or one CI step: a link per release, search intact, comments on the type that needs explaining.
Aug 29, 2026
SharePoint and OneDrive Won't Open Your HTML File
Modern SharePoint blocks custom script, so .html in a document library downloads instead of rendering. Why NoScript is on by default, why turning it off is the wrong fix, and what to do instead.
Aug 29, 2026
Send a Report to a Client Without a PDF, a Login, or a 40 MB Attachment
Deliverables that arrive as email attachments get lost, and portals make the client sign up. Publish the HTML once: a link they open in one click, comments that land on the report, revisions that show what changed.
Aug 28, 2026
Serve an HTML File Locally
`python -m http.server` fixes the blank report in ten seconds. It does not fix sending it to anyone. What a local server does and doesn't solve, the tunnel option, and when to just publish.
Aug 28, 2026
Share a .NET Coverage Report
`dotnet test` gives you Cobertura XML; ReportGenerator turns it into a browsable HTML tree. Publish the tree to Comma — drill-down intact, one stable URL per branch, comments on the uncovered lines.
Aug 28, 2026
Share a Deepchecks Report
`suite_result.save_as_html()` gives you one self-contained file that only opens in your notebook environment. Publish it: a URL, anchored comments on the failing check, a revision every run.
Aug 28, 2026
Share a Pandas DataFrame as HTML
`df.to_html()` writes a bare <table> with no <head> and no CSS. What to send instead, how to keep the formatting with Styler, and how to turn the table into a link people can comment on.
Aug 28, 2026
Share a Serenity BDD Report
`mvn serenity:aggregate` writes target/site/serenity — hundreds of files whose whole value is the click-through. Publish the directory to Comma: one link, evidence intact, comments on the failing step.
Aug 28, 2026
Share Pandoc HTML Output
`pandoc --standalone --embed-resources` gives you a document that works anywhere except in someone else's inbox. Publish it to Comma: a URL, anchored comments, and revisions when you re-render.
Aug 28, 2026
Upload an HTML File and Get a Link
Turn an .html file into a URL you can send. Drag one file, a whole output directory, or a zip; keep the CSS and JS working; choose who can open it. No repo, no build, no bucket.
Aug 28, 2026
Where to Host a Single HTML File
GitHub Pages, S3, Netlify Drop, tiiny.host, ngrok, a local server. What each costs you for one HTML report — public by default, a repo you don't want, or an hour of setup — and what to use instead.
Aug 28, 2026
Emailing an HTML Report
HTML attachments get quarantined, pasted report markup gets mangled by Outlook, and 30 MB never arrives. Send a link that renders faithfully and collects comments instead.
Aug 25, 2026
Embed an HTML Report in Confluence
Confluence Cloud won't render an attached HTML file and has no HTML macro. Publish the report to Comma and iframe the embed URL with your Atlassian origin allow-listed — the page stays current on its own.
Aug 25, 2026
Embed an HTML Report in Notion
Notion won't render an uploaded .html file, and /embed needs a URL that allows framing. Publish the report to Comma, allow-list your Notion origin, and the block stays current on every refresh.
Aug 25, 2026
My HTML Report Lost Its CSS
An HTML report that renders as unstyled text or an empty page almost always fails for one of five reasons. How to tell which one, the fix for each, and how to stop it recurring.
Aug 25, 2026
Share a Bandit Report
bandit -f html writes a findings file that dies in the CI job. Publish it to Comma as a private report: one link for the reviewers, a thread per finding, and a revision per run.
Aug 25, 2026
Share a MkDocs Site Privately
mkdocs build gives you a site/ folder and then a hosting decision you didn't want to make. Publish the build to Comma for an access-controlled link with comments on the page itself.
Aug 25, 2026
Share a SHAP Plot
shap.save_html writes an interactive force plot that only opens on your machine. Publish it to Comma: a link the risk reviewer or product owner can open, with comments on the feature they're questioning.
Aug 25, 2026
Share a TestNG Report
TestNG writes index.html and emailable-report.html into test-output/, then the workspace is wiped. Publish the folder to Comma for a stable link, a revision per run, and comments on the failures.
Aug 25, 2026
Share an Altair Chart
chart.save('chart.html') gives you an interactive Vega-Lite chart in a file nobody can open. Publish it to Comma: a link with the zoom, tooltips and selections intact, and comments on the outlier.
Aug 25, 2026
Share an ESLint HTML Report
eslint -f html writes a single self-contained file that nobody ever looks at. Publish it to Comma: one link, a thread per rule you're arguing about, and a revision per run showing the count coming down.
Aug 25, 2026
Share an Extent Report
ExtentSparkReporter writes Spark.html into target/ and it dies with the build. Publish the report folder to Comma for a stable URL, screenshots intact, and a thread per failed test.
Aug 25, 2026
Share an HTML Report in Microsoft Teams
Upload an .html file to a Teams channel and SharePoint hands it back as a download instead of rendering it. Publish the report to a link that opens in the browser, with access control and comments.
Aug 25, 2026
Share an lcov / genhtml Coverage Report
genhtml writes a directory of per-file HTML that only makes sense together. Publish the whole thing to Comma: one URL, source drill-down intact, comments on the uncovered lines.
Aug 25, 2026
Someone Sent Me an HTML File
An .html file that opens blank, loses its styling, or won't open at all on a phone. Why local HTML files break, what to try first, and how to turn the file into a link anyone can open.
Aug 25, 2026
Share a Benchmark Report
Criterion, pytest-benchmark and JMH all produce HTML nobody sees. Publish the report to Comma for a link with anchored comments and a revision per run, so a 12% regression gets discussed, not screenshotted.
Aug 24, 2026
Share a JaCoCo Coverage Report
JaCoCo writes target/site/jacoco/ and Maven archives it where nobody looks. Publish the report to Comma for one browsable URL, comments on the uncovered class, and a revision per build.
Aug 24, 2026
Share a Jupyter Notebook as HTML
jupyter nbconvert --to html gives you a self-contained file nobody can open. Publish it to Comma for a URL that renders the plots, keeps the outputs, and lets a reviewer comment on cell 14.
Aug 24, 2026
Share a Profiling Report
pyinstrument and clinic.js write self-contained HTML profiles that never leave your laptop. Publish one to Comma for a URL where the call tree stays explorable and the fix gets discussed on the hot frame.
Aug 24, 2026
Share a Static Storybook Build
storybook-static/ is a folder your designer can't open. Drag the build into Comma for a browsable URL with anchored comments on the component that's wrong, and a revision per build.
Aug 24, 2026
Share a Sweetviz Report
Sweetviz writes a self-contained HTML file that only opens on your machine. Publish it to Comma for a URL where the train/test comparison stays interactive and a reviewer can question a column.
Aug 24, 2026
Share a Vitest HTML Report
vitest --reporter=html writes a folder that only opens through a local server. Publish it to Comma for a URL teammates can open, comment on, and compare run to run.
Aug 24, 2026
Share an Nmap Scan Report
nmap -oX plus xsltproc gives you a readable HTML scan report. Publish it to Comma as a private report with anchored comments, so 'that port is the load balancer' is recorded, not re-explained.
Aug 24, 2026
Share an OWASP Dependency-Check Report
dependency-check-report.html lands in a CI artifact and expires unread. Publish it to Comma for a URL with anchored comments, so 'this CVE isn't reachable' is recorded once instead of re-argued every scan.
Aug 24, 2026
Share an RSpec HTML Report
rspec --format html writes a single self-contained file. Publish it to Comma for a URL your team can open, comment on the failing spec, and compare against the last run.
Aug 24, 2026
Share a Bokeh Plot
Bokeh's save() writes a standalone HTML file that loads BokehJS from its own CDN. Publish it to Comma with INLINE resources and you get a URL where the tools, tooltips and linked brushing still work.
Aug 23, 2026
Share a Bundle Analyzer Report
webpack-bundle-analyzer and rollup-plugin-visualizer write one self-contained HTML treemap. Publish it to Comma: the treemap stays zoomable, the 400 KB dependency gets a comment thread, and each build is a revision.
Aug 23, 2026
Share a Databricks Notebook
Export a Databricks notebook to HTML and publish it to Comma: stakeholders read the charts and tables at a URL, comment on the number they question, and never touch your workspace.
Aug 23, 2026
Share a Folium Map
m.save('map.html') gives you a pannable Leaflet map that only you can open. Publish it to Comma for a URL where the map still zooms, the markers still pop, and a colleague can comment on a cluster.
Aug 23, 2026
Share a Mochawesome Report
Mochawesome writes a good-looking HTML report into a folder nobody opens. Publish it to Comma: one link per suite, a comment thread on the flaky test, and a revision per run instead of a build artifact.
Aug 23, 2026
Share a Plotly Chart as a Link
fig.write_html() gives you an interactive chart trapped in a local file. Publish it to Comma for a URL where hover, zoom and legend toggles still work — and where a colleague can comment on the spike.
Aug 23, 2026
Share a Snyk Report
snyk-to-html turns Snyk JSON into one readable file. Publish it to Comma for a URL per project, threads on individual advisories, and a revision per scan — no Snyk seat required to read it.
Aug 23, 2026
Share a ydata-profiling Report
ydata-profiling (pandas-profiling) writes one huge self-contained HTML file that email rejects and Slack truncates. Publish it to Comma for a URL, anchored comments on individual columns, and a revision per refresh.
Aug 23, 2026
Share an npm audit Report
npm audit output is 900 lines of terminal text nobody re-reads. Render it to HTML, publish it to Comma, and get a link where each advisory has a thread and each run is a revision.
Aug 23, 2026
Share an OWASP ZAP Report
ZAP writes one self-contained HTML report per scan. Publish it to Comma: a stable URL per target, a comment thread on each alert so triage decisions survive, and a revision per scan you can diff.
Aug 23, 2026
Share OpenAPI Docs
Build your OpenAPI spec into a single HTML file with Redocly, publish it to Comma, and get a URL where reviewers comment on the endpoint they disagree with — before the API ships.
Aug 23, 2026
Share Sphinx Docs
Sphinx builds a directory of HTML you cannot email. Drop the _build/html folder into Comma: cross-page links keep working, reviewers comment on the paragraph they object to, and there is no docs server to run.
Aug 23, 2026
Embed an HTML Report in Your Own Site
Drop a live Comma report into your docs, intranet or customer portal with a div and a script tag. Origin-allow-listed, sandboxed, and always the current revision — no iframe of a file server, no stale export.
Aug 22, 2026
Share a Cucumber HTML Report
Cucumber's HTML formatter writes one self-contained file that CI then buries in an artifact zip. Publish it to Comma with one curl: a stable URL per suite, threads pinned to failing scenarios, a revision per run.
Aug 22, 2026
Share a Gatling Report
Gatling writes index.html plus js/ and style/ directories, so a lone HTML upload renders blank. Publish the index to Comma and upload the siblings as assets: one stable URL, comments on the p99, a revision per run.
Aug 22, 2026
Share a Jest HTML Report
jest-html-reporter output ends up as a CI artifact zip nobody opens. Publish it to Comma with a single curl: a stable URL per suite, threads anchored to failing tests, and a revision for every run.
Aug 22, 2026
Share a Locust Load Test Report
Locust's --html report is a single self-contained file that dies in a CI artifact zip. Publish it to Comma with one curl: a stable URL, comments on the p95 row, and a revision per run you can diff.
Aug 22, 2026
Share a Robot Framework Report
Robot Framework writes report.html and log.html as self-contained files, and CI hides both in an artifact zip. Publish them to Comma with one curl: a stable link, comments on failing keywords, a revision per run.
Aug 22, 2026
Share a Trivy Scan Report
Trivy's HTML template output beats scrolling CI logs for CVEs. Publish it to Comma with one curl: a stable URL per image, threads on individual findings for triage, and a revision per scan you can diff.
Aug 22, 2026
Share an Accessibility Report
Accessibility findings are fixed by designers and content owners who have no CI access. Publish the axe or pa11y HTML report to Comma: one stable URL, a thread per violation, and a revision per run showing what got fixed.
Aug 22, 2026
Share an Evidently Drift Report
Evidently writes a self-contained HTML report that ends up in a notebook nobody else runs. Publish it to Comma: one URL per model, comments on the drifted feature, and a revision per run that shows the trend.
Aug 22, 2026
Share an R Markdown Report
rmarkdown::render writes a self-contained HTML file, and it still ends up as an email attachment. Publish it to Comma with one httr call: a stable URL, comments anchored to a specific figure or table, and a revision per rerun.
Aug 22, 2026
Turn JUnit XML Into a Shareable HTML Report
JUnit XML is a machine format your teammates can't read, and CI's test tab is locked to CI users. Convert it to HTML, publish it to Comma with one curl, and get a stable URL with comments on failing tests.
Aug 22, 2026
Share a Cypress Test Report
Cypress has no built-in shareable report — mochawesome writes a file your team can't open. Publish it to Comma: one stable URL per suite, videos and screenshots attached, anchored comments on each failing spec, a revision per run.
Aug 21, 2026
Share a JMeter HTML Dashboard
JMeter's HTML dashboard is a folder of files that only works locally. Publish a run summary to Comma with one curl: a stable URL per test plan, comments anchored to the slow transaction, and a revision per run.
Aug 21, 2026
Share a Newman / Postman Run Report
newman-reporter-htmlextra writes a file only you can open. Publish the collection run to Comma with one curl: a stable URL per collection, comments anchored to the failing request, and a revision per run you can diff.
Aug 21, 2026
Share a Security Scan Report
Trivy, Semgrep and npm audit output ends up in CI logs nobody triages. Publish the scan as an HTML report with one curl: a private URL per scan, a comment thread per finding, and a revision per run that shows what's new.
Aug 21, 2026
Share a Terraform Plan
Terraform plan output dies in PR comments: truncated at the character limit, unreadable in monospace, impossible to comment on line by line. Publish an HTML plan summary to Comma — one URL per stack, anchored comments on the destroys, a revision per run.
Aug 21, 2026
Share an Interactive HTML Report
Most ways to share an HTML report kill its JavaScript: email strips it, Confluence disables the macro, Jenkins' CSP blocks it, GitHub renders markdown. Comma stores report HTML verbatim and runs it in a sandboxed iframe — Chart.js, Plotly and D3 dashboards keep working behind a private link.
Aug 21, 2026
Share Great Expectations Data Docs
Great Expectations builds Data Docs as a static site you then have to host. Publish a validation run to Comma with one curl instead: a stable URL, comments anchored to the failed expectation, and a revision per run.
Aug 21, 2026
How to Share an Allure Report
Allure reports are a JavaScript app that breaks when opened from the filesystem and expires when the CI artifact does. Hosting options compared, plus the digest-plus-archive pattern that gives you a stable link and comments.
Aug 19, 2026
Share a k6 Load Test Report
k6's terminal summary scrolls away and the HTML export lands in a CI artifact zip. Publish each load test to a stable URL with a revision per run, so p95 regressions are a diff instead of an argument.
Aug 19, 2026
Share dbt Docs With Analysts Who Don't Have a dbt Account
dbt docs generate makes a static site that only runs locally or behind a paid seat. Publish the catalog to a stable URL your analysts, PMs and auditors can open — with comments on the models they question.
Aug 19, 2026
Share a Lighthouse Report
Lighthouse JSON is unreadable and the HTML report is a file on someone's laptop. Publish either one to Comma: one stable URL per site, anchored comments on each opportunity, and a revision per run.
Aug 18, 2026
Share a pytest HTML Report
pytest-html writes a report nobody can open. Publish it to Comma from CI with one curl: a stable URL per suite, anchored comments on failing tests, and a revision per run you can diff.
Aug 18, 2026
Share an EDA Report
ydata-profiling, Sweetviz and D-Tale write a big self-contained HTML file that email rejects. Publish it to Comma for one private link, anchored comments on individual columns, and a revision per refresh.
Aug 18, 2026
Share an HTML Coverage Report
coverage.py and Istanbul write a folder of HTML nobody can open. Drag htmlcov/ into Comma and get one browsable link, anchored comments on uncovered lines, and a revision per run.
Aug 18, 2026
Share a Playwright HTML Report
Stop digging Playwright reports out of CI artifact zips. Publish a run summary to Comma with one curl: a stable URL per suite, anchored comments on failing tests, and a revision per run you can diff.
Jul 2, 2026
Google Docs for HTML
Google Docs gave documents a comment layer. Comma does the same for HTML — dashboards, notebook outputs, AI tool exports, eval reports. Faithful rendering, anchored comments, stable share links.
May 22, 2026
How to Leave Anchored Comments on an HTML Report
Pin a comment to a paragraph or a table cell inside a rendered HTML report. Comma adds a Google-Docs-style anchored comment layer outside the iframe — the rendering stays intact.
May 22, 2026
How to Share an HTML Report with Your Team for Feedback
Sharing an HTML report shouldn't require a screenshot. Comma renders any HTML faithfully at a stable link, with anchored comments your team can pin to specific text and table cells.
May 22, 2026
Stop Screenshotting Reports Into Slack
The screenshot-into-Slack workflow loses detail, scatters feedback, and produces no canonical artifact. Comma keeps the report rendered live and the comments anchored — same link every time.
May 22, 2026
AI agents
Share a Bolt.new Project for Review
Bolt builds and runs a full-stack app in the browser, which makes it easy to demo and awkward to review. How to hand reviewers a fixed build with anchored comments instead of a link into your workspace.
Sep 29, 2026
Share a Lovable App for Review
Lovable publishes an app in one click; collecting feedback on it still happens in screenshots and DMs. How to give reviewers a fixed version with comments pinned to the exact element, and route those comments back to the agent.
Sep 29, 2026
Share a v0 Design for Feedback
v0 turns a prompt into a working UI in minutes; getting useful feedback on it takes longer. How to hand a v0 page to reviewers as a fixed version they can comment on, line by line, without a Vercel account.
Sep 29, 2026
Share a Gemini Canvas Page for Review
Gemini Canvas builds HTML pages and dashboards beside the chat. How to take the page out of the conversation, share the exact version you mean, restrict who sees it, and collect comments on specific lines.
Sep 27, 2026
How to Share a Giskard Scan Report (2026)
Giskard's scan produces an HTML report that renders in a notebook and nowhere else. Publish it so risk, legal and product can read the findings and reply.
Sep 14, 2026
How to Share a TruLens Evaluation Without the Dashboard
TruLens runs its leaderboard on a local Streamlit dashboard nobody else can reach. Export the feedback scores and traces into a page and share a URL.
Sep 14, 2026
How to Share an AgentOps Session Replay With Your Team
AgentOps session replays live behind a dashboard login and tell you what the agent did, not what it produced. Publish a run summary anyone can read and reply to.
Sep 14, 2026
How to Share lm-evaluation-harness Results (2026)
lm-eval prints a markdown table and writes JSON to a path. Publish the table, the config and the sample-level output as a page people can read and argue with.
Sep 14, 2026
Share a CrewAI Crew's Output
CrewAI's output_file writes report.html to the machine that ran the crew. Publish the final task's result instead and the crew kickoff returns a URL anyone can open.
Sep 14, 2026
Share a LlamaIndex Workflow's Output
A LlamaIndex workflow ends with a StopEvent holding a report nobody can open. Publish from the final step and return a URL — plus the citations that justify it.
Sep 14, 2026
Share a Mastra Agent's Output
Mastra agents and workflows return text to whatever called them. Add a createTool that publishes, or attach Comma via MCPClient, and every run ends with a URL.
Sep 14, 2026
Share a PydanticAI Agent's Output
PydanticAI gives you a validated output type. Make the report a URL in that type: add an @agent.tool that publishes, or attach Comma's MCP server.
Sep 14, 2026
Share an AutoGen Run's Output
An AutoGen group chat ends with the answer buried in a message list and any HTML in a code-executor work_dir. Publish the final artifact and return a URL instead.
Sep 14, 2026
Share an n8n Workflow's Output
n8n can build the report but not host it. Add an HTTP Request node that publishes the HTML, then send the URL to Slack or email instead of an attachment.
Sep 14, 2026
Share Claude Agent SDK Output
A Claude Agent SDK run writes files into a sandbox you don't ship. Attach Comma's MCP server so query() ends with a report URL your reader can actually open.
Sep 14, 2026
Share OpenAI Agents SDK Output
Runner.run returns final_output and nothing anyone can open. Add a @function_tool or attach Comma's MCP server so the agent ends a run with a URL.
Sep 14, 2026
Share a LangGraph Run's Output
A LangGraph run ends with a report in state and nobody to read it. Add a publish node, return a URL, and let the graph read the comments on its next run.
Sep 13, 2026
Share a Braintrust Eval Report
Braintrust keeps your eval history behind a login. Export the run you need to show and publish it to Comma so a reviewer with no Braintrust seat can read the scores and comment on the failing cases.
Sep 12, 2026
Share a DeepEval Report
DeepEval runs on pytest, so it emits a pytest HTML report like any other suite. Publish it to Comma and the failing test cases get a URL, anchored comments and a revision per run.
Sep 12, 2026
Share a Ragas Evaluation Report
Ragas gives you faithfulness, answer relevancy and context precision as a DataFrame. Export it to HTML and publish it to Comma so the team can argue about the low-scoring rows at one link.
Sep 12, 2026
Share a W&B Weave Evaluation
Weave keeps evaluations inside a W&B project. Export the comparison table to HTML and publish it to Comma so reviewers without a seat can read the scores and comment on the rows.
Sep 12, 2026
Share an Arize Phoenix Trace or Eval
Phoenix runs on localhost:6006 and dies with the notebook. Export the trace or eval table to HTML and publish it to Comma so the spans someone needs to see survive at a URL.
Sep 12, 2026
Share an Opik Eval Report
Opik stores traces and eval results in a Comet workspace. Export the experiment rows to HTML and publish them to Comma so reviewers without a workspace can read and comment on them.
Sep 12, 2026
Share a Claude Desktop Artifact
Claude Desktop builds the dashboard, the write-up, the interactive chart — inside the app on your machine. Give it the Comma MCP server and it publishes to a URL anyone can open.
Sep 9, 2026
Share a Qodo Review or Test Report
Qodo's review and test-generation output lands in a PR comment or an IDE pane and scrolls away. Publish the full analysis to a URL with anchored comments the agent can read back.
Sep 9, 2026
Share What a Factory Droid Produced
A droid runs its task in Factory's environment and writes the plan, the migration report, the RCA there. Have it publish to a URL you own, with anchored comments it can read back.
Sep 9, 2026
Share What Amazon Q Developer Produced
Amazon Q writes the upgrade plan, the IAM review, the cost analysis — into a CLI session or an IDE pane nobody else can open. Publish it to a URL your team can read and comment on.
Sep 9, 2026
Share What Antigravity Produced
Antigravity writes implementation plans and task walkthroughs into its Artifacts pane, where only you can read them. Publish the walkthrough to a URL your reviewer can open and comment on.
Sep 9, 2026
Share What Augment Produced
Augment reads the whole repo and writes the impact analysis, the dependency map, the refactor plan into an editor panel. Publish it to a URL reviewers can open and comment on.
Sep 9, 2026
Share What Kiro Produced
Kiro writes requirements, design and task documents into .kiro/specs and nobody outside your editor reads them. Publish the spec to a link the PM and the reviewer can comment on.
Sep 9, 2026
Share What Manus Produced
Manus finishes in its own cloud VM and hands you a file plus a share link on its domain. Republish the HTML to a URL you control, with your access rules and a comment thread.
Sep 9, 2026
Share What opencode Produced
opencode writes the audit, the plan, the postmortem into a TUI session on your machine. Attach the Comma MCP server and it publishes to a URL your team can open and comment on.
Sep 9, 2026
Share What Trae's Agent Produced
Trae's builder writes the plan, the review, the analysis into a panel in your editor. Attach the Comma MCP server and it publishes finished work to a link your team can comment on.
Sep 9, 2026
Share What Warp's Agent Produced
Warp's agent writes the incident timeline, the query plan analysis, the migration checklist — into a terminal block on your laptop. Publish it to a URL your team can open and comment on.
Sep 9, 2026
Share Aider's Output
Aider is file-and-git shaped, so its analysis ends up as a commit or a terminal buffer. A three-line publish step turns the run's write-up into a URL with a comment thread.
Sep 5, 2026
Share Amp's Output
Amp runs in the terminal and the editor and produces long, careful write-ups. Add Comma as an MCP server and put the rule in AGENTS.md so each one ends as a page with a URL.
Sep 5, 2026
Share Claude Code's Output
Claude Code writes the audit, the migration plan, the incident timeline — into a terminal only you can see. Give it a publish tool and it hands back a link your team can open and comment on.
Sep 5, 2026
Share Cline's Output
Cline plans, investigates and writes long summaries inside a VS Code panel. Add Comma's MCP server and a .clinerules entry and it publishes the result as a page with a stable URL.
Sep 5, 2026
Share Continue's Output
Continue runs in VS Code and JetBrains and takes MCP servers in its config. Add Comma, add a rule, and finished analysis leaves the panel as a page your team can comment on.
Sep 5, 2026
Share Devin's Output
Devin works in a cloud workspace and reports back through its own session view. For the write-ups that are not pull requests, one API call gives the result a URL your whole team can read.
Sep 5, 2026
Share Gemini CLI Output
Gemini CLI's long answers live in a terminal nobody else has. Attach an MCP server, write the rule into GEMINI.md, and the agent publishes an HTML report and replies with a link.
Sep 5, 2026
Share GitHub Copilot's Output
Copilot's agent mode produces reviews, plans and summaries inside a VS Code side panel. Add an MCP server and a repo instruction file and it publishes them as pages your team can open.
Sep 5, 2026
Share Goose's Output
Goose's extensions are MCP servers, so publishing is just another one. Add Comma, add a recipe instruction, and Goose ends a session with a link instead of a terminal buffer.
Sep 5, 2026
Share Jules's Output
Jules works asynchronously on a cloud VM and returns a pull request. For the analysis that is not a diff, a publish step in the workflow gives it a URL and a comment thread.
Sep 5, 2026
Share Junie's Output
Junie plans and investigates inside IntelliJ, PyCharm or GoLand. Add Comma's MCP server and a guidelines entry and the finished document leaves the IDE as a URL with a comment thread.
Sep 5, 2026
Share OpenHands Output
OpenHands works inside a container whose filesystem disappears when the session ends. Publishing to a URL is the only exit that survives the runtime — over MCP or one REST call.
Sep 5, 2026
Share Replit Agent Output
Replit Agent's analysis lives inside a repl, so sharing it means inviting someone into your workspace. Publishing gives the document its own URL and its own access setting.
Sep 5, 2026
Share Roo Code's Output
Roo Code's modes produce plans and reviews that stay in a VS Code panel. Add Comma's MCP server, put the rule in your mode instructions, and each mode ends with a shareable URL.
Sep 5, 2026
Share Windsurf Cascade Output
Cascade's plans, audits and summaries end up in a Windsurf panel only you can see. Attach an MCP server, put the rule in your workspace rules, and it publishes a page with a URL.
Sep 5, 2026
Share Zed's Agent Output
Zed's agent panel produces documents that never leave the editor. Add Comma as a context server and the agent publishes finished work to a URL your team can read and annotate.
Sep 5, 2026
Share a Langfuse Eval Result When Langfuse Is Self-Hosted
Self-hosted Langfuse is behind your VPN, which is why the reviewer who needs to score the outputs can't see them. Publish the scored table to a URL they can open and comment on.
Sep 2, 2026
Share a LangSmith Eval Result Without Sharing the Whole Trace
A LangSmith public share link exposes the entire run — every prompt, every intermediate output. Publish the comparison your reviewers actually need, on a URL they can comment on.
Sep 2, 2026
Share OpenAI Codex Output
Codex finishes the task in a sandbox and prints the summary to your terminal. Add one line to AGENTS.md and it publishes the report to a URL your team can open, read and comment on.
Sep 2, 2026
Share What Cursor's Agent Produced
Cursor's agent writes the migration plan, the audit, the test summary — inside your editor, where nobody else can read it. Have it publish to a URL your team can open and comment on.
Sep 2, 2026
Share an LLM Eval Report
promptfoo, DeepEval and Ragas all produce an HTML view somebody has to run a server to see. Publish the eval to Comma for a link where a reviewer can disagree with a specific grade, on the row it's on.
Aug 24, 2026
Share a Deep Research Report
Deep research output is long, sourced, and mostly unread. Publish it as HTML in Comma so reviewers can challenge a specific claim in place, and so the next run updates the same link instead of starting a new thread.
Aug 23, 2026
Share HTML an AI Chat Generated
ChatGPT canvases and Claude artifacts render beautifully and travel badly. Paste the HTML into Comma to get a shareable URL that renders the real thing, keeps comments on it, and does not require an account to read.
Aug 23, 2026
Context Budgeting for AI Reports: Cut LLM Token Waste Before You Cut Quality
A practical guide to context budgeting for AI report agents. Learn how to reduce LLM token consumption, preserve prompt cache hits, and avoid paying models to re-read the same report every run.
Jun 27, 2026
Where Do Claude Code Routines Post Their Reports?
Claude Code Routines schedule the agent's work but don't say where a report should land. Session logs, Slack, and PRs each lose the review loop. Comma is the destination: publish via MCP, review with anchored comments, revise on the next run.
Jun 10, 2026
How to Give an AI Agent Feedback
Telling an agent 'try again' loses the specifics. Anchored comments on the agent's HTML output give it exactly what it needs to adjust — and Comma's MCP server lets it read those comments back.
May 22, 2026
Let an AI Agent Respond to Anchored Comments on Its Own Output
An agent that can read and reply to comments on its own HTML reports closes the feedback loop. Comma's MCP server exposes `list_comments`, `reply_to_comment`, and `set_comment_status` as typed tools.
May 22, 2026
Scoped Tokens for AI Agents
An AI agent needs a credential. That credential needs to be scoped, revocable, rate-limited, and shared across every surface the agent touches. Comma's `comma_sk_…` token is that shape.
May 22, 2026
Where Should My AI Agent Post Its Work?
A practical guide for AI builders deciding where Claude, Cursor, or custom agents should publish their HTML output. Comparing Slack, S3, custom webhooks, and Comma's MCP-native posting surface.
May 22, 2026
Routines & automation
Automated HTML Report Delivery on a Schedule
Stop maintaining a Python script that emails the weekly report. Comma routines re-run an underlying skill on a cron and post the refreshed HTML as a revision on a commentable, shareable document.
May 22, 2026
Daily Claude Eval Refresh, on Autopilot
Run your Claude eval harness every morning. The results post as a new revision on a shared report; reviewers see the diff against yesterday and pin anchored comments. No babysitting.
May 22, 2026
Hosted Cron for AI Agents
Comma is the hosted cron for AI agents. Scoped tokens, prepaid-credit or bring-your-own Bedrock compute, and a posting surface that reviewers actually open. No Lambda, no GitHub Action, no Mac mini.
May 22, 2026
Monthly Compliance Digest from Your AI Pipeline
Run your monthly compliance checks as a Comma routine. The digest lands as a revision on a board-visible report with revision history, anchored comments, and a clean audit trail.
May 22, 2026
Run a Claude Skill on a Schedule
Wire any Claude skill to a daily, hourly, or monthly schedule. Comma re-runs it against fresh data and posts the new HTML as a revision on your report. No cron daemon to maintain.
May 22, 2026
Weekly Analytics Digest, Refreshed in Place
Replace the Monday morning analytics script with a routine. The digest re-runs on a cron, lands as a new revision on a shared Comma report, and reviewers comment in-place — same link every week.
May 22, 2026
CI & pipelines
Share an HTML Report From Airflow
Airflow writes the report to a worker's local disk, or to a bucket only the DAG can read, and the UI is behind a login. Publish it from the task so the analyst waiting on it gets a URL.
Sep 9, 2026
Share an HTML Report From Dagster
Dagster stores your HTML as a materialization or an IO-managed asset behind the webserver login. Publish it from the asset so the stakeholder waiting on the data gets a URL.
Sep 9, 2026
Share an HTML Report From Prefect
A Prefect flow writes the report inside an ephemeral work pool container and the artifact panel takes markdown, not documents. Publish from the flow so the reader gets a URL.
Sep 9, 2026
Share a Buildkite HTML Report
Buildkite artifacts download instead of rendering, and annotations only take a slice of markdown. Publish the real HTML report from the step and hand out a URL that renders.
Sep 2, 2026
Share a TeamCity HTML Report Without a TeamCity Login
TeamCity report tabs render your HTML behind a sandbox and behind a login, and cleanup rules delete it on a schedule. Publish the report from the build step to a permanent, commentable URL.
Sep 2, 2026
Share an HTML Report From Argo Workflows
Argo artifacts live in your object store behind the cluster, and the Argo UI is usually behind a VPN. Publish the report from an exit handler so people outside Kubernetes can read it.
Sep 2, 2026
Share an HTML Report From AWS CodeBuild Without Building a Bucket
CodeBuild report groups only understand test result formats, and an HTML artifact in S3 needs a bucket policy, a presigned URL or a static site. Publish it from buildspec.yml instead.
Sep 2, 2026
Share an HTML Report From Google Cloud Build
Cloud Build has no report viewer — your HTML lands in a GCS bucket that needs IAM, a signed URL or public access before anyone can read it. Publish it from cloudbuild.yaml in one step.
Sep 2, 2026
Share an HTML Report From Travis CI
Travis CI has no artifact viewer at all: your HTML report exists for the length of the job and then the container is gone. One curl in after_script gives it a permanent URL.
Sep 2, 2026
Publish an HTML Report from Azure Pipelines (Without a Marketplace Extension)
Azure DevOps won't render an HTML artifact — it downloads as a zip and the run expires on a retention policy. Publish the report to a stable URL with one curl task: comments, revisions, and diffs included.
Aug 21, 2026
Publish an HTML Report from Bitbucket Pipelines (Artifacts Expire in 14 Days)
Bitbucket Pipelines artifacts download as a zip and expire after 14 days, and the Test Reports tab only parses JUnit XML. Publish the report to a stable URL with one curl step — comments, revisions and diffs included.
Aug 21, 2026
Jenkins HTML Report With No CSS? The CSP Fix
Jenkins HTML Publisher strips CSS and JavaScript because of DirectoryBrowserSupport's Content-Security-Policy. Here's the sanctioned fix, why loosening it is risky, and how to publish the report to a stable URL instead.
Aug 19, 2026
Publish an HTML Report from GitHub Actions (Without Pages or Artifact Zips)
GitHub Actions can't render HTML. Artifacts download as zips, expire in 90 days, and need repo access. Publish the report to a stable URL with one curl step — comments, revisions, and diffs included.
Aug 19, 2026
Share a CircleCI HTML Report Outside the Artifacts Tab
CircleCI will render your HTML artifact — for people with an org login, for 30 days, with nowhere to leave feedback. Publish the report to a stable URL from one step in config.yml instead.
Aug 19, 2026
View an HTML Report from GitLab CI Without Setting Up Pages
GitLab.com won't render HTML artifacts inline — the artifact browser serves them as downloads, and Pages is a whole separate project. Publish the report to a stable URL from one curl in your .gitlab-ci.yml.
Aug 19, 2026
Editor & agent guides
Use Comma with Amp
Attach Comma to Sourcegraph's Amp with an amp.mcpServers entry and a Bearer header, in the CLI or editor extension. Amp threads can publish HTML reports reviewers comment on.
Sep 16, 2026
Use Comma with Augment Code
Add Comma to Augment's Auggie CLI with auggie mcp add --transport http --header, or ~/.augment/settings.json. Augment agents can publish HTML reports to a shareable link.
Sep 16, 2026
Use Comma with Cline
Add Comma to Cline as a remote Streamable HTTP MCP server with a Bearer header. Cline can then publish HTML reports and answer anchored review comments.
Sep 16, 2026
Use Comma with Continue
Attach Comma to Continue with a streamable-http mcpServers entry and a Bearer header in requestOptions. Agent mode can then publish HTML reports and read review comments.
Sep 16, 2026
Use Comma with Factory Droid
Add Comma to Factory's Droid with droid mcp add --type http --header and --no-oauth, or ~/.factory/mcp.json. Droids can publish HTML reports reviewers comment on.
Sep 16, 2026
Use Comma with GitHub Copilot CLI
Add Comma to GitHub Copilot CLI with one copilot mcp add command, or a type http entry in mcp-config.json. Copilot can publish HTML reports and answer review comments.
Sep 16, 2026
Use Comma with Goose
Add Comma to Block's Goose as a remote extension with an Authorization header, via goose configure or config.yaml. Goose runs can publish HTML reports to one stable link.
Sep 16, 2026
Use Comma with JetBrains AI Assistant
Add Comma to JetBrains AI Assistant in IntelliJ IDEA, PyCharm, WebStorm or GoLand. Bridge the Bearer header with mcp-remote and publish HTML reports from the IDE.
Sep 16, 2026
Use Comma with Junie
Add Comma to JetBrains Junie with a url and Authorization header in ~/.junie/mcp/mcp.json. Junie can publish task reports as HTML pages your team comments on.
Sep 16, 2026
Use Comma with Kiro
Add Comma to Kiro's mcp.json with a url and Authorization header, user-level or per workspace. Kiro's agent can publish spec reviews and design docs people comment on.
Sep 16, 2026
Use Comma with LM Studio
Add Comma to LM Studio's mcp.json with a url and Bearer header. A local model with tool use can publish HTML reports to a shareable, commentable link.
Sep 16, 2026
Use Comma with OpenCode
Add Comma to OpenCode as a remote MCP server with headers and oauth disabled. The terminal agent can publish HTML reports and read review comments back.
Sep 16, 2026
Use Comma with Qwen Code
Add Comma to Qwen Code with qwen mcp add --transport http and a Bearer header, or an httpUrl entry in settings.json. Publish HTML reports from the terminal.
Sep 16, 2026
Use Comma with Roo Code
Add Comma to Roo Code as a streamable-http MCP server, globally or per project in .roo/mcp.json. Architect and Ask modes can publish HTML reports reviewers comment on.
Sep 16, 2026
Use Comma with Visual Studio
Add Comma to Visual Studio 2022 or 2026 Copilot agent mode with a .mcp.json servers entry and a requestInit Authorization header. Publish HTML reports from the IDE.
Sep 16, 2026
Use Comma with Warp
Add Comma to Warp's MCP servers with a url and Authorization header, from Settings or ~/.warp/.mcp.json. Warp's agent can publish terminal work as HTML reports.
Sep 16, 2026
Use Comma with Zed
Add Comma to Zed's context_servers with a url and Authorization header. Zed's agent panel can publish HTML reports and work through anchored review comments.
Sep 16, 2026
Use Comma with Gemini CLI
Attach the Comma MCP server to Gemini CLI. Your agent can publish HTML reports, search the workspace, and read and reply to anchored comments under a scoped token.
Sep 2, 2026
Use Comma with VS Code
Add the Comma MCP server to VS Code in one command. GitHub Copilot's agent mode can publish HTML reports, search the workspace, and read and reply to anchored comments under a scoped token.
Jul 20, 2026
Use Comma with Windsurf
Add the Comma MCP server to Windsurf's mcp_config.json and Cascade can publish HTML reports, search the workspace, and read and reply to anchored comments under a scoped token.
Jul 20, 2026
Use Comma with Claude Desktop
Attach the Comma MCP server to Claude Desktop and publish HTML straight from a conversation — no terminal. Reports land behind your chosen access level with anchored comments.
Jun 12, 2026
Use Comma with Codex
Attach the Comma MCP server to OpenAI Codex. Your Codex agent can publish HTML reports, search the workspace, and read and reply to anchored comments under a scoped token.
Jun 12, 2026
Use Comma with Claude Code
Install the Comma plugin in Claude Code and your agent can publish HTML reports, search the workspace, and link to reports — over a scoped, revocable token. One-line install.
May 22, 2026
Use Comma with Cursor
Add the Comma MCP server to Cursor in one config edit. Your Cursor agent can publish HTML reports, search the workspace, and read and reply to anchored comments under a scoped token.
May 22, 2026
Notebooks & integrations
Share a Google Colab Notebook as HTML
Colab sharing hands people a runtime they can re-execute. Export the notebook to HTML and publish it to Comma instead: a read-only page with outputs frozen, comments anchored to a cell, and a revision per run.
Aug 22, 2026
Share a Jupyter Notebook as HTML
Export your notebook with nbconvert, publish the HTML to Comma, and collect comments anchored to specific cells and table rows. Private by choice, revisioned, agent-friendly — an nbviewer alternative for notebooks that aren't public.
Jul 2, 2026
Comparisons & alternatives
Comma vs Observable: Sharing a Finished Data Report vs Building It in a Notebook
Observable is where you build reactive JavaScript notebooks and data apps. When the chart or report already exists — from Python, R, a CI job or an AI agent — and people need to review it, here is when to use Observable, when to use Comma, and how they fit together.
Oct 2, 2026
Marker.io Alternatives for Website Feedback (2026): BugHerd, Pastel, Vercel Comments, Comma
Honest Marker.io alternatives for collecting feedback on a website or staging build: BugHerd, Pastel, Markup.io, Userback, Vercel preview comments and Comma — which fits a ticket workflow, which fits an AI coding agent.
Oct 1, 2026
Comma vs CodePen: Sharing a Finished HTML Page for Review vs Sharing Code to Play With
CodePen is the classic place to paste HTML, CSS and JS and send a link. When the page is a finished report, dashboard or AI-generated screen that people need to review — anchored comments, restricted links, one URL across revisions — here is when to use each.
Sep 30, 2026
Comma vs ChatGPT Canvas: Drafting a Page With AI vs Getting People to Review It
ChatGPT Canvas is a great place to write and render a page with the model. What happens when the page needs other people — anchored comments from reviewers, restricted links, one URL across revisions, agent-side publishing — and when to use each.
Sep 28, 2026
Comma vs Claude Artifacts: Publishing an AI-Built Page vs Getting It Reviewed
Claude artifacts publish to a link, and in Claude Code your org can comment on them. Where that stops — public-link viewers can't comment, reviewers outside your org, other agents and CI — and when to use each.
Sep 27, 2026
Deepnote Alternatives for Sharing Notebook Output (2026)
Deepnote is a full collaborative notebook platform. Alternatives compared for teams who only need to share the rendered result — with access control, comments and a stable URL.
Sep 6, 2026
Firebase Hosting Alternatives for Private HTML Reports (2026)
Firebase Hosting is a fine static CDN and has no per-page access control — gating a report means writing Cloud Functions. Alternatives compared for internal HTML reports.
Sep 6, 2026
htmlpreview.github.io Alternatives That Don't Break Your Assets (2026)
htmlpreview.github.io renders raw GitHub HTML in the browser — until CSS, fonts or fetch() calls fail, or the repo is private. Alternatives compared for previewing and sharing HTML from a repository.
Sep 6, 2026
Hugging Face Spaces Alternatives for Sharing Model Results (2026)
Spaces is built for live demos with a runtime, a queue and a sleep timer. Alternatives compared for teams sharing eval results, model cards and benchmark reports rather than a demo.
Sep 6, 2026
ngrok Alternatives for Showing Someone a Local HTML Report (2026)
ngrok tunnels localhost so a colleague can see your report — until you close the laptop. Alternatives compared for sharing a locally generated HTML file that has to stay reachable.
Sep 6, 2026
Quarto Pub Alternatives for Private Quarto Documents (2026)
quarto publish quarto-pub is one command and one public URL. Alternatives compared for teams that need private Quarto documents, comments on the rendered output, and publishing from CI.
Sep 6, 2026
raw.githack.com Alternatives for Serving HTML From a Repo (2026)
raw.githack serves GitHub files with the right Content-Type — for public repos, pinned to a ref, with no access control and no review layer. Alternatives compared.
Sep 6, 2026
Read the Docs Alternatives for Private and Per-Build Docs (2026)
Read the Docs builds and hosts documentation from a repo. Alternatives compared for private docs, for previewing one build, and for docs someone needs to comment on.
Sep 6, 2026
RPubs Alternatives for Private R Markdown Reports (2026)
RPubs publishes R Markdown in one click — and everything you publish is public, forever, with no comments and no versions. Private alternatives compared for R users who share reports with a team or a client.
Sep 6, 2026
Streamlit Community Cloud Alternatives for Private Apps and Reports (2026)
Community Cloud is free, public-leaning and sleeps when idle. Alternatives compared for teams who need a private URL, an always-on page, or just the output rather than the app.
Sep 6, 2026
Surge.sh Alternatives for Publishing HTML From the CLI (2026)
surge is one command from a folder to a URL — public, unversioned, no comments. Alternatives compared for teams publishing HTML reports from a terminal or a CI job.
Sep 6, 2026
WeTransfer Alternatives for Sending an HTML Report (2026)
WeTransfer moves the file and stops there — the recipient downloads an .html they may not be able to open, the link expires, and nobody can comment. Alternatives compared.
Sep 6, 2026
Comma vs Confluence: Where Should an HTML Report Actually Live?
Confluence Cloud has no HTML macro and serves attachments as downloads. An honest comparison for teams that keep trying to get a generated HTML report onto a wiki page just to collect comments.
Sep 3, 2026
Comma vs Notion: Where Should an HTML Report Actually Live?
Notion can't render an uploaded .html file — it downloads it. An honest comparison for teams that keep trying to paste report content into a Notion page just to get comments on it.
Sep 3, 2026
Netlify Drop Alternatives
Netlify Drop is the fastest way to put a folder on the internet, and the wrong shape for a report: public by default, no comment layer, and a new URL every time you re-drop.
Aug 31, 2026
nbviewer Alternatives for Sharing Notebooks (2026)
nbviewer renders a public notebook from a public URL. Alternatives compared for the common case it doesn't cover: a private notebook, shared with named people, that someone can comment on.
Aug 24, 2026
Posit Connect Alternatives for Sharing R and Python Reports (2026)
Posit Connect is a platform: apps, APIs, scheduling, SSO, a server to operate. If what you actually publish is rendered R Markdown and Quarto documents, the alternatives are much lighter.
Aug 24, 2026
Rendering HTML From a Gist or Repo
GitHub serves HTML as source, and htmlpreview.github.io is a proxy with real limits. The options for turning an HTML file in a repo into a link someone can actually open, compared.
Aug 24, 2026
S3 Static Hosting Alternatives for One-Off HTML Reports (2026)
An S3 bucket for report HTML means bucket policies, signed URLs, CloudFront and a cache invalidation per publish. Lighter alternatives for the case where the artifact is a report, not a site.
Aug 24, 2026
Comma vs Google Docs: Where Should Your Report Collect Comments?
Google Docs is the best prose collaboration tool ever shipped — and it can't render your HTML report. An honest comparison for teams pasting report content into Docs just to collect comments.
Jul 2, 2026
Cloudflare Access Alternatives for Sharing Internal HTML (2026)
Cloudflare Access is a zero-trust proxy, not a publishing tool. When the goal is 'put this HTML report behind company auth', here are the honest alternatives — managed and self-assembled.
Jun 12, 2026
GitHub Pages Alternatives for Private & Internal HTML (2026)
GitHub Pages is free — and public. What engineering teams use instead when an HTML report needs access control: honest options, from identity proxies to report-sharing layers.
Jun 12, 2026
Tiiny Host Alternatives With Real Access Control (2026)
Tiiny Host makes HTML sharing instant — with a shared password at best. Alternatives compared for teams that need identity-based access, comments, and version history on shared HTML.
Jun 12, 2026
Vercel Alternatives for Sharing Internal HTML Reports (2026)
Vercel is built to deploy apps, not to share a report with your team. Honest alternatives for putting an HTML file behind access control — with comments, history, and agent publishing.
Jun 12, 2026
Comma vs display.dev: Which Should Host Your Agents' Reports?
Both give agent-generated HTML a URL with comments and an MCP loop. display.dev leads with company auth; Comma adds scheduled routines, skills, and a fully free product. A direct, fair comparison.
Jun 10, 2026
Datapane Alternative: Where Did One-Line Report Publishing Go?
Datapane shut down in August 2023. Quarto and marimo replaced the authoring half — nothing replaced upload-and-share. Comma is that layer: publish HTML from any tool, get a link, collect anchored comments.
Jun 10, 2026
Use Comma with marimo: Export the Notebook, Review It Like a Doc
marimo exports reactive Python notebooks to HTML — then leaves sharing to you. Publish the export to Comma for anchored comments, share roles, and revisions on a stable link.
Jun 10, 2026
Use Comma with Quarto: Render the Report, Then Get It Reviewed
Quarto renders .qmd to polished HTML — and stops there. Pipe the output to Comma for anchored comments, share roles, and revisions on a stable link. One curl call or one MCP tool.
Jun 10, 2026
7 Hex Alternatives Worth Looking At in 2026
A practical list of Hex alternatives — for notebook work, for sharing HTML reports, and for letting AI agents post into your team's workspace. Honest tradeoffs included.
May 22, 2026
8 Mode Analytics Alternatives Worth Considering in 2026
A practical list of Mode Analytics alternatives — for BI dashboards, for SQL workbenches, for sharing HTML reports, and for AI-agent posting. Honest tradeoffs included.
May 22, 2026
Comma vs Hex: Which Should You Use for Sharing & Reviewing Reports?
Hex builds the analysis. Comma renders the HTML, anchors comments, and refreshes it on a cron. A direct, honest comparison for data teams choosing between the two.
May 22, 2026
Comma vs Mode: BI Platform or Report Sharing Layer?
Mode is a SQL-first BI platform. Comma is a sharing, comment, and refresh layer for HTML reports — including reports generated by AI tools. A direct, honest comparison.
May 22, 2026
Use Comma with Hex: Faithful Sharing, Anchored Comments, Scheduled Refresh
Hex builds the analysis. Comma is where your team reviews it. Connect a Hex notebook to a Comma routine so refreshed HTML lands on a commentable, shareable document — same link every cadence.
May 22, 2026
Use Comma with Mode: Faithful Sharing, Anchored Comments, Scheduled Refresh
Mode is the BI platform. Comma is where your team reviews the output. Connect a Mode report to a Comma routine so refreshed HTML lands on a commentable, shareable document — same link every cadence.
May 22, 2026
By role
Client Deliverables That Open in a Browser
The audit is a 40 MB zip the client's mail server rejected, and three rounds of feedback live in four email threads. Publish the deliverable to a link, collect comments on it, and keep the revision trail.
Sep 11, 2026
Comma by Role
Consultants, QA, data scientists, security teams, SREs, freelancers, maintainers. The same problem — an HTML report nobody else can open — arrives differently in each job. The workflow for yours.
Sep 11, 2026
Coverage, Benchmarks and Build Reports Contributors Can Actually Open
A contributor's CI run produced a coverage report locked behind an artifact download they may not have permission for. Publish it to a public URL and link it from the PR.
Sep 11, 2026
Doc Previews an SME Can Review Before the Merge
Your reviewer won't check out a branch to read a MkDocs build, so they review the rendered site after it ships. Publish the preview to a link and collect anchored comments on the paragraph.
Sep 11, 2026
Handing Work to a Client Who Will Never Run npm install
The client can't open a zip, doesn't have a GitHub account, and replies to your build report with 'it won't open'. Send a URL that works on their phone, and collect the feedback on the page.
Sep 11, 2026
One Link Instead of a Weekly Deck
Assembling the weekly status from six dashboards into a slide deck is a recurring tax on your Friday. Make it a scheduled report at one URL that regenerates itself.
Sep 11, 2026
Postmortems and Incident Reports With the Graphs Still In Them
The incident review pastes Grafana screenshots into a doc and loses every axis label. Publish the timeline, the dashboards and the profile as one URL responders can annotate.
Sep 11, 2026
Report Sharing for Agencies
Twelve clients, twelve monthly reports, and one link pasted into the wrong Slack channel is a breach. How agencies publish client-facing reports with separation that holds.
Sep 11, 2026
Share Analysis With Stakeholders
The notebook renders on your machine, exports to a 30 MB HTML file, and arrives in Slack as an unpreviewable attachment. Publish the analysis to a link where the charts still work and the questions land on the chart.
Sep 11, 2026
Share Scan and Pentest Findings Without Making Them Public
A Trivy, Semgrep or Burp report is exactly the document you can't drop on a public host. Private-by-default reports, scoped tokens, and a retest revision at the same URL.
Sep 11, 2026
Test Reports That Outlive the CI Artifact
The Playwright trace that proved the regression expired in 30 days, and the artifact zip nobody on the team can open anyway. Publish the run to a URL that goes in the PR and stays there.
Sep 11, 2026
Glossary
What Are YAML Anchors?
YAML anchors (&name) mark a value so an alias (*name) can reuse it later in the same file, and the <<: merge key copies a mapping into another. How they work, how overrides resolve, and where they break: GitHub Actions, GitLab includes and JSON conversion.
Oct 26, 2026
What Is CVSS?
CVSS is the 0–10 score attached to almost every CVE and GitHub advisory. How the score maps to Low, Medium, High and Critical, how to read a vector string, what changed in CVSS 4.0, and why a 9.8 isn't automatically your top priority.
Oct 25, 2026
What Is Cobertura XML?
Cobertura is the XML code coverage format behind coverage.xml: packages, classes, lines with hits, line-rate and condition-coverage. What each element means, which tools write it, and why CI systems standardised on it.
Oct 24, 2026
What Is JSON Pointer?
JSON Pointer (RFC 6901) is the slash-separated syntax that names exactly one value in a JSON document: /items/0/name. How it parses, why ~1 means a slash, where it shows up ($ref, JSON Patch) and how it differs from JSONPath.
Oct 24, 2026
What Is LCOV?
LCOV is the plain-text coverage format behind lcov.info: SF, DA, BRDA, FN and end_of_record. What each record means, which tools write it, and how to read one without genhtml.
Oct 23, 2026
What Is JSON Schema?
JSON Schema is a JSON document that describes what another JSON document must look like: types, required fields, allowed values. The core keywords, the draft versions (draft-07 to 2020-12), and why OpenAPI, MCP tools and LLM structured outputs are all built on it.
Oct 17, 2026
What Is RFC 4180?
RFC 4180 is the closest thing CSV has to a standard: CRLF line breaks, an optional header, double-quoted fields for commas, quotes and newlines, and quotes escaped by doubling. What it says, what it leaves out, and why Excel files still break.
Oct 17, 2026
What Is JSON Patch?
JSON Patch (RFC 6902) describes a change to a JSON document as a list of add, remove, replace, move, copy and test operations addressed with JSON Pointer paths like /checks/0/timeout_ms. The six operations with examples, how it differs from JSON Merge Patch, and how to generate one from two files.
Oct 16, 2026
What Is JSONPath?
JSONPath is a query syntax for picking values out of a JSON document, like $.checks[2].error. The core syntax with examples, how it differs from JSON Pointer and jq, and how to get the path to any value without writing it by hand.
Oct 15, 2026
What Is Mojibake?
Mojibake is garbled text produced by decoding bytes with the wrong character encoding. How UTF-8 read as Windows-1252 becomes ’ and é, why the reverse gives �, and which kind can be repaired.
Oct 14, 2026
What Is NDJSON (JSON Lines)?
NDJSON, also called JSON Lines or JSONL, stores one JSON value per line with no enclosing array. Why logs, BigQuery and Elasticsearch bulk loads use it, how it differs from a JSON array, and how to convert between the two.
Oct 14, 2026
What Is a Byte Order Mark (BOM)?
A byte order mark is the invisible U+FEFF character at the start of a text file. Why Excel needs it to read UTF-8 CSVs, why JSON parsers and shell scripts choke on it, and how to add or remove one.
Oct 13, 2026
What Is CSV Injection?
CSV injection (formula injection) is when a cell in an exported CSV starts with =, +, - or @ and a spreadsheet runs it as a formula. How the attack works, which characters trigger it, and the escaping OWASP recommends.
Oct 13, 2026
HTML Report Glossary
Plain definitions for the vocabulary that shows up when a report has to leave your machine: artifact retention, SARIF, self-contained HTML, CSP, presigned URLs, MCP and the rest.
Sep 11, 2026
What Is a Build Artifact?
A build artifact is a file a CI job produces and stores for later retrieval. What belongs in artifact storage, what doesn't, and why storing a report there gives it an expiry date.
Sep 11, 2026
What Is a Data URI?
A data URI embeds a file's bytes directly in a document instead of linking to it. The syntax, why base64 inflates by a third, and where inlining stops being a good idea.
Sep 11, 2026
What Is a Flaky Test?
A flaky test passes and fails on the same code. The six causes worth checking, how retries hide them, and why the run artifacts — traces, screenshots, timings — are the only real evidence.
Sep 11, 2026
What Is a Flame Graph?
A flame graph visualises aggregated stack samples: width is total time in a function, depth is stack depth, and the x-axis is alphabetical. How to read one, and icicle versus differential.
Sep 11, 2026
What Is a MIME Type?
A MIME type tells the browser what a response contains. Why text/html renders and application/octet-stream downloads, how Content-Disposition overrides it, and where reports go wrong.
Sep 11, 2026
What Is a Presigned URL?
A presigned URL grants temporary access to a private object without credentials. How the signature works, the real expiry ceilings, and why it is a poor fit for a report someone must read.
Sep 11, 2026
What Is an .ipynb File?
An .ipynb file is a JSON document of cells and their stored outputs. Why it diffs badly, why GitHub sometimes won't render it, and exactly what is lost when you export to HTML.
Sep 11, 2026
What Is an Agent Artifact?
An agent artifact is the durable output of an AI agent run — a report, an audit, a migration plan. Why chat is the wrong container for it, and what a good artifact has that a transcript doesn't.
Sep 11, 2026
What Is an HTML Report?
An HTML report is generated web output presenting the results of a run — tests, coverage, scans, profiles. What is inside one, why it is almost never a single file, and what breaks in transit.
Sep 11, 2026
What Is an iframe Sandbox?
The sandbox attribute strips an iframe of privileges and grants them back one token at a time. What each token does, the allow-scripts + allow-same-origin trap, and why reports need it.
Sep 11, 2026
What Is an SBOM?
An SBOM is a machine-readable inventory of every component in a piece of software. The two formats, what a complete one contains, and why the readable version is the one people ask for.
Sep 11, 2026
What Is Artifact Retention?
Artifact retention is the policy deciding how long CI keeps a build output before deleting it. Default windows per provider, the three non-retention deleters, and why re-running is not recovery.
Sep 11, 2026
What Is Code Coverage?
Code coverage measures which lines and branches a test run executed. The four metric types, the formats (lcov, Cobertura, JaCoCo), and why the number matters less than the drill-down.
Sep 11, 2026
What Is Content Security Policy?
CSP is an HTTP header that tells the browser which sources a page may load. The directives that matter for published reports, how to read a violation, and why strict hosts break charts.
Sep 11, 2026
What Is JUnit XML?
JUnit XML is the de-facto interchange format for test results, emitted by nearly every runner and ingested by nearly every CI system. The element structure, the dialect problem, and its limits.
Sep 11, 2026
What Is MCP?
MCP is an open protocol for giving AI agents tools, resources and prompts over a standard interface. What a server exposes, how transports work, and what changes when an agent can publish.
Sep 11, 2026
What Is Mixed Content?
Mixed content is an HTTPS page requesting an HTTP subresource. Active versus passive, what browsers block versus upgrade, and why generated reports hit it more than hand-written pages.
Sep 11, 2026
What Is Mutation Testing?
Mutation testing changes your code on purpose and checks whether any test notices. Mutation score, surviving mutants, equivalent mutants, and why it exposes what coverage cannot.
Sep 11, 2026
What Is SARIF?
SARIF is the OASIS-standard JSON format for static analysis and security findings. What is in a SARIF file, which tools emit it, and why the HTML view still matters.
Sep 11, 2026
What Is Self-Contained HTML?
Self-contained HTML inlines every stylesheet, script and image into one file so it opens with no sibling directory. How generators produce it, what it costs in size, and where it stops working.
Sep 11, 2026
What Is Static Site Hosting?
Static hosting serves pre-built files straight from storage or a CDN, with no application runtime. What it does well, the four things it never handles, and where reports fall between.
Sep 11, 2026
What Is the Same-Origin Policy?
The same-origin policy stops one origin reading another's data. What counts as an origin, why a file opened from disk has an opaque one, and why that makes report shells load blank.
Sep 11, 2026
More
ECharts Chart Not Showing
Your Apache ECharts chart renders nothing. Match the symptom — echarts is not defined, Initialize failed: invalid dom, Can't get DOM width or height, is used but not imported, Map not exists — to its fix, including hidden tabs, setOption merging and pyecharts HTML.
Oct 24, 2026
D3 Chart Not Showing
Your D3.js chart renders nothing, or an empty SVG. Match the console — d3 is not defined, attribute d: Expected number MNaN, d3.event undefined, d3.nest is not a function — to its fix, plus the silent cases: empty selections, string data and v4 callbacks in v5+.
Oct 17, 2026
’ and é in Your HTML Page
Apostrophes show as ’, accents as é, or everything as black-diamond question marks. Decode the garbage back to the character it was, find which side guessed the wrong encoding, and fix it with one meta tag or one header.
Oct 14, 2026
CSV Opens Wrong in Excel
Excel shows é instead of é, crams every field into column A, strips leading zeros from ZIP codes, or turns IDs into 1.23E+15. Each symptom has one cause and a fix that works without retyping the data.
Oct 12, 2026
Chart.js Chart Not Showing
A blank canvas where the Chart.js chart should be. Match the console message — can't acquire context, Chart is not defined, not a registered controller, canvas already in use — to its fix, plus the silent cases: zero-height containers, v2 options in v4, and blank PDFs.
Oct 10, 2026
ERR_FILE_NOT_FOUND in Chrome
Chrome says “Your file couldn't be accessed” with ERR_FILE_NOT_FOUND when you open an HTML file or click a link inside one. The five usual causes — moved files, zip previews, missing sibling pages, # in a file name — and how to fix each.
Oct 9, 2026
“Blocked by CORS Policy” From Origin 'null' When Opening an HTML File
Double-click an HTML page that loads a JSON file or a module script and the console says “from origin 'null' has been blocked by CORS policy”. Why file:// pages can't fetch their own folder, and the four fixes that actually work.
Oct 7, 2026
“Not allowed to load local resource” in Chrome
Chrome refuses a file:/// image, link or iframe on a web page with “Not allowed to load local resource”. Why an http page can never reach your disk, where the C:\ path came from, and how to fix it for good.
Oct 7, 2026
Excel “Save as Web Page” Breaks When You Send It
You saved an Excel workbook as a web page, sent the .htm, and it opens blank, unstyled or without its other sheets. Why Excel splits the page into a folder, and three ways to get one file that works.
Oct 5, 2026
Images Not Showing in an HTML File You Sent or Opened Elsewhere
The page has broken-image icons everywhere except on your own machine. The six path mistakes behind it — relative files left behind, C:\ paths, root-relative URLs, case-sensitive servers, expired signed URLs, http on https — and how to make the images travel with the file.
Oct 3, 2026
Background Colors Missing When You Print HTML or Save It as PDF
Your HTML report prints with white table headers, missing status colors and invisible dark-mode text. Why browsers drop backgrounds when printing, the one CSS property that keeps them, and the other print-only breakages to check.
Oct 2, 2026
HTML Table Cut Off or Split Across Pages When Printing to PDF
Rows sliced in half at the page break, headers missing on page two, the right-hand columns cut off. What causes each when you print an HTML report or save it as PDF, and the print CSS that fixes it.
Oct 2, 2026
HTML Report Is Tiny on a Phone
Your HTML report opens on a phone as a shrunken desktop page you have to pinch to read. The missing viewport meta tag, the fixed widths and wide tables that survive it, and how to check before you send the link.
Sep 29, 2026
HTML File Shows Code Instead of the Page
You open an HTML file and see raw tags instead of a rendered page. The five reasons it happens — wrong extension, text/plain Content-Type, a viewer that only shows source, escaped markup, stray wrapping — and how to tell which one you have.
Sep 27, 2026
Outlook Blocked an HTML Attachment
Outlook and Gmail increasingly block, quarantine or strip .html attachments because phishing kits use them. Why your report got caught, why zipping or renaming it makes things worse, and the link that gets through.
Sep 27, 2026
Allure Report Opens as a Blank Page
Allure's index.html renders blank when opened directly because it fetches its data over XHR, which file:// blocks. Why allure open works, and how to get a report that opens for anyone.
Sep 7, 2026
Coverage Report Links 404 When You Click Through
The coverage index opens but every file link 404s. Why only index.html travelled, what genhtml, JaCoCo, Istanbul and SimpleCov actually emit, and how to keep the drill-down working.
Sep 7, 2026
GitHub Actions Artifact HTML Won't Open in the Browser
GitHub Actions serves every artifact as a zip download, so an HTML report inside one can never render in the browser. The reason, the four workarounds, and the one that produces a link.
Sep 7, 2026
GitLab Pages Report 404s
A pages job that succeeds and a URL that 404s. The public/ directory rule, the deploy delay, branch collisions, and why Pages is a poor fit for per-pipeline reports.
Sep 7, 2026
HTML Report Troubleshooting
A report that renders blank, downloads instead of opening, 404s on click-through, or won't preview anywhere. The console message that identifies each cause, and the fix for it.
Sep 7, 2026
Jupyter Widgets Don't Render in the Exported HTML
ipywidgets, sliders and interactive output vanish from nbconvert HTML because the kernel is gone. What --embed-images and widget state save, what needs Voilà, and how to share the result.
Sep 7, 2026
Mixed Content Blocked in an HTML Report
An HTTPS-served report whose charts and styles silently vanish because a subresource is http://. How to spot mixed content, the difference from a CSP refusal, and the durable fix.
Sep 7, 2026
Playwright HTML Report Is Blank or Won't Open
playwright-report/index.html renders empty when opened from disk, and the CI zip makes it worse. Why show-report works, what --reporter=html,open does, and how to get a shareable link.
Sep 7, 2026
Plotly Chart Missing From the Exported HTML
An exported Plotly figure that shows an empty div, a broken frame, or nothing at all. The include_plotlyjs modes, the offline case, the CSP case, and how to make the export self-contained.
Sep 7, 2026
S3 Downloads Your HTML Instead of Rendering It
An HTML file uploaded to S3 downloads instead of opening because the object's Content-Type is binary/octet-stream. How to fix it on upload, retroactively, and when to stop using a bucket.
Sep 7, 2026
Slack Won't Preview an HTML File
Upload an HTML report to Slack and you get a download card, not a preview. The security reason Slack refuses to render it, what the snippet view shows, and the link that unfurls properly.
Sep 7, 2026
The Agent's Output Is Too Long to Paste Anywhere
Claude Code, Cursor and Codex produce reports far past what a Slack message, a PR comment or a ticket will hold. The limits you are hitting, and giving the agent a place to publish.
Sep 7, 2026
The CI Artifact Link Expired
Artifact retention silently 404s every report link you have ever pasted into a PR or an incident doc. What you can still recover, what you can't, and how to make the link permanent.
Sep 7, 2026
The HTML Report Is Too Big to Email
Gmail caps attachments at 25 MB, Outlook at 20, and a self-contained report blows past both. What is actually making the file large, how to cut it, and the delivery that has no cap.
Sep 7, 2026
You Sent a localhost Link
http://localhost:8080 resolves to the recipient's own machine, so the link is guaranteed to fail. Why tunnels are the wrong tool for a report, and the one-step alternative.
Sep 7, 2026
More