CtrlK
BlogDocsLog inGet started
Tessl Logo

paypro

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

60

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

Quality

Content

82%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 skill body is highly actionable with copy-paste commands, a clear connection state-machine workflow, and clean sectioning, though it slightly over-explains auth handling and inlines reference-grade detail that could live in separate files.

Suggestions

Tighten the repeated explanations of Membrane's auth handling into one concise statement to trim token usage.

Add an explicit post-action verification step (check the `output`/`error` fields and retry on failure) for action runs and proxy requests.

Move the detailed clientAction schema and proxy flag table into a REFERENCES file and link to it, keeping the body a lean overview.

DimensionReasoningScore

Conciseness

The body is mostly lean command-and-output oriented prose that assumes Claude's competence with CLI and HTTP concepts, with only minor over-explanation such as restating that Membrane handles auth in multiple places; it fits 'Efficient; minor instances of over-explanation that could be trimmed' rather than the perfectly lean score-5.

4 / 5

Actionability

It provides copy-paste-ready commands with flags (e.g. `membrane connection ensure "https://www.paypro.nl/" --json`, `membrane action run <actionId> --connectionId=CONNECTION_ID --input '{...}' --json`) and a flag table covering the common cases, matching 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The connect-to-PayPro flow is clearly sequenced with a state machine (READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR) and a polling loop, but it lacks an explicit validate-then-retry feedback loop for batch/destructive action runs, fitting 'Clear sequence with most checkpoints present; minor validation gaps'. It is not capped at 3 because no destructive operation is performed without the user completing auth, but it is not a 5 because post-action verification is absent.

4 / 5

Progressive Disclosure

Content is well-organized into labeled sections (Install, Authentication, Connecting, Searching, Popular actions, Best practices) with no bundle files to offload detail into, fitting 'Good structure; most content is appropriately placed; references mostly clear; minor organization gaps'. It is not a 5 because there are no external references at all and some reference-grade material (the clientAction schema, proxy flag table) is fully inlined.

4 / 5

Total

17

/

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 benefits from an explicit 'Use when...' trigger and a clearly named niche (PayPro), but the capability verbs are generic and the trigger lacks concrete natural-language variations like payroll, invoices, or payments.

Suggestions

Replace generic verbs with concrete PayPro capabilities, e.g. "run payroll, manage invoices and payments, sync contacts and products".

Expand the trigger clause to mention natural terms users would say: "Use when the user wants to run payroll, manage PayPro invoices/payments, or query PayPro records."

Specify the data model touched (Account, Invoice, Payment, Contact, Product) so the description signals breadth without padding.

DimensionReasoningScore

Specificity

The description names the PayPro domain but lists only generic actions like "Manage data, records, and automate workflows" with no concrete operations (e.g., creating invoices, running payroll, syncing contacts), matching the score-2 anchor 'Names the domain but actions are minimal or generic'.

2 / 5

Completeness

It gives a brief 'what' (manage data/records, automate workflows) and an explicit 'when' clause ("Use when the user wants to interact with PayPro data"), matching the score-4 anchor where both are present but the 'when' could be more specific. It is not a 5 because the trigger is generic rather than listing concrete use cases.

4 / 5

Trigger Term Quality

It surfaces "PayPro" and "interact with PayPro data" which a user might say, but it misses common natural variations like payroll, invoices, payments, or records; this fits 'Some relevant keywords but missing common variations or synonyms' rather than the fuller score-4 coverage.

3 / 5

Distinctiveness Conflict Risk

Naming the specific app "PayPro" anchors it to a distinct niche with minimal conflict risk against unrelated skills, fitting 'Mostly distinct; minor overlap risk with closely related skills'; it is not a 5 because the generic verbs could still overlap with other PayPro-adjacent data tools.

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.

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