CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

apex-27

Apex 27 integration. Manage Organizations, Pipelines, Users, Goals, Filters. Use when the user wants to interact with Apex 27 data.

Quality

69%

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/apex-27/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 operational core of this skill is strong — concrete Membrane CLI commands with genuine state-polling validation for connection setup. However, it is undermined by authoring artifacts: an "I don't have enough information about Apex 27" placeholder paragraph, an official-docs link pointing at Salesforce Apex (a different product) rather than Apex 27's real-estate CRM API, a dangling "Step 2" reference, and a Popular actions table whose every description is "No description".

Suggestions

Delete the placeholder paragraph "I don't have enough information about Apex 27..." and replace the Salesforce Apex developer-docs link with the actual Apex 27 (apex27.co.uk) API documentation.

Fix the broken navigation: "skip to Step 2" points to a step that doesn't exist — label the searching/running sections as explicit numbered steps.

Replace the "No description" filler rows in the Popular actions table with real descriptions (or move the action catalog to a references/ file), and rewrite the bare noun-list overview with the entity names that match Apex 27's actual domain (contacts, listings, offers, leads, tenancies, branches, valuations).

DimensionReasoningScore

Conciseness

The CLI instructions themselves are lean and command-driven, but the body carries several padded or dead sections: the leftover "I don't have enough information about Apex 27 to provide a description" paragraph, a "No description" placeholder appearing in all 20 rows of the Popular actions table, and a bare noun-list "Apex 27 Overview". This matches anchor 3 (mostly efficient but includes unnecessary content that could be tightened); it is not 2 because the padding is filler rather than extensive over-explanation of concepts Claude already knows.

3 / 5

Actionability

Commands are concrete and mostly copy-paste ready: "npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://apex27.co.uk\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json", plus a full proxy flag table. This matches anchor 4; it is not 5 because of minor gaps such as "membrane login --tenant --clientName=<agentType>" showing --tenant with no value, and not 3 because the guidance is genuinely executable rather than pseudocode or high-level hints.

4 / 5

Workflow Clarity

The install → login → connect → poll → search → run sequence is clearly laid out with real validation and feedback loops: poll with --wait until state leaves BUILDING, act on clientAction for CLIENT_ACTION_REQUIRED, re-poll until READY, and check error on CONFIGURATION_ERROR/SETUP_FAILED. This matches anchor 4; it is not 5 because "If the returned connection has state: READY, skip to Step 2" references a Step 2 that is never defined in the document, and not 3 because explicit validation checkpoints for the fragile connection step are present.

4 / 5

Progressive Disclosure

The file has logical section headers but is a ~180-line monolith with no bundle files; the 20-row action catalog (all "No description") and the incoherent Apex 27 Overview belong in a separate curated reference, matching anchor 3 (some structure but content that should be separate is inline). It is not 4 because the document is well past trivial size and mixes catalog filler inline, and not 2 because sections are clearly headed and navigable.

3 / 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 what/when pattern and is anchored to a specific product, but it is thin: one generic verb ("Manage") over a list of nouns, and trigger coverage limited to the product name. Notably, the listed entities (Organizations, Pipelines, Users, Goals, Filters) do not match Apex 27's actual real-estate-CRM domain shown in the body (contacts, listings, offers, leads, tenancies), suggesting the description was not written against the real API.

Suggestions

Replace the generic verb with concrete actions and the correct domain objects, e.g. "Manage contacts, listings, offers, leads, and tenancies in Apex 27; run CRUD actions and proxy raw API requests through Membrane."

Add natural trigger terms and synonyms users would actually say, e.g. "Use when the user mentions Apex 27, contacts, leads, tenancies, valuations, or wants to query/update their Apex 27 CRM data."

Ensure the enumerated entities match the skill's real capabilities so the description does not misrepresent coverage.

DimensionReasoningScore

Specificity

"Manage Organizations, Pipelines, Users, Goals, Filters" enumerates several object types but uses a single generic verb ("Manage") rather than distinct concrete actions, matching anchor 3. It is not 4 because anchor 4 requires several specific actions with concrete verbs (e.g. "extracts text, fills forms"), and not 2 because it goes beyond merely naming the domain.

3 / 5

Completeness

Both parts are explicit: what = "Manage Organizations, Pipelines, Users, Goals, Filters" and when = "Use when the user wants to interact with Apex 27 data", matching anchor 4. It is not 5 because the 'when' clause is generic and lacks concrete trigger phrases, and not 3 because 'when' is explicitly stated rather than merely implied.

4 / 5

Trigger Term Quality

The only natural keyword is the product name itself ("Apex 27", "Apex 27 data"), with no synonyms or domain nouns users would naturally say (contacts, listings, leads, tenancies, CRM), matching anchor 3. It is not 4 because keyword coverage beyond the product name is absent, and not 2 because "Apex 27" is a far more specific trigger than generic language like "works with files".

3 / 5

Distinctiveness Conflict Risk

"Apex 27" names a distinct niche product, so overlap risk is low, matching anchor 4. It is not 5 because triggering rests solely on the product name with no concrete trigger phrases, and "Apex" alone risks collision with Salesforce Apex; not 3 because the description is anchored to a specific product rather than a broad category.

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/apex-27/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.