Online status, activity tracking, and multi-device sync
51
40%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./src/skills/bundled/presence/SKILL.mdQuality
Discovery
22%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This description is a bare list of feature areas with no concrete actions, no explicit trigger guidance, and no verbs. It reads more like a feature category label than a skill description, making it difficult for Claude to know precisely when to select this skill or what specific operations it performs.
Suggestions
Add concrete action verbs describing what the skill does, e.g., 'Tracks user online/offline presence, logs activity events, and synchronizes state across multiple devices.'
Add an explicit 'Use when...' clause with natural trigger terms, e.g., 'Use when the user asks about presence detection, last-seen status, syncing sessions across devices, or monitoring user activity.'
Clarify the specific domain or platform context (e.g., chat application, IoT devices, web app) to reduce overlap with other tracking or sync-related skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names a domain area ('online status, activity tracking, multi-device sync') but uses vague noun phrases rather than concrete actions. There are no verbs describing what the skill actually does (e.g., 'tracks', 'syncs', 'monitors'). | 1 / 3 |
Completeness | The description only vaguely addresses 'what' (online status, activity tracking, multi-device sync) and completely lacks any 'when' guidance — there is no 'Use when...' clause or equivalent explicit trigger guidance. | 1 / 3 |
Trigger Term Quality | Terms like 'online status', 'activity tracking', and 'multi-device sync' are somewhat relevant keywords, but they lack common user variations (e.g., 'presence', 'last seen', 'device syncing', 'availability status') and feel more like feature labels than natural user language. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of online status, activity tracking, and multi-device sync narrows the domain somewhat, but 'activity tracking' is quite broad and could overlap with analytics, logging, or monitoring skills. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides comprehensive, executable API examples for presence management, which is its main strength. However, it reads more like an API reference dump than a well-structured skill — it's monolithic, lacks workflow sequencing for setup/initialization, and includes some unnecessary explanations. Splitting into overview + reference files and adding an initialization workflow would significantly improve it.
Suggestions
Split the detailed TypeScript API reference into a separate REFERENCE.md file and keep SKILL.md as a concise overview with quick-start examples and links to the reference.
Add an initialization/setup workflow showing the sequence: create service -> register device -> start heartbeat loop -> handle events, with validation checkpoints.
Remove the Status Types table descriptions and Best Practices section — these are either self-evident or too generic to add value for Claude.
Add error handling examples for common failure cases (e.g., Redis connection failure, sync conflicts between devices).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is reasonably structured but includes unnecessary explanations Claude already knows (e.g., status type descriptions like 'Active and available' for 'online', the Multi-Device Sync prose section, and generic best practices like 'Keep status accurate'). The console.log examples add bulk without much value. | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code examples with concrete API calls, configuration options, and event handlers. Chat commands are clearly listed with exact syntax. Code is copy-paste ready. | 3 / 3 |
Workflow Clarity | The API methods are clearly documented but there's no sequenced workflow showing how to set up presence end-to-end (e.g., initialize -> register device -> start heartbeat -> handle events). No validation or error handling steps are shown for operations like sync or device registration. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content — a full API reference inlined in a single file with no references to separate files for advanced topics, device management details, or event handler patterns. The content would benefit greatly from splitting the API reference into a separate file and keeping SKILL.md as an overview. | 1 / 3 |
Total | 8 / 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 | |
e71a5f6
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.