CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

acymailing

AcyMailing integration. Manage data, records, and automate workflows. Use when the user wants to interact with AcyMailing data.

Quality

65%

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

Quality

Content

57%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 solid, command-driven integration guide whose connection lifecycle handling is unusually thorough. Its weaknesses are waste and safety: padded intro/overview sections, an action catalog with an empty description column that belongs in a reference file, broken step cross-references, and no verify-before-delete guidance despite exposing destructive actions.

Suggestions

Add a validation step for destructive/batch actions in Best practices, e.g. "Before delete-campaign/delete-list/delete-user, run the corresponding get action and confirm the target with the user" — this lifts the workflow_clarity cap and covers the destructive operations the skill exposes.

Delete the empty Description column (or populate it) in the Popular actions table, and move the full action catalog plus the proxy flag table to a references/ file (e.g. references/actions.md), keeping only 5-6 flagship actions inline.

Fix the sequence labeling: replace "skip to **Step 2**" and "#### 1b" with consistently numbered steps, and remove the padding sentences about who uses AcyMailing plus the filler Overview tree.

DimensionReasoningScore

Conciseness

The bulk is efficient, command-first prose, but several sections are unnecessary: the intro padding "It is used by website owners and marketers who use Joomla to manage their online presence", the bare Overview tree with the filler line "Use action names and parameters as needed", and a 16-row Popular actions table whose Description column is entirely empty. This lands on anchor 3 ("Mostly efficient but includes some unnecessary explanation or could be tightened"); it is above 2 because no section is extensively padded, but below 4 because there are multiple trimmable blocks, not just minor instances.

3 / 5

Actionability

Nearly everything is copy-paste ready: exact install/login commands, `membrane connection ensure "https://www.acymailing.com/" --json`, `membrane action run <actionId> --connectionId=... --input '{"key": "value"}' --json`, and a complete proxy flag table. It falls short of anchor 5 because there is no worked end-to-end example (e.g. running get-campaigns with a real action id and input), the Popular actions table's empty Description column leaves parameter semantics undocumented, and `--clientName=<agentType>` ends with a loose "claude, openclaw, codex, warp, windsurf, etc."; it is well above anchor 3 because nothing is pseudocode and all commands are executable as written.

4 / 5

Workflow Clarity

The install → login → connection → action-discovery → run → proxy sequence is present, with genuinely good state handling (BUILDING polling loop, CLIENT_ACTION_REQUIRED sub-actions, re-poll after user action, error-field inspection on failure). However the rubric's cap applies: the skill exposes destructive and batch actions ("Delete Campaign", "Delete List", "Delete User", "Unsubscribe Users from Lists") with no validation guidance such as fetching before deleting or confirming with the user, which caps this at 3. It is also dragged down from 4 by a broken cross-reference — "skip to **Step 2**" points to a step that is never labeled, and "#### 1b" has no labeled Step 1 or Step 2 — leaving the sequence's checkpoints partially incoherent.

3 / 5

Progressive Disclosure

There are no bundle files at all (no references/, scripts/, or assets/), so everything lives inline in a single ~155-line file with reasonable section headers. That fits anchor 3 ("Some structure but could be better organized; ... content that should be separate is inline"): the 16-row action catalog and the proxy options reference table are exactly the material that belongs in a one-level-deep reference file, and heading levels are inconsistent ("#### 1b" nested under "###", orphaned "Step 2" references). It is not 2 because the document is navigable with clear headers, and not 4 because the over-50-line simple-skill exception does not apply and the inline catalog is misplaced rather than just having minor gaps.

3 / 5

Total

13

/

20

Passed

Description

57%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 has the right structure — domain named, explicit 'Use when' clause, third-person voice — but squanders it with template-generic action language. Replacing "Manage data, records, and automate workflows" with the skill's actual capabilities (campaigns, mailing lists, subscribers) would lift both specificity and trigger-term coverage substantially.

Suggestions

Replace the generic "Manage data, records, and automate workflows" with concrete capabilities drawn from the body, e.g. "Create and send email campaigns, manage mailing lists and subscribers, and monitor the sending queue".

Add natural trigger synonyms to the 'Use when' clause, e.g. "Use when the user mentions AcyMailing, Joomla newsletters, email campaigns, subscribers, or mailing lists".

Drop the circular phrase "interact with AcyMailing data" in favor of trigger terms users would actually say, which also sharpens the when-clause required for a top completeness score.

DimensionReasoningScore

Specificity

"AcyMailing integration. Manage data, records, and automate workflows" names the domain but the actions are entirely generic — "data", "records", "workflows" never mention the skill's actual capabilities (campaigns, mailing lists, subscribers, templates) that the body clearly supports. This matches anchor 2 ("Names the domain but actions are minimal or generic"); it is above anchor 1 because a concrete domain and trigger are present, but below anchor 3 because not even 1-2 concrete actions are named.

2 / 5

Completeness

Both components are explicitly present: the what ("AcyMailing integration. Manage data, records, and automate workflows") and a literal "Use when the user wants to interact with AcyMailing data" trigger clause, so the missing-'Use when' cap of 3 does not apply. It is below anchor 5 because the what is vague and the when is circular ("interact with AcyMailing data" restates the domain rather than naming concrete trigger phrases like campaigns or newsletters); anchor 4 ("both 'what' and 'when'; 'when' could be more explicit or specific") is the best fit.

4 / 5

Trigger Term Quality

"AcyMailing" is the one strong natural keyword a user would say, but the description misses the common phrasings for this domain — "newsletter", "email campaign", "subscribers", "mailing list", "Joomla" — that good_overall_examples include. It fits anchor 3 ("Some relevant keywords but missing common variations or synonyms"); not 2 because the primary keyword is highly specific rather than generic filler, not 4 because nearly every natural domain synonym is absent.

3 / 5

Distinctiveness Conflict Risk

The product name "AcyMailing" locks the trigger to a clear niche, so false triggering on generic requests is unlikely. It falls short of anchor 5 because "Manage data, records, and automate workflows" is boilerplate that appears across many app-integration skills, creating minor overlap risk with closely related connector skills; anchor 4 ("Mostly distinct; minor overlap risk with closely related skills") is the closest match, and anchor 3's broader overlap does not apply given the specific product binding.

4 / 5

Total

13

/

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