CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

moai-domain-html-report

Markdown-to-single-file-HTML report renderer. Six modes (status, incident, plan, explainer, financial, pr) selected by report type, crossed with three audience tiers (expert, basic, learn) derived from the active output style. The basic and learn tiers enrich the HTML with mermaid flowcharts, worked examples, and plain-language primers; the expert tier stays dense. Zero external JS/CSS framework dependencies — inline SVG charts, a font-CDN exception for Korean readability, and a tier-gated mermaid-CDN exception. Self-contained output for email attachment, print, and offline viewing.

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/moai-domain-html-report/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-structured, actionable rendering contract with executable code, explicit error-recovery paths, and verified one-level-deep references. Its weaknesses are repeated restatement of the lean-twin invariant, an implicit template-instantiation step, no output validation checkpoints, and two orphaned bundle files.

Suggestions

State the lean-twin invariant once (in § The asymmetry principle) and reference it elsewhere, removing the repeated [HARD] restatements in the tier table and Non-goals.

Add a short consolidated workflow (1. read report.format → 2. resolve tier → 3. fill the mode template → 4. write the pair → 5. validate size budget → 6. deliver) that makes template instantiation and output validation explicit.

Reference references/craft-fundamentals.md and references/design-tokens.md from § References (or remove them from the bundle) so every bundled file is discoverable.

DimensionReasoningScore

Conciseness

The body is dense with load-bearing contract material — mode structure tables, the :root design-token block, the degradation matrix, the executable opener script — and avoids explaining concepts Claude already knows. The lean-twin invariant is restated roughly four times (§ The asymmetry principle, the [HARD] block, the tier table's 'restated because it is the one that is easy to violate' row, and Non-goals), which is minor over-emphasis that could be trimmed, fitting the 'efficient; minor instances' anchor rather than the 'mostly efficient but includes some unnecessary explanation' anchor at 3.

4 / 5

Actionability

Mostly executable guidance: a copy-paste-ready `case "$(uname -s)"` opener script, a complete mermaid-CDN module with initialize config, concrete output paths and size budgets, and per-mode mustache input-field tables. The gap keeping it from 5 is that how the .mustache templates are actually instantiated (no render script; hand-substitution of {{#metrics}}-style placeholders is never stated) is left implicit.

4 / 5

Workflow Clarity

The pipeline — read report.format, resolve the audience tier from the settings chain, render, write the .html/.md pair, deliver by format — is sequenced across ordered sections with explicit fallbacks ('falling back to html+md automatically when the Artifact tool is absent (no error)', opener failure prints the absolute path, the degradation matrix). It is not 5 because checkpoints are implicit in section order rather than a consolidated sequence, and nothing validates the stated size budgets or confirms the file write.

4 / 5

Progressive Disclosure

All body-referenced paths resolve to real bundle files one level deep (references/artifact-contract.md, references/fonts.md, and all six references/templates/*.mustache), clearly signaled in § References with per-file descriptions. Minor organization gaps: references/craft-fundamentals.md and references/design-tokens.md exist in the bundle but are never referenced from SKILL.md, and some inlined detail (the full mermaid script, per-mode input fields) could live in a reference file.

4 / 5

Total

16

/

20

Passed

Description

71%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and comprehensive about capabilities, with good natural trigger terms and a clearly distinct rendering niche. Its main weakness is the absence of any 'Use when' trigger clause inside the description field itself, which caps completeness despite strong 'what' coverage.

Suggestions

Append an explicit trigger clause to the description, e.g. 'Use when a markdown report must be rendered into a single self-contained HTML file, when the user asks for an HTML/status/incident/plan/financial/PR report, or when output must be emailed, printed, or viewed offline.'

Add natural synonyms users would say, such as 'convert markdown to HTML', 'web page', 'one-pager', and the '.html' file extension, to broaden trigger coverage.

Make the mode trigger terms more prominent as routing phrases (e.g., 'HTML status report', 'incident report page') to reduce overlap with report-writing skills.

DimensionReasoningScore

Specificity

The description enumerates concrete capabilities comprehensively: 'Markdown-to-single-file-HTML report renderer', 'Six modes (status, incident, plan, explainer, financial, pr)', 'three audience tiers (expert, basic, learn)', 'mermaid flowcharts, worked examples, and plain-language primers', 'inline SVG charts', 'Self-contained output for email attachment, print, and offline viewing'. It names the domain, multiple concrete actions, and the dependency posture — matching the comprehensive-coverage anchor rather than the 'several specific actions; minor gaps' anchor below it.

5 / 5

Completeness

The 'what' is clearly and thoroughly answered, but the description field contains no 'Use when...' clause or equivalent trigger guidance — per the judging guideline, a missing explicit trigger caps completeness at 3. It is not 4 because the 'when' is absent from this field (it lives in a separate when_to_use frontmatter key), not merely imprecise.

3 / 5

Trigger Term Quality

Good natural-keyword coverage: 'markdown', 'HTML', 'report', the six mode names, 'email', 'print', 'offline', 'flowcharts'. A few natural terms users would say are missing ('web page', 'one-pager', 'convert', '.html' extension), which fits the 'good keyword coverage; a few natural terms missing' anchor — not the comprehensive synonym-plus-extension anchor at 5.

4 / 5

Distinctiveness Conflict Risk

A clear niche — rendering markdown reports into single self-contained HTML with named modes — with distinct capability markers like 'Zero external JS/CSS framework dependencies'. Minor overlap risk remains with report-writing or markdown-formatting skills because broad words like 'report', 'status', and 'plan' are common across such skills, fitting the 'mostly distinct; minor overlap risk' anchor rather than the minimal-conflict anchor at 5.

4 / 5

Total

16

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

relative_links

Relative link issues: 6 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 12 deeper-than-1-level

Warning

Total

13

/

16

Passed

Repository

modu-ai/moai-adk

Path

.claude/skills/moai-domain-html-report/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.