CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

background-processing

Schedules and executes iOS background work with BGTaskScheduler and background URLSession. Use for app refresh, processing, continued-processing tasks, expiration and completion handling, background downloads, background pushes, registration, Info.plist configuration, or launch simulation.

Quality

88%

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

78%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-built overview: dense with non-obvious iOS-specific facts, copy-paste configuration, a sequenced lifecycle, and a verification checklist, all routed precisely to a single verified reference file. The main gaps are the absence of any inline Swift registration snippet, missing recovery feedback loops, and a version-sensitive targeting line in the overview.

Suggestions

Include a minimal inline Swift registration snippet (even ~10 lines of the didFinishLaunchingWithOptions handler) so the core lifecycle can be executed without opening the reference file.

Add explicit feedback loops for common failure paths, e.g., "if submit(_:) throws .notPermitted, verify the identifier is declared in BGTaskSchedulerPermittedIdentifiers and resubmit" — turning the Common Mistakes list into recovery steps.

Fold the "Targets Swift 6.4 / iOS 26+" version line into the versioned iOS 27 Updates section so the overview carries no date-sensitive content.

DimensionReasoningScore

Conciseness

The body is lean and fact-dense — every rule states non-obvious API behavior ("Failing to call completion causes the system to penalize future execution allocations", exact plist keys, exact APNs payload fields) — but "Targets Swift 6.4 / iOS 26+" is version-sensitive content sitting outside any deprecated/old-patterns section, a minor instance that could be trimmed.

4 / 5

Actionability

Concrete, executable guidance throughout — a copy-paste XML plist block, the Xcode menu path, error codes like `BGTaskScheduler.Error.Code.notPermitted`, and LLDB's `_simulateLaunchForTaskIdentifier:` — but the core Swift registration and handler code is delegated entirely to the reference file, leaving a minor gap that fits the mostly-executable anchor rather than the fully-copy-paste-ready one.

4 / 5

Workflow Clarity

"Core Lifecycle Rules" gives a clearly sequenced lifecycle (register before launch → re-schedule inside handler → set expirationHandler → call setTaskCompleted exactly once) reinforced by a 9-item "Review Checklist", but there are no explicit validate-fix-retry feedback loops (e.g., how to recover from a `.notPermitted` throw), matching the most-checkpoints-present anchor rather than the explicit-feedback-loops one.

4 / 5

Progressive Disclosure

An exemplary overview-to-reference split: "Route by Task" gives five purpose-labeled pointers with section anchors into a single real reference file (all anchors verified to resolve in references/background-task-patterns.md), one level deep, with a table of contents aiding navigation — exactly the top anchor.

5 / 5

Total

17

/

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, explicit what-and-when structure with a comprehensive, concrete capability enumeration and a clear iOS-background-tasks niche. The only weakness is missing natural synonyms such as "background fetch" and "silent push" in the trigger list.

DimensionReasoningScore

Specificity

"Schedules and executes iOS background work with BGTaskScheduler and background URLSession" plus nine specific capability areas ("app refresh, processing, continued-processing tasks, expiration and completion handling, background downloads, background pushes, registration, Info.plist configuration, or launch simulation") comprehensively covers the skill's scope, matching the comprehensive-coverage anchor rather than the minor-gaps anchor.

5 / 5

Completeness

It explicitly answers both questions: the first sentence gives a clear third-person "what" ("Schedules and executes iOS background work with BGTaskScheduler and background URLSession") and "Use for app refresh, processing, ... or launch simulation" provides concrete trigger phrases, exactly matching the top anchor's structure.

5 / 5

Trigger Term Quality

Natural phrases like "app refresh", "background downloads", "background pushes", and "Info.plist configuration" are present, but common synonyms users would say — "background fetch", "silent push", "BGTask" — are missing, so it fits the good-coverage-with-a-few-missing-terms anchor rather than the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

"iOS background work with BGTaskScheduler and background URLSession" carves out a clear niche with named APIs and distinct triggers (app refresh, background downloads, silent pushes), creating minimal conflict risk with other skills.

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/background-processing/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.