CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

asknicely

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

Quality

63%

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/asknicely/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 strongly actionable CLI reference with real copy-paste commands and a well-handled connection state machine, but it is padded in places and ships destructive GDPR delete actions with no validation guardrails. Organization is good, though the dangling "Step 2" reference and inconsistent membrane/npx invocations leave minor workflow gaps.

Suggestions

Add an explicit validation step before destructive actions: for "bulk-delete-contacts-gdpr" and "delete-contact-gdpr", confirm the target contacts with the user and verify the selection (e.g. via get-contact) before running, and re-check the result afterward.

Cut the AskNicely marketing intro and the content-free "AskNicely Overview" section; Claude does not need to be told the product's positioning, only the commands.

Fix the "skip to Step 2" dangling reference by naming the target section, and make command invocations consistent (choose either "membrane" or "npx @membranehq/cli" for the polling example).

DimensionReasoningScore

Conciseness

Mostly command-and-table content, but the intro ("AskNicely is a customer experience platform that helps businesses measure and improve customer satisfaction..."), the near-empty "AskNicely Overview" list ("Use action names and parameters as needed"), and wordy best-practices prose ("This will burn less tokens and make communication more secure") could all be trimmed. Not 4 because several sections add tokens without adding guidance Claude doesn't have.

3 / 5

Actionability

Concrete, copy-paste-ready commands throughout ("membrane connection ensure", "membrane action run <actionId> --connectionId=... --input '{...}'"), plus a flags table and a popular-actions table with keys and descriptions. Not 5 because "membrane login --tenant --clientName=<agentType>" is not executable as written and the polling example inconsistently uses "npx @membranehq/cli" where other steps use "membrane".

4 / 5

Workflow Clarity

The install → login → connect → poll → search → run sequence is clear and the connection-state polling loop (BUILDING/CLIENT_ACTION_REQUIRED/READY with "poll again with membrane connection get") is a genuine feedback loop. Capped at 3 per the destructive/batch rule: the skill surfaces "Bulk Delete Contacts (GDPR)" and "Delete Contact (GDPR)" — permanently destructive batch operations — with no validation, confirmation, or verification guidance, and the "skip to Step 2" reference points at a step that is never labeled.

3 / 5

Progressive Disclosure

No bundle files exist and the ~150-line body is organized into clear sections (Install, Authentication, Connecting, Searching, Popular actions, Running, Proxy, Best practices) with appropriately inline tables. Not 5 because the document exceeds the under-50-lines simple-skill case and the popular-actions and proxy-flag tables could live in a reference file to keep the overview leaner.

4 / 5

Total

14

/

20

Passed

Description

48%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 identifies the AskNicely niche clearly and includes an explicit 'Use when' clause, but the capability language is generic and the trigger coverage depends solely on the brand name. What it does ("manage data, records") and when to use it ("interact with AskNicely data") largely restate each other without concrete actions or domain keywords.

Suggestions

Replace generic verbs with concrete AskNicely actions, e.g. "Send surveys, retrieve NPS scores and survey responses, add and remove contacts, and manage GDPR contact deletions."

Expand the 'Use when' clause with natural trigger phrases users would actually say: "Use when the user mentions AskNicely, NPS scores, survey responses, or customer feedback contacts."

Avoid circular phrasing where the 'what' and 'when' both reduce to 'AskNicely integration'; make each answer a distinct, specific question about capability and timing.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the domain (AskNicely integration) but the actions are generic — "automate workflows" is a buzzword and no concrete verbs like "send surveys" or "get NPS scores" appear. Not 3 because there are no 1-2 concrete, specific actions listed.

2 / 5

Completeness

Both a what ("Manage data, records, and automate workflows") and a when ("Use when the user wants to interact with AskNicely data") are present, but the what is vague and the when is circular with the first sentence. It sits below the 3/4 midpoint because neither half is concrete, so 3 rather than 4.

3 / 5

Trigger Term Quality

"AskNicely" is the dominant natural term users would say, but the description omits common variations like "survey", "NPS", "feedback", "responses", or "contacts". Not 4 because keyword coverage relies on a single brand name plus generic words ("data", "records", "workflows").

3 / 5

Distinctiveness Conflict Risk

The "AskNicely" brand name carves a clear niche with distinct triggers, but "Manage data, records, and automate workflows" is generic and could overlap with other survey/feedback integration skills. Not 5 because distinctiveness rests entirely on the brand mention.

4 / 5

Total

12

/

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