CtrlK
BlogDocsLog inGet started
Tessl Logo

arn-infra-cleanup

This skill should be used when the user says "cleanup", "infra cleanup", "arn infra cleanup", "clean up resources", "destroy expired resources", "check ttl", "check expired", "ttl cleanup", "remove old deployments", "destroy dev environment", "tear down", "teardown infra", "destroy resources", "cleanup ephemeral", "check for expired resources", "clean up infra", "resource cleanup", "destroy old resources", "prune resources", "delete expired deployments", "decommission", or wants to check for and destroy expired ephemeral infrastructure resources. This skill also supports periodic monitoring via `/loop 6h /arn-infra-cleanup` for session-duration TTL enforcement.

79

Quality

74%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/arn-infra/skills/arn-infra-cleanup/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

72%

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 excels at providing trigger terms and establishing a distinct niche for infrastructure TTL cleanup, but it is heavily imbalanced toward 'when to use' at the expense of clearly explaining 'what it does'. The long list of trigger phrases reads more like a keyword dump than a well-structured skill description, and the actual capabilities (e.g., what resources it checks, how it determines expiration, what destruction steps it performs) are barely described.

Suggestions

Add a clear 'what it does' section before the trigger terms, e.g., 'Checks TTL tags on ephemeral infrastructure resources, identifies expired deployments, and destroys them using Terraform/CDK. Supports dev environments, preview deployments, and temporary stacks.'

Restructure to separate capabilities from triggers — lead with concrete actions, then follow with a 'Use when...' clause containing the trigger terms, rather than embedding everything in one long sentence.

DimensionReasoningScore

Specificity

The description mentions some actions like 'destroy expired resources', 'check ttl', 'remove old deployments', and 'periodic monitoring', but these are mostly embedded within trigger phrases rather than clearly stated as concrete capabilities. It lacks a structured 'what it does' section listing specific actions.

2 / 3

Completeness

The 'when' is extremely well-covered with explicit trigger phrases, but the 'what' is weak — the description never clearly explains what the skill actually does beyond vague references to destroying expired ephemeral infrastructure resources. The description is essentially all triggers with minimal capability explanation.

2 / 3

Trigger Term Quality

The description provides extensive coverage of natural trigger terms users would say, including many variations like 'cleanup', 'infra cleanup', 'tear down', 'teardown infra', 'prune resources', 'decommission', 'destroy dev environment', etc. This is thorough and covers common phrasings.

3 / 3

Distinctiveness Conflict Risk

The skill occupies a clear niche — ephemeral infrastructure TTL cleanup and resource destruction. The specific domain (infrastructure resources, TTL, ARN, ephemeral environments) and the highly specific trigger terms make it very unlikely to conflict with other skills.

3 / 3

Total

10

/

12

Passed

Implementation

77%

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

This is a well-structured, highly actionable skill for a complex infrastructure cleanup workflow. Its greatest strengths are the clear 7-step workflow with explicit safety gates (never auto-destroy), comprehensive error handling, and concrete executable commands for every supported tool. The main weakness is that the skill is quite long and could benefit from offloading reference material (IaC destroy commands, error handling catalog) to separate files for better progressive disclosure.

Suggestions

Extract the IaC destroy commands table (Step 4) into a separate reference file like `references/destroy-commands.md` to reduce the main skill's length

Move the detailed error handling section to a separate `references/error-handling.md` file, keeping only a brief summary of key error behaviors inline

DimensionReasoningScore

Conciseness

The skill is fairly long (~250 lines) but most content is necessary for a complex multi-source, multi-tool workflow. However, there's some verbosity: the IaC destroy command table lists 12 tools when it could reference an external file, the /loop section repeats the 'never auto-destroy' point multiple times, and the error handling section is exhaustive but could be more concise. The prerequisites section explaining how to extract config fields is somewhat verbose but necessary for correctness.

2 / 3

Actionability

The skill provides concrete, executable commands throughout: specific `gh issue list` commands with exact flags, `tofu destroy` with proper `-target` syntax, `gh issue close` commands, and clear table formats for resource presentation. The destroy commands table covers all supported IaC tools with exact CLI syntax. The TTL registry format is specified with a concrete markdown table example.

3 / 3

Workflow Clarity

The 7-step workflow is clearly sequenced with explicit validation and safety checkpoints. Step 3 requires user confirmation before any destruction (with multiple options), Step 4 shows exact commands before execution, and Step 5 updates all tracking sources after success. Error handling covers partial failures, state locks, and already-destroyed resources with clear recovery paths. The feedback loop of 'destroy fails → report error → offer retry or skip → do NOT mark as destroyed' is explicitly stated.

3 / 3

Progressive Disclosure

The skill is a monolithic document with all content inline. The IaC destroy commands table, the TTL registry format, and the error handling section could be split into reference files. It does reference external files (experience-derivation.md, rollback-patterns.md, providers.md, environments.md) appropriately, but the skill body itself is quite long and would benefit from offloading the destroy command reference and error handling to separate files. No bundle files are provided to support progressive disclosure.

2 / 3

Total

10

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
AppsVortex/arness
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.