CtrlK
BlogDocsLog inGet started
Tessl Logo

waf

Configures AWS WAF to filter web traffic: creating web access control lists (web ACLs) on CloudFront, Application Load Balancers, API Gateway, and AppSync; AWS Managed Rules tuned in Count mode; rate-based rules for HTTP floods; IP set and geographic match rules; Bot Control (Common and Targeted); turning bot labels into a confidence signal; stripping spoofed inbound x-amzn-waf-* headers; recovering the real client IP behind a CDN; Fraud Control (account takeover and account creation fraud prevention); and logging and request sampling. Use when the user wants to protect a web application or API from common exploits, bots, credential stuffing, fake-account creation, or HTTP floods at the application layer (layer 7). Routes to the right per-task procedure in references. Do NOT use for L3/L4 DDoS protection (shieldadvanced skill), multi-account WAF rollout (firewallmanager skill), CloudFront configuration (cloudfront skill), or Route 53 health checks or records (route53 skill).

72

Quality

89%

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

78%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 well-structured router skill: the body stays lean, routes every task to a real, self-contained reference file, sequences cross-reference workflows explicitly, and carries strong concrete security constraints. The only weaknesses are minor redundancy (scope stated twice) and the absence of any inline command examples, with step-level validation deferred to the references.

Suggestions

State the web ACL scope rule once (Routing notes) and drop the duplicated sentence from the Overview paragraph.

Include one or two copy-paste-ready commands in the body (e.g., a minimal aws wafv2 list/get-webACL invocation) so the most trivial checks don't require loading a reference.

Add an explicit note in the routing table or notes that each reference contains its own validation steps, so verification expectations are visible at routing time.

DimensionReasoningScore

Conciseness

The body is efficient and assumes Claude's competence — it never explains what a firewall or WAF is — but the web ACL scope rule is stated twice ('A web ACL's scope is fixed at creation' in Overview and again as 'Web ACL scope is fixed at creation' in Routing notes) and the Overview paragraph partially duplicates the routing table's job. These are minor trimmable redundancies, keeping it just below the lean 5 anchor.

4 / 5

Actionability

The routing table gives a decisive goal→file mapping, routing notes give concrete decision rules ('run that reference first', 'Targeted with the application integration SDK is required'), and Security Considerations name specific IAM actions (wafv2:CreateWebACL, wafv2:PutLoggingConfiguration) and headers. It contains no inline commands, but as an instruction-only router whose guidance is specific and decisive, this is a minor gap rather than the pseudocode-level 3 anchor.

4 / 5

Workflow Clarity

Sequencing is explicit — 'Logging comes before tuning', the Bot Control chain 'builds on it in that order', scope 'settled before anything is built' — and a validation checkpoint exists ('You MUST confirm the web ACL is associated and that its posture matches the intended default ... before reporting setup complete'). Detailed step-level validation lives in the reference files rather than the body, which keeps it at 4 rather than 5.

4 / 5

Progressive Disclosure

A clear overview router with a well-signaled, one-level-deep set of references: all 13 linked files exist on disk under references/, each self-contained (verified: decision tables, procedures, troubleshooting sections). Navigation via the goal→reference table plus routing notes is easy, matching the top anchor.

5 / 5

Total

17

/

20

Passed

Description

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

An exemplary description: concrete and comprehensive on capabilities, with an explicit 'Use when...' trigger clause containing natural user phrasing and synonyms, and explicit 'Do NOT use' boundaries that separate it from neighboring skills. No vagueness, fluff, or over-claims found.

DimensionReasoningScore

Specificity

The description enumerates many concrete capabilities — 'creating web access control lists (web ACLs) on CloudFront, Application Load Balancers, API Gateway, and AppSync', 'AWS Managed Rules tuned in Count mode', 'rate-based rules for HTTP floods', 'stripping spoofed inbound x-amzn-waf-* headers', 'recovering the real client IP behind a CDN', 'Fraud Control (account takeover and account creation fraud prevention)' — giving comprehensive, concrete coverage of the skill's actions.

5 / 5

Completeness

It explicitly answers both questions: a detailed 'what' (the full capability list) and an explicit 'Use when the user wants to protect a web application or API...' trigger clause, matching the top anchor that requires concrete trigger phrases for both.

5 / 5

Trigger Term Quality

It includes the natural phrases a user would say — 'protect a web application or API from common exploits, bots, credential stuffing, fake-account creation, or HTTP floods at the application layer (layer 7)' — plus synonyms ('fake-account creation' / 'account creation fraud prevention') and platform names (CloudFront, API Gateway). No common variation is obviously missing.

5 / 5

Distinctiveness Conflict Risk

Explicit negative triggers — 'Do NOT use for L3/L4 DDoS protection (shieldadvanced skill), multi-account WAF rollout (firewallmanager skill), CloudFront configuration (cloudfront skill), or Route 53 health checks or records (route53 skill)' — carve out a clear niche with minimal conflict risk against sibling skills.

5 / 5

Total

20

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
aws/agent-toolkit-for-aws
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.