CtrlK
BlogDocsLog inGet started
Tessl Logo

terra-connections

Terra API device and provider connections. Use when connecting users to wearables (Fitbit, Garmin, Apple Health, Oura, WHOOP), managing user sessions, or handling disconnections.

63

Quality

79%

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 ./.claude/skills/terra-connections/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 solid, action-oriented reference: executable code for all three connection methods and the core operations, with useful webhook payloads and provider notes. The main weaknesses are the missing validation/verification checkpoints (especially around the destructive disconnect operation), and a monolithic structure where SDK details and the DB schema could live in separate reference files.

Suggestions

Add explicit validation checkpoints to the connection workflows: after generating a widget/auth session, instruct Claude to confirm success via the type: "auth" webhook or get-user-info before storing the connection, and to verify the terra_user_id (vs. reference_id) before calling the destructive disconnect-user operation.

Move the ~70 lines of mobile SDK integration code (iOS/Android/React Native) into a referenced file or defer to the terra-sdk skill, keeping SKILL.md focused on the connection lifecycle; similarly consider moving the SQL schema to a reference file.

De-duplicate the connect-user helper against Method 1/Method 2 (e.g., show the helper once and reference it from the method sections), and replace the hardcoded dev ID in mobile examples with a placeholder consistent with the env-var pattern used in the Python examples.

DimensionReasoningScore

Conciseness

The body is code-first with no explanations of concepts Claude already knows, and sections like "Provider-Specific Notes" are appropriately terse. However, the ~40-line "connect-user" helper substantially re-implements what "Method 1" (widget) and "Method 2" (custom UI) already demonstrated, and the operation docstrings add padding — minor trims, matching anchor 4 rather than anchor 5's 'every token earns its place'.

4 / 5

Actionability

The widget-session, authenticateuser, deauthenticateuser, and mobile SDK examples are concrete and nearly copy-paste ready, covering the common cases (widget flow, per-provider flow, iOS/Android/React Native, disconnect, user info, subscriptions). Minor gaps: the mobile examples hardcode a real-looking dev ID ("botaniqalmedtech-testing-SjyfjtG33s") instead of the env-var pattern used in Python, and "response.session_id" is unverifiable — anchor 4 (mostly executable, minor gaps) rather than 5.

4 / 5

Workflow Clarity

Sequences are clearly presented (numbered 5-step widget user flow, 3-step SDK initialization flows), but there are no explicit validation checkpoints: nothing verifies a connection succeeded (e.g., via the type: "auth" webhook or get-user-info) before proceeding. The "disconnect-user" operation "revokes access, removes data" — a destructive operation — with no verification step, which caps this dimension at 3 per the rubric guideline.

3 / 5

Progressive Disclosure

Section structure is good, but the skill is a single ~380-line file with no bundle files: ~70 lines of mobile SDK integration code (territory of the declared terra-sdk sibling) and the SQL database schema are inlined, and the "Related Skills" pointers cannot be verified. This fits anchor 3 (some structure; content that should be separate is inline) rather than anchor 4's 'most content appropriately placed'.

3 / 5

Total

14

/

20

Passed

Description

83%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: it states the domain clearly, provides an explicit 'Use when' clause with highly natural trigger terms (specific wearable brand names), and covers the full connection lifecycle (connect, manage sessions, disconnect). Its only weaknesses are minor keyword omissions and slight overlap risk with adjacent terra-* sibling skills.

DimensionReasoningScore

Specificity

"connecting users to wearables", "managing user sessions", and "handling disconnections" are three concrete actions named alongside specific providers (Fitbit, Garmin, Apple Health, Oura, WHOOP). Minor gaps in coverage (e.g., querying connection status, a capability the body documents) keep it below the comprehensive anchor 5, but it clearly exceeds the 1-2 actions of anchor 3.

4 / 5

Completeness

"Terra API device and provider connections" answers the what, and "Use when connecting users to wearables (Fitbit, Garmin, Apple Health, Oura, WHOOP), managing user sessions, or handling disconnections" is an explicit, specific when-clause with concrete trigger phrases. This matches anchor 5's structure; the 'when' is fully explicit, so anchor 4's deficiency ('when could be more explicit') does not apply.

5 / 5

Trigger Term Quality

Natural user phrases like "wearables", "Fitbit", "Garmin", "Apple Health", "Oura", "WHOOP", and "disconnections" give good keyword coverage. A few common variations are missing (e.g., "Samsung Health", "link device", "sync", "revoke access"), so it fits anchor 4 rather than the comprehensive coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear niche (Terra connection lifecycle), but sibling skills declared in the body (terra-sdk, terra-webhooks) cover adjacent territory — this skill's body includes SDK connection code and connection webhook events — creating minor overlap risk. Fits anchor 4 (mostly distinct, minor overlap with closely related skills) rather than anchor 5's minimal conflict risk.

4 / 5

Total

17

/

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
fernandezbaptiste/Skrillz
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.