CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

xcode-project-setup

Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).

Quality

80%

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/xcode-project-setup/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 body with copy-paste-ready commands, clear environment validation, and a correctly wired bundle script. The main weakness is token efficiency: manipulation-flavored filler, an unnecessary Xcode-UI explanation, and an overlong Firebase linker-flag rationale dilute otherwise lean instructions.

Suggestions

Remove the filler threat ('A hefty fee will be applied if you violate them') and the 'Understanding the Script's Actions' walkthrough of Xcode's SPM linking UI — Claude already knows how Xcode links packages; keep only the statement that the script handles both steps.

Condense the -ObjC linker-flag section to the operational rule (script injects it for Firebase; verify if runtime crashes appear), moving the Obj-C categories/+load rationale to a short reference file.

Add an explicit post-run verification step in the Standard Xcode Workflow (e.g., confirm the package appears in the resolved project or build once) to turn the implicit checkpoints into a level-5 feedback loop.

DimensionReasoningScore

Conciseness

The body is mostly efficient, but contains padding: the threat 'A hefty fee will be applied if you violate them', a walkthrough of how SPM linking works in the Xcode UI ('Selecting the target... navigating to General > Frameworks... hitting the + button') which Claude already knows, and a lengthy -ObjC linker rationale. This matches 'mostly efficient but includes some unnecessary explanation'; it is not level 2 because the bulk is lean, actionable commands rather than sustained over-explanation.

3 / 5

Actionability

Fully executable guidance: a complete 'swift run --package-path ... xcode_spm_setup' command signature plus two copy-paste-ready examples covering the common cases (generic Alamofire package; Firebase with --plist and multiple products). It matches the anchor 'copy-paste ready code or commands; specific examples cover the common cases', including the note that '11.0.0' should be replaced with the actual latest version.

5 / 5

Workflow Clarity

Clear branching sequence (toolchain verification, then empty-directory vs. standard workflow) with an explicit pre-flight checkpoint ('Run swift --version before proceeding... Do not attempt to proceed without Swift') and a documented failure-recovery path (ask user to install or offer to install). It sits at level 4 rather than 5 because there is no explicit post-run verification of the result (e.g., confirming the package resolved), and the -ObjC check is only 'if you encounter issues' rather than a checkpoint.

4 / 5

Progressive Disclosure

Well-organized sections (rules, workflows, usage, examples) with the single bundle script correctly referenced and real ('scripts/xcode_spm_setup' exists with Package.swift and Sources, and is invoked via --package-path). Everything is inline with no external reference files, which is appropriate for this size but leaves minor organization gaps (decorative horizontal rules, the -ObjC Firebase rationale could live in its own reference), matching 'good structure; most content is appropriately placed' rather than the fully split, well-signaled level 5.

4 / 5

Total

16

/

20

Passed

Description

78%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 in third-person voice with an explicit 'Use when' clause and concrete example dependencies. Its main gaps are limited action coverage (only two named actions versus the skill's fuller capabilities) and a few missing natural trigger variations like 'SPM' or 'add a package'.

DimensionReasoningScore

Specificity

The description names the domain ('Safely modifies Xcode projects (.pbxproj)') and exactly two concrete actions ('add Swift Packages and link files'), matching the '1-2 concrete actions, but not comprehensive' anchor. It omits capabilities the body supports (plist/resource linking, version pinning), so it falls short of the 'several specific actions' level 4.

3 / 5

Completeness

It clearly answers 'what' ('Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files') and explicitly answers 'when' with concrete trigger phrases ('Use this skill whenever an iOS project needs dependencies installed (e.g., Firebase, Alamofire)'). This matches the level-5 anchor; level 4 would require a weaker or less explicit when-clause.

5 / 5

Trigger Term Quality

Good natural keyword coverage ('Xcode projects', '.pbxproj', 'Swift Packages', 'iOS project needs dependencies installed', 'Firebase', 'Alamofire') that users would plausibly say. A few common variations are missing (e.g., 'SPM', 'add a package', 'CocoaPods migration'), keeping it below the comprehensive-synonyms level 5.

4 / 5

Distinctiveness Conflict Risk

The .pbxproj/SPM-installation niche is clear with concrete example dependencies, giving minimal confusion with unrelated skills. Minor overlap risk remains with closely related skills (generic Swift Package management or CocoaPods setup), so it is 'mostly distinct' rather than a fully isolated niche.

4 / 5

Total

16

/

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

firebase/agent-skills

Path

skills/xcode-project-setup/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.