CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

html-app-architect

Use FIRST for building or modifying an interactive HTML app in an ordinary project context, including pages, tools, forms, dashboards, CRUD interfaces, data visualizations, and window.Magic API integrations. Use this skill for architecture, file persistence, Agent dispatch, and UI decisions. Do not use it for the built-in published micro-app development flow; use micro-app-architect for that scenario. Skip read-only documents, pure CLI/backend work, slides, canvas/media generation, and calendar projects handled by magic-calendar. For projects that need a package manager, a build toolchain, or a backend service, use vibe-coding.

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

81%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.

A highly actionable, well-sequenced skill: complete copy-paste-ready code for dispatch patterns, manifests, and selectors, with a gated design-review workflow and explicit validation/feedback loops (quick_validate.py, icon validation, rename-collision checks). Its main weakness is token efficiency — the full tiptap mention JSON is repeated ~4× and several default/selector rules are restated across sections — and one orphaned bundle file (model-info-schema.md) is unreferenced from the body.

Suggestions

Deduplicate the tiptap @file mention JSON: show the complete doc structure once (e.g., in the Runtime Trigger section) and have the @skill example, Pattern 1, and Pattern 2 reference it or show only the differing attrs, cutting ~100 lines.

State each cross-cutting rule once — agent/model selector defaults, getAppBasePath()/basePath prefixing, and new-topic-per-skill-invocation each appear in 3+ sections (HTML Generation Constraints, Runtime Trigger key points, Agent Dispatch rules); consolidate them into a single constraints block.

Link references/model-info-schema.md from the body (e.g., next to the getModels() guidance) since it is currently undiscoverable, and note the bundle-relative path scripts/list_agents.py alongside the installed-path command.

DimensionReasoningScore

Conciseness

The body is skill-specific with essentially no general-concept padding (all content concerns window.Magic APIs, tiptap mention JSON, manifests, file-naming rules), but there is noticeable duplication: the full ~40-line tiptap @file mention JSON block appears essentially verbatim four times (Runtime Trigger example, @skill invocation example, Pattern 1, Pattern 2), and rules like "default to the first available model", "provide agent selector + model selector UI", and the getAppBasePath/basePath prefixing rule are each restated in 3+ sections. Not 4: the repeated large code blocks are more than "minor instances" of over-explanation; not 2: nothing explains concepts Claude already knows, so it is above "several unnecessary explanations or padded sections".

3 / 5

Actionability

Quotes: complete executable artifacts — the app.json template ("type: 'micro-app'... entry: 'index.html'"), the magic.project.js JSONP template, copy-paste-ready createTopicAndSend calls with full tiptap JSON mention structures, the initAgentSelector/getSelectedAgentId functions, concrete CLI usage ("python agents/skills/html-app-architect/scripts/list_agents.py --name-filter 'Data'"), and precisely specified helpers with byte limits ("buildRecordFileName... keep the full file name under 120 UTF-8 bytes, titleSlug under 40 bytes"). These cover the common Simple/Medium/Complex cases. Not 4: the only unimplemented snippets (waitForFile, getSelectedModel) are trivially understood helpers, and the genuinely hard parts (mention JSON structure, manifests) are fully spelled out.

5 / 5

Workflow Clarity

Quotes: the six-phase Core Workflow with an explicit gate — "⭐ Design Review (output to user for confirmation)... Wait for user confirmation before proceeding"; a clarification loop — "If user requests changes during review, update the design and re-confirm"; and validation steps — "Validate with quick_validate.py (for companion skills)", "Validate that the file is well-formed SVG and contains no active content before writing app.json", "If generation or validation fails, report the failure; do not reference a missing file—omit the icon field instead", plus ask_user criteria and the rename-collision check ("call listDir() and reject if the target name exists with a different shortId"). Not 4: validation checkpoints are explicit and paired with error-recovery feedback loops, which is the level-5 anchor.

5 / 5

Progressive Disclosure

Quotes: "How to Use This Document" routes readers ("Any task using window.Magic.* APIs → load this skill first, then use read_skills(['html-api-sdk'])"), and the Reference Documents section gives one-level-deep links with when-to-read triggers ("Before writing any HTML → always call read_skills(['html-api-sdk'])", "When detecting legacy .magic/<name>/SKILL.md paths → read legacy-migration.md") — all three referenced files (skill-generation-patterns.md, app-architecture-patterns.md, legacy-migration.md) exist in references/. Not 5: references/model-info-schema.md is present in the bundle but never referenced or discoverable from SKILL.md, and the list_agents.py command uses an install-time path (agents/skills/html-app-architect/scripts/list_agents.py) that does not match the bundle-relative scripts/list_agents.py. Not 3: references are clearly signaled with explicit load triggers and the API bulk is correctly offloaded to html-api-sdk rather than inlined.

4 / 5

Total

17

/

20

Passed

Description

92%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.

A strong description: it explicitly answers both what (HTML app generation across architecture, persistence, agent dispatch, and UI) and when ("Use FIRST for..."), enumerates concrete capabilities, and explicitly routes edge cases to sibling skills (micro-app-architect, magic-calendar, vibe-coding). Third-person voice is maintained throughout with no fluff. The only gap is a few missing natural synonyms (e.g., "web app", "frontend", ".html").

DimensionReasoningScore

Specificity

Quotes: "building or modifying an interactive HTML app... including pages, tools, forms, dashboards, CRUD interfaces, data visualizations, and window.Magic API integrations" plus "architecture, file persistence, Agent dispatch, and UI decisions" — multiple specific concrete actions with comprehensive coverage of the skill's domain. Not 4: within its stated scope the capability list has no noticeable gaps; not below 5 because every named action is concrete rather than generic.

5 / 5

Completeness

Quotes: what — "building or modifying an interactive HTML app... architecture, file persistence, Agent dispatch, and UI decisions"; when — "Use FIRST for building or modifying an interactive HTML app in an ordinary project context", reinforced with explicit negative triggers ("Do not use it for the built-in published micro-app development flow", "Skip read-only documents..."). Both what and when are explicit with concrete trigger phrasing. Not 4: the when-clause is explicit and specific rather than merely present-but-could-be-tighter.

5 / 5

Trigger Term Quality

Quotes: "HTML app", "forms", "dashboards", "CRUD interfaces", "data visualizations" — natural phrases a user would say. Not 5: common variations such as "web app", "web page", "frontend", or a file extension like ".html" are absent. Not 3: coverage goes well beyond one or two generic keywords and includes several natural user-facing terms.

4 / 5

Distinctiveness Conflict Risk

Quotes: "Do not use it for the built-in published micro-app development flow; use micro-app-architect for that scenario", "calendar projects handled by magic-calendar", "For projects that need a package manager, a build toolchain, or a backend service, use vibe-coding" — sibling-skill conflicts are disambiguated head-on, and the platform-specific "window.Magic API integrations" marker carves a clear niche. Not 4: overlap risk is actively resolved by routing rules rather than merely minor.

5 / 5

Total

19

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (870 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

dtyq/magic

Path

backend/super-magic/agents/skills/html-app-architect/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.