CtrlK
BlogDocsLog inGet started
Tessl Logo

html-injection-testing

This skill should be used when the user asks to "test for HTML injection", "inject HTML into web pages", "perform HTML injection attacks", "deface web applications", or "test content injection vulnerabilities". It provides comprehensive HTML injection attack techniques and testing methodologies.

60

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./skills/html-injection-testing/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

Highly actionable — abundant executable payloads, commands, and a working fuzz script — organized into a coherent ten-phase sequence with manual-verification mentions. But it is a padded ~490-line monolith that re-teaches basic HTML and inlines everything, wasting context window and ignoring progressive disclosure entirely.

Suggestions

Split the payload catalogs (Phase 3 basic tags, Phase 8 bypass/encoding variants, quick-reference tables) into references/payloads.md and reference them from a lean SKILL.md overview.

Delete knowledge Claude already has: the Phase 1 definition of injection, the basic <b>/<i>/<u>/<font> tag list, and the encoding table explaining that %3C is '<'.

Turn verification into explicit checkpoints per phase (e.g. after each payload class: confirm rendering in browser, record reflected vs stored behavior, then proceed) instead of one-line mentions.

DimensionReasoningScore

Conciseness

The ~490-line body pads several sections with knowledge Claude already has: an explanation of what HTML injection is, trivial tags like '<b>Bold Text</b>', '<i>Italic Text</i>', '<u>Underlined Text</u>' in Phase 3, and an encoding table explaining that '%3C' means '<'. It is not 1 because the bulk is genuinely skill-specific payload material, not library-tutorial filler; it is not 3 because the unnecessary sections are numerous, not occasional.

2 / 5

Actionability

Concrete payloads throughout, copy-paste curl tests ('curl -s "http://target.com/search?q=<b>Bold</b>" | grep -i "bold"'), a runnable Python fuzzing script with imports and error handling, numbered Burp/ZAP procedures, and ready-made phishing/defacement HTML. It is not 4 because the examples cover the common cases end-to-end and the code is executable as written.

5 / 5

Workflow Clarity

The ten phases form a logical sequence (understand → map injection points → basic testing → injection types → exploit construction → bypass → automation → remediation), with verification steps like 'Check if HTML renders in response', 'Manually verify successful injections', and 'Validate findings manually'. It is not 5 because verification is mentioned rather than built in as explicit checkpoints or feedback loops (e.g. no verify-and-retry cycle per payload class); it is not 3 because the troubleshooting table does provide a rendered-failure → alternate-encoding recovery path.

4 / 5

Progressive Disclosure

The entire skill is a single ~490-line monolithic file with zero references to bundle files; large payload catalogs (Phase 3/8 payloads, encoding tables, quick-reference tables) clearly belong in references/ files per the rubric's overview-then-detail model. It is not 1 because the file is well-structured with clear headers and an internal quick-reference section, so navigation is possible; it is not 3 because there are no references at all and roughly double the inline content of the anchor-3 example.

2 / 5

Total

13

/

20

Passed

Description

77%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, explicit trigger clause with excellent natural-phrase coverage carries the description, but the capability statement is generic buzzword padding ('comprehensive... techniques and methodologies') that says nothing concrete about what the skill does. Replacing the padding with 3-4 named actions would lift it to top tier.

Suggestions

Replace 'It provides comprehensive HTML injection attack techniques and testing methodologies' with concrete actions, e.g. 'Identifies injection points, tests reflected and stored injection with ready-made payloads, builds proof-of-concept phishing/defacement demonstrations, and provides remediation guidance'.

Drop the over-claim word 'comprehensive' — it is unverifiable fluff that the rubric penalizes.

Add a clause distinguishing HTML injection from XSS (e.g. 'HTML-only markup injection without script execution') to reduce overlap with a general XSS-testing skill.

DimensionReasoningScore

Specificity

The description names the domain ('HTML injection') and gestures at two activity areas ('attack techniques and testing methodologies'), but no concrete actions are stated — 'provides comprehensive... techniques and methodologies' is generic and 'comprehensive' is an over-claim. It is not anchor 2 because the domain is named precisely and two activity types are implied; it is not anchor 4 because no specific actions like 'identify injection points' or 'craft payloads' appear.

3 / 5

Completeness

Both parts are present: an explicit 'This skill should be used when...' clause with concrete trigger phrases, and a 'what' ('provides comprehensive HTML injection attack techniques and testing methodologies'). It is not 5 because the 'what' is buzzword-padded and does not state what the skill concretely does; it is not 3 because the 'when' is explicit, not weakly implied.

4 / 5

Trigger Term Quality

Quoted trigger phrases — 'test for HTML injection', 'inject HTML into web pages', 'perform HTML injection attacks', 'deface web applications', 'test content injection vulnerabilities' — cover the natural phrasings plus synonyms ('content injection', 'deface'). This matches the comprehensive-synonyms anchor rather than anchor 4, where natural terms are missing; no plausible user phrasing in this niche is absent.

5 / 5

Distinctiveness Conflict Risk

HTML injection is a clear niche with distinct quoted triggers ('deface web applications', 'inject HTML into web pages'), so it is mostly distinct. It is not 5 because the description does not demarcate it from closely adjacent skills (XSS testing, general web-app pentesting), creating minor overlap risk; it is not 3 because the triggers are far more specific than 'works with document files'.

4 / 5

Total

16

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
zebbern/claude-code-guide
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.