CtrlK
BlogDocsLog inGet started
Tessl Logo

processing-s3-uploads-with-step-functions

Deploy an event-driven workflow that routes S3 uploads to either Lambda or Fargate via Step Functions based on file size. Uses EventBridge to trigger a Step Functions state machine when objects are uploaded to S3. Small files are processed by Lambda, large files by a Fargate task. Includes VPC, ECR repository, ECS cluster, and scoped IAM roles. Trigger keywords: Step Functions, Fargate, Lambda, S3 event, EventBridge, ECS, ECR, file processing, workflow orchestration, serverless.

72

Quality

90%

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

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 deployment skill with excellent progressive disclosure into references/ and scripts/. The main drag is token efficiency: the Security Considerations section duplicates several commands already given in the procedures, and a version/date section adds time-sensitive content without a deprecation context.

Suggestions

Replace the repeated commands in Security Considerations with one-line cross-references to Steps 2, 7, 9, and 12 (e.g., 'Egress is scoped as in Step 2; see there for commands') to cut ~8 duplicated command lines.

Move 'Version information' (AWS CLI 2.x, Python 3.12, last-validated date) into a clearly labeled compatibility/deprecation-style note so time-sensitive data does not read as evergreen guidance.

Tighten the parameter-acquisition and Step 0 constraint lists, which restate several requirements (e.g., tool verification) in both the Prerequisites and Constraints blocks.

DimensionReasoningScore

Conciseness

The body is command-dense and assumes Claude's competence, but the Security Considerations section repeats the egress rules, bucket encryption, KMS log-group association, DLQ, and alarm commands verbatim from Steps 2, 7, 9, and 12, and 'Version information' carries date/version data outside a deprecated section. Fits 'mostly efficient but could be tightened'; not 4 because the duplicated command blocks are more than minor trimming.

3 / 5

Actionability

Every step provides copy-paste-ready, fully executable AWS CLI commands with concrete placeholders — the sed substitution block, the zip packaging one-liner, complete create-function/put-rule/put-targets invocations, and an end-to-end validation upload. Not 4: guidance is complete with no gaps for the common deployment path.

5 / 5

Workflow Clarity

Steps 0–13 are clearly sequenced with explicit validation checkpoints: dependency verification, abort on missing credentials, get-function verification after creation, a test upload with a wait and list-executions check, and a troubleshooting section with error-recovery guidance. Not 4: checkpoints are explicit throughout, not merely present.

5 / 5

Progressive Disclosure

The SKILL.md is a clear overview with well-signaled, one-level-deep references ('Follow the detailed instructions in references/iam-roles.md', 'references/ecs-task-definition.md', code and state machine definitions in scripts/), and all referenced bundle files exist. Detail is appropriately split out of the overview; not 4: navigation is clean with no buried or nested references.

5 / 5

Total

18

/

20

Passed

Description

96%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: concrete, comprehensive, third-person, with explicit trigger keywords covering the full AWS service vocabulary for the task. Its only weakness is a couple of broad trigger terms ('serverless', 'file processing') that could overlap with other AWS-oriented skills.

Suggestions

Consider dropping or narrowing the broadest trigger terms ('serverless', 'file processing') in favor of more distinctive phrases like 'route S3 uploads by file size' to further reduce conflict risk with generic AWS deployment skills.

Adding a brief 'Use when...' phrasing alongside the trigger keywords would make the invocation guidance read more naturally to model-based skill selection.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'routes S3 uploads to either Lambda or Fargate via Step Functions based on file size', 'Small files are processed by Lambda, large files by a Fargate task', 'Includes VPC, ECR repository, ECS cluster, and scoped IAM roles' — with comprehensive coverage of the workflow's capabilities. Not 4: there are no minor gaps in coverage; routing, triggering, both compute paths, and infrastructure components are all named.

5 / 5

Completeness

Explicitly answers what ('Deploy an event-driven workflow that routes S3 uploads... based on file size') and when ('Trigger keywords: Step Functions, Fargate, Lambda, S3 event...'), which is equivalent explicit trigger guidance, so the ≤3 cap for a missing use-when clause does not apply. Not 4: the when-guidance is explicit and concrete, not merely present.

5 / 5

Trigger Term Quality

'Step Functions, Fargate, Lambda, S3 event, EventBridge, ECS, ECR, file processing, workflow orchestration, serverless' comprehensively covers the natural terms a user would say when needing this skill. Not 4: no commonly used natural phrasing for this domain is missing; the service names are themselves what users say.

5 / 5

Distinctiveness Conflict Risk

The file-size routing niche ('routes S3 uploads to either Lambda or Fargate based on file size') is distinct, but broad triggers like 'serverless' and 'file processing' create minor overlap risk with generic S3-processing or serverless-deployment skills. Not 5: some trigger terms could plausibly fire for a different AWS skill; not 3: the core trigger set is far more specific than 'somewhat specific'.

4 / 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

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.