CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

callrail

CallRail integration. Manage Companies. Use when the user wants to interact with CallRail data.

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/callrail/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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.

This is a strong operational skill — nearly every section is a copy-paste-ready command with sensible connection-state validation and a useful actions catalog. Its weaknesses are editorial: a padded marketing intro, a broken "Step 2" numbering scheme, and no error-handling guidance once actions are actually run.

Suggestions

Fix the dangling "Step 2" references: either add explicit numbered step headings (### Step 1: Connect, ### Step 2: Find and run actions) or reword the two references and the orphaned "#### 1b" heading to match the section names.

Trim the marketing intro paragraph and the CallRail Overview entity tree — both restate information the actions table already conveys.

Add a short error-handling note for `membrane action run` (what a failed action response looks like and how to retry), mirroring the good state-machine coverage the connection section already has.

DimensionReasoningScore

Conciseness

The bulk of the body is dense, operational content (install, auth, connection, action, proxy commands), but there is unnecessary padding: the marketing intro ("CallRail is a marketing analytics platform that helps businesses track and analyze their marketing campaigns... Marketing teams and agencies use CallRail to optimize their campaigns and improve ROI"), the entity-tree overview that duplicates the actions table, and best-practice prose like "This will burn less tokens and make communication more secure". This fits 'mostly efficient but includes some unnecessary explanation or could be tightened'; not a 2 because most sections are lean executable guidance rather than padded explanation.

3 / 5

Actionability

Highly concrete: copy-paste commands for every phase (npm install, membrane login, connection ensure with --json, action list --intent, action run --input, request with a full flag table), plus a 21-row actions table with real action keys. It is not a 5 because there is no end-to-end worked example (e.g. running list-calls with an actual input), and the proxy example uses the placeholder "/path/to/endpoint" rather than a real CallRail API path.

4 / 5

Workflow Clarity

The sequence (install → login → connection ensure → poll state → search actions → run → proxy fallback) is present and connection-state handling is genuinely good (READY / CLIENT_ACTION_REQUIRED / error states with re-polling), but the document references a "**Step 2**" twice (lines 79 and 93) that is never defined — there is no Step 1, Step 2, or numbered sequence, only a lone "#### 1b" heading — and there is no guidance on handling failures of "membrane action run" itself. Sequence present with real coherence gaps fits the 3 anchor; not a 2 because the flow is readable and connection checkpoints are explicit.

3 / 5

Progressive Disclosure

A single-file skill (no references/, scripts/, or assets/ exist) with well-organized sections, a clear overview, and an external link to the official API docs; no nested or buried references. It is not a 5 because at ~170 lines the 21-row actions table and the field-by-field clientAction breakdown could be split into a reference file to keep SKILL.md leaner, which is a minor organization gap rather than the inline-bloat of the 3 anchor.

4 / 5

Total

14

/

20

Passed

Description

62%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.

The description follows the right shape — a short 'what' plus an explicit 'Use when' trigger anchored on the CallRail brand name — but it is underwritten. It advertises only one capability ("Manage Companies") out of the many the skill actually supports, and the trigger vocabulary is thin beyond the brand name itself.

Suggestions

Replace "Manage Companies" with the skill's actual capability set, e.g. "Manage companies, calls, text messages, form submissions, tracking numbers, and tags in CallRail".

Add natural trigger terms users would actually say: "call tracking", "marketing analytics", "call recordings", "form submission tracking".

Make the 'when' clause more concrete, e.g. "Use when the user mentions CallRail, call tracking, or wants to query or update call, company, text, or form-submission data."

DimensionReasoningScore

Specificity

Names the domain ("CallRail integration") and one concrete action ("Manage Companies"), matching the 'domain + 1-2 concrete actions, not comprehensive' anchor. It is not a 4 because the body demonstrates many more capabilities (calls, text messages, form submissions, tracking numbers, tags) that the description never mentions, and not a 2 because it goes beyond merely naming the domain.

3 / 5

Completeness

Both parts are present: 'what' is "CallRail integration. Manage Companies." and 'when' is an explicit "Use when the user wants to interact with CallRail data" clause. It is a 4 rather than 5 because the 'when' clause is generic ('interact with CallRail data' names no concrete trigger phrases) and the 'what' covers only a sliver of actual capabilities; it is not a 3 because the 'when' is explicitly stated, not merely implied.

4 / 5

Trigger Term Quality

It has the primary brand keyword ("CallRail", "CallRail data") and "Companies", but misses the natural variations users would say: "call tracking", "calls", "texts"/"text messages", "form submissions", "marketing analytics". This fits 'some relevant keywords but missing common variations or synonyms'; a 4 would require noticeably broader natural-term coverage.

3 / 5

Distinctiveness Conflict Risk

"CallRail" is a specific brand name, giving the skill a clear niche with minimal wrong-skill triggering. It is not a 5 because the generic phrase "Manage Companies" could pull in unrelated CRM/company-management requests, a minor overlap risk with closely related business-data skills.

4 / 5

Total

14

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

membranedev/application-skills

Path

skills/callrail/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.