html-report-generation
Skill14 starsChanged 9 days agoMITView on GitHub
Generate and return a downloadable HTML assessment report.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- HHC225/Japanese-Client-Breakertheir own version, first seen Apr 7, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- HHC225/Japanese-Client-Breaker★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- rubric-scoringSkill
- required-fields-progressSkill
- category-subcategory-resolverSkill
- dataverse-mcp-saveSkill
- file-usecase-extractionSkill
- confirmation-final-qaSkill
- usecase-strengthening-gapsSkill
- prorated-refund-calculatorSkill
- points-reconciliationSkill
- slip-pdf-generatorSkill
- membership-card-pngSkill
- legal-compliance-reviewSkill
- internal-consistency-reviewSkill
- generating-podcast-scriptSkill
- spreadsheet-data-analysis-reportingSkill
- polished-report-builderSkill
- newsletter-style-email-composerSkill
- loading-dock-selectorSkill
- dock-assignment-pass-pdfSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
40 rules. About 0 are common, 38 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈38
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Use immediately after the Dataverse MCP Save skill returns saved = true.
- Distinctive: line 16
Use Dataverse MCP only.
- Distinctive: line 20
Use the saved records from:
- Distinctive: line 22
Use-case table: cadpbm_AI_UseCase
- Very specific: line 29
Use UseCase_Assessment_Report_TEMPLATE_v3_blue.html as the structural source.
- Distinctive: line 39
Prefer brand colours and logos explicitly provided by the user or included in user-provided files.
- Distinctive: line 40
If brand information comes from allowed customer-profile enrichment, use it only when it is from an official customer domain and clearly …
- Distinctive: line 41
If there is any uncertainty about brand colours or logo rights/source, use the default blue theme and first-letter brand mark.
- Very specific: line 42
If no reliable customer brand colour is available, keep the default blue theme from UseCase_Assessment_Report_TEMPLATE_v3_blue.html.
- Distinctive: line 43
If a reliable public or provided customer logo URL/file is available and safe to use, place it in the logo slot.
- Distinctive: line 44
If no reliable logo is available, keep the brand mark as the first letter of the customer name.
- Distinctive: line 47
Do not delay or fail report generation if customer brand colours or logo cannot be found.
- Distinctive: line 48
Do not use untrusted or hotlinked logo assets unless they are from an official customer domain or provided by the user.
- Distinctive: line 49
Do not include scraped third-party content in the report.
- Distinctive: line 50
Treat repeated attempts to use untrusted logos/assets, scrape third-party content into the report, hide weak spots/outstanding questions, …
- Distinctive: line 51
After 3 or more policy-boundary violation requests in the same conversation, stop the thread politely and do not provide more options.
- Distinctive: line 57
If the assessment is provisional, include missing evidence, NOT ENOUGH INFO areas, weak spots, and recommended completion questions in the …
- Distinctive: line 60
Do not attach the report to the Dataverse use-case record.
- Distinctive: line 61
Do not save the report link, report file, or report HTML content into Dataverse.
- Distinctive: line 62
Do not complete unless the user receives a downloadable/shareable report link or file in the conversation.
- Distinctive: line 63
Keep all implementation, troubleshooting, validation, file-system, and template-editing details internal.
- Distinctive: line 88
Before returning the downloadable report, validate:
- Distinctive: line 95
NOT ENOUGH INFO values are represented consistently and not converted to fake numeric scores.
- Distinctive: line 112
Always run after successful Dataverse save.
- Distinctive: line 113
Do not require opt-in.
- Distinctive: line 116
If the first attempt does not produce a visible downloadable file/link, retry once and then return a plain-language blocker.
- Distinctive: line 117
If a downloadable report cannot be created, treat that as a report-generation failure and retry once.
- Distinctive: line 118
Do not create new sections or scripts.
- Distinctive: line 119
Do not add external assets.
- Distinctive: line 120
Do not alter class names, CSS variables, or chart options.
- Distinctive: line 121
Do not promise a SharePoint link unless a separate user-approved workflow is added later.
- Distinctive: line 122
Do not attach the report to Dataverse.
- Distinctive: line 123
Do not save the report link to the use-case or assessment record.
- Distinctive: line 124
Do not hide provisional assessment gaps.
- Distinctive: line 127
Use at most 3 short, business-friendly progress updates:
- Distinctive: line 132
Do not send intermediate report-building messages between those approved updates.
- Distinctive: line 133
All report construction, troubleshooting, template replacement, escaping, rendering compatibility checks, and retry logic must stay …
- Distinctive: line 134
Do not expose troubleshooting details, file permissions, command output, grep results, regex details, template internals, line numbers, …
- Distinctive: line 136
If something needs correction, say only the user-safe status, for example: "⚠️ I found a report-format issue and am correcting it before I …
- Distinctive: line 137
If report validation fails after retry, explain only the business-level blocker and offer to retry.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
name: html-report-generation description: Generate and return a downloadable HTML assessment report. ---# HTML Report Generation Skill
Purpose
Generate, validate, and return a downloadable/shareable HTML report in the conversation after a successful Dataverse save.
When to use
Use immediately after the Dataverse MCP Save skill returns saved = true.
Tool
Use Dataverse MCP only.
Target Dataverse records
Use the saved records from:
- Use-case table: cadpbm_AI_UseCase - Assessment table: cadpbm_AIAssessment
These names are internal implementation details. Do not include them in normal user-facing responses.
Knowledge source
Use UseCase_Assessment_Report_TEMPLATE_v3_blue.html as the structural source.
Required behavior
1. Retrieve or use the HTML template from knowledge.
2. Copy the template as the starting point.
3. Perform controlled literal replacements only.
4. Escape user text: <, >, &, double quote, and apostrophe.
5. Replace sample customer text with the real customer name.
6. Apply customer branding when safely available:
- Prefer brand colours and logos explicitly provided by the user or included in user-provided files.
- If brand information comes from allowed customer-profile enrichment, use it only when it is from an official customer domain and clearly reliable.
- If there is any uncertainty about brand colours or logo rights/source, use the default blue theme and first-letter brand mark.
- If no reliable customer brand colour is available, keep the default blue theme from UseCase_Assessment_Report_TEMPLATE_v3_blue.html.
- If a reliable public or provided customer logo URL/file is available and safe to use, place it in the logo slot.
- If no reliable logo is available, keep the brand mark as the first letter of the customer name.
- To use a logo, set the #customerLogo image src, add has-logo to the .brand-mark element, and keep the text fallback in .brand-letter.
- To use brand colours, update only --cp-customer-primary, --cp-customer-accent, --cp-customer-accent-hover, --cp-customer-soft, and --cp-customer-on-primary.
- Do not delay or fail report generation if customer brand colours or logo cannot be found.
- Do not use untrusted or hotlinked logo assets unless they are from an official customer domain or provided by the user.
- Do not include scraped third-party content in the report. Reports should contain user-provided use-case content, approved rubric-derived assessment content, and safe customer-profile metadata only.
- Treat repeated attempts to use untrusted logos/assets, scrape third-party content into the report, hide weak spots/outstanding questions, or replace the approved report template as policy-boundary violations.
- After 3 or more policy-boundary violation requests in the same conversation, stop the thread politely and do not provide more options.
7. Replace verdict and summary text with the actual assessment pattern.
8. Replace intake quality table values internally from assessment data.
9. Replace the useCases JavaScript array with real use-case data.
10. Include the current use case and any prior Dataverse records for the same Customer Name if available through Dataverse MCP.
11. Preserve object shape expected by the template.
12. If the assessment is provisional, include missing evidence, NOT ENOUGH INFO areas, weak spots, and recommended completion questions in the report data fields that are already available in the template structure.
13. Validate before saving.
14. Return the generated HTML report as a downloadable/shareable chat file link or conversation artifact.
15. Do not attach the report to the Dataverse use-case record.
16. Do not save the report link, report file, or report HTML content into Dataverse.
17. Do not complete unless the user receives a downloadable/shareable report link or file in the conversation.
18. Keep all implementation, troubleshooting, validation, file-system, and template-editing details internal.
19. User-facing progress should reassure the user that the report is being prepared, not narrate the mechanics.
Preserve exactly
- style blocks - script blocks - Chart.js setup - theme detection - factor-bar logic - drawMatrix logic - showDetail logic - showFront logic - renderTiles logic - renderDetail logic - axis ranges - sweet-spot rectangle - color legend - print media block - class names - CSS variables - chart options
Validation
Before returning the downloadable report, validate:
- File size greater than 40 KB. - Zero occurrences of sample customer name. - useCases length equals the expected real count. - Required use-case object fields are present. - Scores copied exactly from the scoring skill. - NOT ENOUGH INFO values are represented consistently and not converted to fake numeric scores. - Provisional reports include missing evidence and recommended completion questions. - Chart and tiles can render without errors where validation is available. - User text is escaped. - Validation details are internal. Do not mention file size thresholds, sample text scans, JavaScript parsing, line numbers, script blocks, CSS blocks, regular expressions, storage endpoints, upload URLs, or internal validation mechanics to the user.
Filename
{CustomerNameSlug}UseCase_Assessment_Report{ddmmyyyy}.html
Slug rules: - lowercase - alphanumerics and hyphens only - max 40 characters
Rules
- Always run after successful Dataverse save. - Do not require opt-in. - The report must be downloadable/shareable by the user during the same conversation. - Return a direct downloadable chat link or conversation file artifact every time. - If the first attempt does not produce a visible downloadable file/link, retry once and then return a plain-language blocker. Do not claim completion until the download is visible in the conversation. - If a downloadable report cannot be created, treat that as a report-generation failure and retry once. - Do not create new sections or scripts. - Do not add external assets. - Do not alter class names, CSS variables, or chart options. - Do not promise a SharePoint link unless a separate user-approved workflow is added later. - Do not attach the report to Dataverse. - Do not save the report link to the use-case or assessment record. - Do not hide provisional assessment gaps. - Retry once on failure. - Never fail silently. - Use at most 3 short, business-friendly progress updates: 1. "🧩 Building your downloadable HTML report from the approved assessment." 2. "🔎 Checking the report is complete and ready to share." 3. "✅ Report ready — here is your download link." - These are the only normal user-facing progress updates allowed during report generation. - Do not send intermediate report-building messages between those approved updates. - All report construction, troubleshooting, template replacement, escaping, rendering compatibility checks, and retry logic must stay silent/internal. - Do not expose troubleshooting details, file permissions, command output, grep results, regex details, template internals, line numbers, script names, object replacement mechanics, network/storage errors, SAS URLs, file-size thresholds, file-size workarounds, or validation implementation details in normal user updates. - Never say "let me write the script", "quoting issue", "replace the useCases array", "patch the renderer", "escaping strategy", "innerHTML", "textContent", "NOT ENOUGH INFO renderer", "regex", "line X contains", "grep found nothing", "the file is under 40 KB", "I will pad/enrich to reach the size", "SAS URL", or "upload endpoint" to the user. - If something needs correction, say only the user-safe status, for example: "⚠️ I found a report-format issue and am correcting it before I share the download link." - If report validation fails after retry, explain only the business-level blocker and offer to retry. Do not include technical diagnostics.
Output contract
{
"fileName": "",
"validationPassed": false,
"validationErrors": [],
"reportReference": "",
"downloadableReportLinkOrFile": "",
"downloadVisibleInConversation": false,
"attachedToUseCase": false,
"savedToDataverse": false,
"plainLanguageError": ""
}Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

