CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

apolloio

Apollo.io integration. Manage Persons, Organizations, Deals, Leads, Pipelines, Users and more. Use when the user wants to interact with Apollo.io data.

Quality

70%

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/apolloio/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.

The body is a solid, largely copy-paste-ready operational guide: CLI install, auth (including headless), connection lifecycle with state handling, action discovery/execution, and an API proxy fallback. Main weaknesses are filler overview content, a batch/destructive action catalog with no validation guidance and dangling step references, and an unresolved actionId-vs-key mapping.

Suggestions

Remove or replace the filler "Apollo.io Overview" bullet list and "Use action names and parameters as needed" with nothing or with genuinely useful scope information.

Fix the workflow numbering: label the actual steps (1, 2, 3...) so "skip to Step 2" and the orphan "1b" heading resolve consistently.

Add post-run validation guidance for destructive/batch actions, e.g. check the response for errors, verify a bulk-create result, and confirm counts after bulk updates.

Clarify how the catalog "Key" values map to <actionId> in `membrane action run`, ideally with one complete end-to-end example using a real key and input.

DimensionReasoningScore

Conciseness

Most of the body is lean, executable commands and tables, but it carries unnecessary padding: the marketing-style intro ("It helps sales, marketing, and recruiting teams to identify, contact, and close deals with targeted prospects") and the low-value "Apollo.io Overview" bullet list ending in the filler "Use action names and parameters as needed." Matches anchor 3 (mostly efficient with some unnecessary explanation); not 4 because the overview section is pure filler that could be cut entirely.

3 / 5

Actionability

Guidance is concrete throughout — install command, login flow with headless completion, connection ensure with exact URL, polling with --wait, action search/run syntax, and a proxy flag table. Matches anchor 4 (mostly executable with minor gaps): the run examples use <actionId> while the catalog table lists "Key" values (e.g. list-users), and no complete end-to-end example shows how a key maps to an actionId with a real input. Not 5 for that unresolved mapping gap.

4 / 5

Workflow Clarity

The setup sequence (install → login → connect → poll state → search → run) is clear and the connection-state feedback loop (READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR with re-polling) is explicit. However, there are dangling step references ("skip to Step 2" with no Step 2 labeled; a "1b" heading with no numbered steps), and the catalog includes destructive/batch operations (bulk-create-contacts, bulk-update-contacts, update/delete actions) with no post-run validation or verification guidance — the rubric's batch-operations cap applies. Anchor 3, not 4, because of that cap and the incoherent step numbering.

3 / 5

Progressive Disclosure

No bundle files exist and the body references none (only the external official-docs URL), so nothing is dangling or nested; sections are clearly headed and content stays one level deep. Matches anchor 4 (good structure, minor organization gaps): the low-value overview list is oddly placed, the "1b" numbering is inconsistent, and the 20-row action catalog could live in a reference file. Not 5 because all content is inline with those minor organization issues.

4 / 5

Total

14

/

20

Passed

Description

66%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 is functional: it names a clear niche (Apollo.io), lists the main entity types, and includes an explicit "Use when" clause. Its weaknesses are generic verb coverage ("Manage... and more"), the unnatural term "Persons" instead of "Contacts", and a trigger clause that could name concrete user phrasings.

Suggestions

Replace the generic "Manage" with concrete verbs, e.g. "Create, search, update, and bulk-import contacts, accounts, deals, and tasks".

Use "Contacts" instead of "Persons" and add natural synonyms users would actually say (contacts, prospects, accounts, leads, deals) so the description matches real phrasing.

Sharpen the trigger clause with concrete mentions, e.g. "Use when the user mentions Apollo.io, syncing contacts or leads, or managing deals, accounts, or tasks in their CRM".

DimensionReasoningScore

Specificity

"Manage Persons, Organizations, Deals, Leads, Pipelines, Users and more" names the domain and many concrete objects, but the only verb is the generic "Manage" — it lists entities rather than specific actions like create, search, or bulk-update. Not 4 because no distinct concrete actions are enumerated, only one generic verb applied to a list.

3 / 5

Completeness

Both parts are present: what = "Manage Persons, Organizations, Deals, Leads, Pipelines, Users and more", and when = "Use when the user wants to interact with Apollo.io data". The when-clause is explicit but generic ("interact with Apollo.io data" rather than concrete trigger phrases), matching anchor 4; not 5 because the trigger guidance lacks specific mention-based phrases.

4 / 5

Trigger Term Quality

Relevant keywords are present ("Apollo.io", "Deals", "Leads", "Pipelines", "Organizations"), but it says "Persons" where users (and the skill's own body, which uses contacts) would say "Contacts", and it misses natural synonyms like "prospects", "accounts", or "CRM". Matches anchor 3 (some relevant keywords, missing common variations); not 4 because common user phrasings are absent.

3 / 5

Distinctiveness Conflict Risk

It names Apollo.io explicitly and scopes triggers to Apollo.io data, giving it a clear niche with minimal overlap risk against other sales/CRM skills. Matches anchor 5 (clear niche, distinct triggers, minimal conflict risk).

5 / 5

Total

15

/

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/apolloio/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.