CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cashfree

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

Quality

67%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./skills/cashfree/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 body is strongly operational — nearly every step is a runnable command with clear connection-state checkpoints and a sensible proxy fallback. Its weaknesses are padding (the marketing-style intro, the empty Overview and 'Popular actions' sections), dangling 'Step 2' references, and the absence of any concrete Cashfree action or endpoint example, plus no attempt to split generic Membrane boilerplate from Cashfree-specific guidance.

Suggestions

Cut the 'It is used by businesses of all sizes...' sentence and the empty 'Cashfree Overview' stub, and either populate 'Popular actions' with 2-3 real examples (e.g. create order, refund, payout) or delete the section — it currently just duplicates the 'Searching for actions' command.

Fix the sequencing: define an explicit 'Step 2' (or remove the 'skip to Step 2' references) and rename '1b' so it has a matching '1a', and add a brief note to inspect the action output/error field before treating a run as successful.

Give one Cashfree-specific proxy example (e.g. 'membrane request CONNECTION_ID /pg/orders --method POST --data ...') so the fallback path is executable rather than placeholder-only.

Move the generic Membrane CLI/connection/auth content into a shared reference file and keep SKILL.md focused on Cashfree-specific actions and endpoints.

DimensionReasoningScore

Conciseness

The bulk of the document is tight, command-focused operational content, but there is noticeable padding: the intro paragraph explains who uses Cashfree ('It is used by businesses of all sizes, from startups to large enterprises...'), the 'Cashfree Overview' section is an empty stub ('Orders / Payments / Refunds' bullets plus the meaningless line 'Use action names and parameters as needed.'), and the 'Popular actions' section merely repeats the discovery command already shown. It sits at 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than level 2, since the commands and tables themselves are lean.

3 / 5

Actionability

Nearly every section gives copy-paste-ready commands: 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://www.cashfree.com/" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --input ...', plus a complete proxy flag table. It falls short of level 5 because no actual Cashfree action is ever shown — the 'Popular actions' heading contains only a generic discovery command with no example (e.g. creating an order, issuing a refund), and the proxy section uses '/path/to/endpoint' without a single Cashfree-specific endpoint.

4 / 5

Workflow Clarity

The end-to-end sequence is clear (install CLI → login → connection ensure → poll state → discover actions → run → proxy fallback) with genuine checkpoints: the BUILDING-state polling loop, explicit branches for READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR, and re-polling after user action. It misses level 5 because the text twice says 'skip to **Step 2**' but no Step 2 is ever defined anywhere in the document (and the '1b' heading has no matching '1a'), and there is no guidance on validating action output before proceeding.

4 / 5

Progressive Disclosure

There are no bundle files at all; everything lives in this single ~140-line SKILL.md. Sections are headed, but roughly 70% of the body is generic Membrane connector machinery (CLI install, login, connection lifecycle, proxy flags) that is identical across app integrations and clearly belongs in a shared or referenced file, while the Cashfree-specific content is a thin overview stub. This matches 'some structure but could be better organized; content that should be separate is inline'.

3 / 5

Total

14

/

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 (what + explicit when-clause) and benefits from a distinctive brand name, but the capability description is interchangeable boilerplate that never conveys what Cashfree actually does (payments, payouts, refunds). Replacing the generic filler with concrete payment operations and their natural trigger terms would lift it substantially.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete Cashfree capabilities, e.g. 'Create payment orders, process refunds, make payouts, and check payment status via the Cashfree API'.

Broaden the when-clause beyond 'interact with Cashfree data' to cover natural triggers: 'Use when the user mentions Cashfree, collecting payments in India, payment gateway setup, payouts, or refund processing'.

Add the domain synonyms (payments, payment gateway, payouts, refunds, India) so the skill triggers on users who describe the task without naming Cashfree.

DimensionReasoningScore

Specificity

The description names the domain ('Cashfree integration') but the actions are pure generic filler — 'Manage data, records, and automate workflows' could describe almost any integration skill. It never mentions concrete Cashfree operations like collecting payments, making payouts, creating orders, or issuing refunds, so it matches 'Names the domain but actions are minimal or generic' rather than the level-3 anchor requiring 1-2 concrete actions.

2 / 5

Completeness

Both parts are present: a what ('Cashfree integration. Manage data, records, and automate workflows') and an explicit when ('Use when the user wants to interact with Cashfree data'). It falls short of level 5 because the what is vague boilerplate and the when is narrow and circular ('interact with Cashfree data' omits payments/payouts use cases), and it sits above level 3 because the 'Use when' clause is explicit rather than implied.

4 / 5

Trigger Term Quality

'Cashfree' is the one strong, natural keyword (repeated twice), but no payment-domain synonyms or variations appear — no 'payments', 'payouts', 'refunds', 'payment gateway', or 'India'. This is 'some relevant keywords but missing common variations or synonyms', not level 4 which requires good coverage of natural terms.

3 / 5

Distinctiveness Conflict Risk

The distinctive brand name 'Cashfree' creates a clear niche with minimal conflict risk for users who name the platform. Minor overlap risk remains from the generic phrases 'Manage data, records, and automate workflows' and 'automate workflows', which could collide with generic data-management or automation skills, keeping it below level 5.

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