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.
60
70%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/arn-infra/skills/arn-infra-cleanup/SKILL.mdQuality
Discovery
62%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 trigger term coverage with an exhaustive list of natural phrases users might say, and it occupies a distinct niche. However, it is severely lacking in describing what the skill actually does — the concrete capabilities, steps, and scope are barely mentioned. The description reads more like a keyword list than a functional description.
Suggestions
Add a clear 'what it does' section before the trigger terms, e.g., 'Scans cloud infrastructure for resources with expired TTL tags, identifies ephemeral environments past their expiration, and destroys them via Terraform/CloudFormation. Generates cleanup reports showing what was removed.'
Restructure to lead with capabilities and follow with a 'Use when...' clause rather than opening with the trigger list, e.g., 'Identifies and destroys expired ephemeral cloud infrastructure resources based on TTL tags. Supports periodic monitoring. Use when the user says cleanup, infra cleanup, ...'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description focuses almost entirely on trigger phrases and barely describes concrete actions. The only actions vaguely mentioned are 'destroy expired resources' and 'check ttl' embedded within trigger terms, but there's no structured list of specific capabilities like 'scans Terraform state for expired TTL tags, destroys ephemeral environments, generates cleanup reports'. | 1 / 3 |
Completeness | The 'when' is extremely well-covered with the exhaustive trigger list, but the 'what' is weak — it only vaguely mentions 'check for and destroy expired ephemeral infrastructure resources' and 'TTL enforcement' without explaining what the skill actually does in concrete terms (e.g., which cloud providers, what resource types, what cleanup process). | 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 very clear niche — ephemeral infrastructure TTL cleanup and resource destruction. The trigger terms are highly specific to this domain (ARN, TTL, infra cleanup, ephemeral resources) and unlikely to conflict with other skills. | 3 / 3 |
Total | 9 / 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 confirmation gates, comprehensive error handling, and concrete executable commands. The main weakness is length — some content (IaC tool tables, detailed error scenarios) could be extracted to reference files for better progressive disclosure and token efficiency.
Suggestions
Extract the IaC destroy command table (12 tools) into a separate reference file like `destroy-commands.md` and reference it from the main skill to reduce inline bulk.
Consider moving the detailed error handling section to a reference file, keeping only the most critical error cases (config missing, destroy failure) inline.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is fairly long (~250 lines) but most content is necessary for a complex multi-step, multi-source workflow. However, there's some verbosity: the IaC tool destroy command table includes many tools that could be referenced externally, the /loop section repeats the 'never auto-destroy' point multiple times, and some explanatory text could be tightened (e.g., 'The TTL registry is a fallback for environments without issue tracking or for resources created outside the normal deployment flow'). | 2 / 3 |
Actionability | The skill provides concrete, executable commands throughout: specific `gh issue list` commands with exact flags, `tofu destroy -target=` patterns with var-file paths, `gh issue close` commands, and clear table formats for the TTL registry. Commands are copy-paste ready and tool-specific variations are enumerated. | 3 / 3 |
Workflow Clarity | The 7-step workflow is clearly sequenced with explicit validation checkpoints: confirmation before any destruction (Step 3), error handling for partial failures, state lock detection, and a feedback loop for failed destroys (retry or skip). The 'NEVER auto-destroy' constraint is prominently stated. The error handling section is comprehensive with specific recovery actions for each failure mode. | 3 / 3 |
Progressive Disclosure | The skill references external files (experience-derivation.md, rollback-patterns.md, providers.md, environments.md) appropriately, but the main SKILL.md itself is quite long with inline content that could be split out — particularly the IaC destroy command table (12 tools) and the detailed error handling section. No bundle files are provided to verify referenced paths, and the large inline tables make the skill harder to scan. | 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
b9084b6
Table of Contents
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.