CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

swiftlint

Configure and enforce SwiftLint through build-tool plugins, Xcode scripts, Swift Package plugins, or CI. Use for rule configuration, suppressions, baselines, autocorrection, reporters, strictness, multi-config setups, and staged rollout in existing Swift projects.

Quality

91%

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

86%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, token-efficient overview that pushes detail into five real, one-level-deep reference files and provides mostly copy-paste-ready configuration and CI commands. The two residual gaps are the fragmentary Package.swift example and an implicit (rather than explicit) validation checkpoint after the batch `swiftlint --fix` step in the rollout workflow.

Suggestions

Show the Package.swift plugin setup as a complete, runnable manifest (full `PackageDescription` boilerplate around the `dependencies:`/`targets:` entries) so the primary setup path is copy-paste ready.

Add an explicit verification step to the rollout workflow after `swiftlint --fix` (e.g. "Review the diff and run tests before committing"), since autocorrect is a batch file modification and the current loop relies on CI catching problems later.

The config example disables `line_length` under `disabled_rules` while also configuring `line_length` thresholds two lines later; either drop the duplicate block or add a one-line comment explaining the pattern to avoid confusion.

DimensionReasoningScore

Conciseness

The body is ~125 lines of mostly code blocks, terse tables of mistakes, and a checklist — every section is SwiftLint-specific knowledge Claude does not already have ("It avoids global machine installs and runs automatically during target compilation", the Common Mistakes items). No padding or explanation of known concepts; matches the score-5 anchor ("Lean and efficient; assumes Claude's competence; every token earns its place") rather than 4, where over-explanation would need trimming.

5 / 5

Actionability

Mostly executable: a ready-to-run `.swiftlint.yml`, real suppression comments (`// swiftlint:disable:next force_cast`), and copy-paste CI commands (`swiftlint --strict --reporter github-actions-logging`, `swiftlint analyze --compiler-log-path xcodebuild.log`). It falls short of the score-5 anchor because the Package.swift example is a fragment (bare `dependencies:`/`targets:` entries without the full manifest scaffolding) and the suppression example uses `{ ... }` placeholder bodies, so not everything is copy-paste ready.

4 / 5

Workflow Clarity

The rollout sequence is clear ("1. Start with high-confidence default rules... 2. Fix autocorrectable violations with `swiftlint --fix` 3. Introduce stricter opt-in rules team-by-team") and CI verification exists via `--strict` plus a Review Checklist. It is not 5 because the batch-modifying `swiftlint --fix` step has no explicit post-fix checkpoint (e.g. review the diff / run tests before committing) — the validation loop is implicit in CI rather than stated in the workflow.

4 / 5

Progressive Disclosure

The body is a concise overview with bulk detail correctly split into five real one-level-deep reference files (references/adoption-and-configuration.md, plugins-run-scripts-and-integrations.md, rules-suppressions-and-baselines.md, rule-reference.md, custom-rules-and-analyze.md — all verified to exist), clearly signaled in a References section with descriptive titles and a Contents TOC. Matches the score-5 anchor ("Clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation").

5 / 5

Total

18

/

20

Passed

Description

92%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: third-person, concrete, and comprehensive, with an explicit "Use for..." trigger clause enumerating the tool's full capability surface. The only gap is a handful of natural trigger phrasings (file extension, "lint warnings") that would round out keyword coverage.

DimensionReasoningScore

Specificity

Quotes: "Configure and enforce SwiftLint through build-tool plugins, Xcode scripts, Swift Package plugins, or CI" plus "rule configuration, suppressions, baselines, autocorrection, reporters, strictness, multi-config setups, and staged rollout" — multiple concrete capabilities with comprehensive coverage. Matches the score-5 anchor ("Lists multiple specific concrete actions; comprehensive coverage"); it is not score 4 because coverage extends well past 'minor gaps' into the tool's whole surface area.

5 / 5

Completeness

Explicitly answers 'what' ("Configure and enforce SwiftLint through build-tool plugins, Xcode scripts, Swift Package plugins, or CI") and 'when' ("Use for rule configuration, suppressions, baselines... in existing Swift projects") with concrete trigger phrases. This matches the score-5 anchor exactly; score 4 would require the 'when' clause to be less explicit than this fully enumerated "Use for" list.

5 / 5

Trigger Term Quality

Quotes: "rule configuration, suppressions, baselines, autocorrection, reporters, strictness, multi-config setups, and staged rollout" — natural terms users would say when needing this skill. A few common variations are missing (e.g. ".swiftlint.yml", "lint warnings", "disable a rule"), so it sits at the score-4 anchor ("Good keyword coverage; a few natural terms missing") rather than the comprehensive-synonym coverage of 5.

4 / 5

Distinctiveness Conflict Risk

The description names a specific tool (SwiftLint) and tool-specific triggers ("baselines", "autocorrection", ".swiftlint.yml"-style configuration work), giving it a clear niche with minimal conflict risk against adjacent Swift skills. It is not score 4 because no closely related skill would plausibly capture these triggers — they only apply to this linter.

5 / 5

Total

19

/

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

thienqo/ios-skills

Path

skills/swiftlint/SKILL.md

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.