CtrlK
BlogDocsLog inGet started
Tessl Logo

mac-maintenance

Mac upkeep: brew update/upgrade, pull clean repos, empty Trash.

62

Quality

73%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/mac-maintenance/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

An exemplary lean, actionable skill body — every token earns its place and commands are concrete — held back only by missing validation around its destructive/batch operations. Progressive disclosure is appropriately trivial for a skill this size.

Suggestions

Add an explicit verification step for the destructive and batch operations, e.g. checking the osascript exit status before reporting "trash: emptied" and handling failed pulls — missing validation in destructive/batch workflows caps workflow_clarity at 3.

Note the shell requirement (zsh) for `dir=${repo:h}` or use portable syntax like `dir=$(dirname "$repo")` so the loop runs in any shell.

Make the skip-dirty check executable, e.g. `if [ -z "$(git -C "$dir" status --porcelain)" ]; then git -C "$dir" pull --ff-only; else echo "skipped: $dir"; fi`, so the guardrail is not left to per-repo interpretation.

DimensionReasoningScore

Conciseness

Every line instructs: a one-line trigger, three concrete command blocks, one guardrail sentence, and a terse reporting format. No explanation of concepts Claude already knows, no padding. Matches the lean anchor exactly.

5 / 5

Actionability

Commands are concrete and nearly copy-paste ready, but there are minor gaps: `dir=${repo:h}` is zsh-only with no shell stated, and the loop prints `git status` without acting on it, leaving the skip-dirty decision implicit per repo. Not 5 because of these executable-edge gaps; not 3 because the guidance is real, runnable code, not pseudocode.

4 / 5

Workflow Clarity

The four-step sequence is clear and includes safety-conscious touches (`--ff-only`, "Skip dirty repos... Report skipped paths"), but this is a batch (repo loop) plus destructive (emptying Trash) workflow with no explicit validation checkpoints or error-recovery loop — the rubric caps such workflows at 3. Not 2 because the sequence is well defined with some implicit checkpoints (status output, final counts).

3 / 5

Progressive Disclosure

The skill is under 50 lines, has no bundle files, and needs none; content is organized into a clear trigger line plus a well-structured numbered Run section. The rubric's simple-skill exception applies: well-organized sections score 5 without external references.

5 / 5

Total

17

/

20

Passed

Description

66%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 concise, specific description naming three concrete actions with natural trigger keywords, but it omits any explicit "Use when..." guidance, capping its completeness. Distinctiveness is good for the Mac-maintenance niche.

Suggestions

Add an explicit trigger clause, e.g. "Use when Peter asks for Mac cleanup, maintenance, or a package/repo refresh" — completeness carries the highest weight (0.35) and the missing 'when' caps it at 3.

Include common synonyms users would say, such as "Homebrew" and "cleanup", to lift trigger-term coverage from good to comprehensive.

Spell out the domain slightly ("Homebrew packages", "git repos under ~/Projects") so the description reads less as compressed shorthand.

DimensionReasoningScore

Specificity

Lists several concrete actions ("brew update/upgrade", "pull clean repos", "empty Trash") with only minor gaps, though the "Mac upkeep" header is abstract and the phrasing is compressed. Not 5 because coverage is not comprehensive and the fragments assume interpretation.

4 / 5

Completeness

The "what" is clear (brew update/upgrade, pull clean repos, empty Trash) but there is no "Use when..." clause or equivalent trigger guidance, which the rubric guideline caps at 3. Not 4 because the "when" is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Terms like "Mac upkeep", "brew", "repos", and "Trash" are ones a user would naturally say, giving good keyword coverage. Not 5 because common synonyms and variations ("Homebrew", "cleanup", "update my Mac") are missing.

4 / 5

Distinctiveness Conflict Risk

"Mac upkeep" scoped to brew, repos, and Trash is a fairly distinct niche with low conflict risk, though "repos"/"pull" could minorly overlap with git- or cleanup-related skills. Not 5 because that overlap risk is real but small.

4 / 5

Total

15

/

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
steipete/agent-scripts
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.