hcp_render_report
Render findings into a self-contained offline interactive HTML report with sortable tables, severity-coded sections, and copy-back rows for clear review.
Instructions
Render a findings report into one self-contained, offline, interactive HTML file: sortable and filterable tables, severity-coded sections, collapsible worklists, selectable rows that copy back to chat, light and dark theme, print. This is a presentation tool: it makes no Housecall Pro call and takes findings you already have.
Pass a report contract. Required keys: skill, title, sections (an array). Each section has a title, an optional severity (confident|ok|warning|blocked|info|neutral), and blocks (an array). A block is one of: table ({columns:[{label,numeric?}], rows:[[cells]], selectable?, collapsedRows?, defaultSort?}), prose/lead ({html}), list ({items,crosses?}), subhead ({text}). Optional top-level keys: kicker, stats (cards), coverage, headline, order (suggested work), meta, generated, provenance, closing. In table cells and list items, `backticks` render as chips, **stars** as bold, and [text](https://...) as a link opening in a new tab (http/https only) - use it to link records to their pages in the owner's own dashboard. Keep money as display strings; exports and paste-backs show a link's text without the URL.
Where the report ends up depends on the client, and the response says which happened. On a client that displays reports inline (Claude and Claude Desktop), it opens in the conversation on its own and the response is a short confirmation - do not repeat the contents or save a file. Everywhere else the response carries the finished HTML: in Claude Code write it to a .html file and give the owner the path. On a contract error nothing renders and the exact problems are listed so you can fix and re-call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| report | Yes | The report contract object (see the description for its shape). | |
| as_file | No | Force the standalone HTML file back even on a client that displays the report inline. Use only if the owner says nothing appeared. |