CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

braintree

Braintree integration. Manage data, records, and automate workflows. Use when the user wants to interact with Braintree 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

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./skills/braintree/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.

The body delivers highly actionable CLI guidance with well-documented auth, connection lifecycle, and proxy fallback, and the connection workflow includes a real polling/feedback loop. Weaknesses are an unnecessary Braintree explainer, a broken step-numbering scheme ("Step 2" / "1b" with no Steps 1–2 defined), and no validation guidance for destructive actions like delete-customer and void-transaction. Splitting the action catalog and flag reference into a references/ file would also tighten the main file.

Suggestions

Delete the "Braintree is a payments platform..." intro paragraph — Claude already knows Braintree; keep only the official-docs link.

Fix the broken workflow numbering: label the actual steps (Step 1 install/auth, Step 2 connect, Step 3 search/run actions) so "skip to Step 2" and the orphaned "1b" heading resolve.

Add validation guidance for destructive actions (delete-customer, delete-payment-method, void-transaction, refund-transaction): e.g. retrieve the record with get-transaction/get-customer and confirm with the user before running the delete/void.

Move the 18-row popular-actions table and the proxy flag table into a references/ file (e.g. references/actions.md), keeping only a few representative examples in SKILL.md.

DimensionReasoningScore

Conciseness

The intro paragraph "Braintree is a payments platform that allows businesses to accept, process, and split payments. It's used by online and mobile businesses of all sizes" explains a concept Claude already knows, and padded asides ("so you can focus on the integration logic rather than auth plumbing", "etc. Those will be used to adjust tooling to be used best with your harness") add tokens without guidance. It is not 4 because the trims needed go beyond minor, and not 2 because the bulk of the body is tight command/flag documentation.

3 / 5

Actionability

Commands throughout are concrete and executable ("npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://www.braintreepayments.com/\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json"), with a useful popular-actions table and proxy flag reference. It is not 5 because the action-run example uses a generic '{"key": "value"}' placeholder rather than a worked Braintree example (e.g. charging a vaulted payment method with a real input), and not 3 because everything shown runs as-is.

4 / 5

Workflow Clarity

The setup sequence is clear (install → login with headless handling → connection ensure → poll states with explicit CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR handling → search actions → run), but workflows involve destructive operations (Delete Customer, Delete Payment Method, Void Transaction, Refund Transaction) with no validation or confirmation steps, capping this at 3. It stays at 3 rather than 2 because the sequence and connection-state feedback loop are well defined.

3 / 5

Progressive Disclosure

A 158-line monolithic body inlines an 18-row action catalog and a proxy options table that belong in separate reference files, and internal navigation is broken: "skip to **Step 2**" points at a section that is never labeled, under a lone "#### 1b. Wait for the connection to be ready" heading. It is not 4 because of the inline bulk and broken step references, and not 2 because sections are clearly headed with no buried or nested references.

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 names the domain and includes an explicit 'Use when' clause, but the capability statement is generic boilerplate that could describe any data connector. Trigger coverage rests entirely on the single keyword "Braintree" with no payment-domain synonyms. Concrete Braintree operations and trigger phrases would lift specificity, completeness, and trigger quality together.

Suggestions

Replace "Manage data, records, and automate workflows" with concrete Braintree actions, e.g. "Create and update customers, vault and charge payment methods, refund/void/capture transactions, and manage subscriptions and disputes."

Expand trigger terms to natural user phrases: payments, payment processing, transactions, refunds, chargebacks/disputes, vaulted payment methods.

Make the 'when' clause specific: "Use when the user wants to manage Braintree customers, payments, transactions, refunds, or disputes."

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the Braintree domain but the actions are entirely generic filler — no concrete operations (create customers, refund transactions, manage disputes) appear. It is not 3 because no 1-2 concrete actions are listed, and not 1 because the domain is explicitly named.

2 / 5

Completeness

It structurally matches anchor 4: both a what ("Braintree integration. Manage data, records, and automate workflows") and an explicit when clause ("Use when the user wants to interact with Braintree data") are present, with the when generic and improvable. It is not 5 because there are no concrete trigger phrases, and not 3 because the explicit 'Use when...' clause means the completeness cap does not apply.

4 / 5

Trigger Term Quality

"Braintree" is the one specific, natural keyword ("Use when the user wants to interact with Braintree data"), but common variations users actually say are missing: payments, transactions, refunds, disputes, chargebacks, vault. It is not 4 because coverage is one keyword deep, and not 2 because "Braintree" is a specific term rather than generic language.

3 / 5

Distinctiveness Conflict Risk

"Braintree" carves out a clear niche with minimal conflict risk, but the boilerplate "Manage data, records, and automate workflows" is shared with any sibling app-connector skill, leaving the app name as the only distinguishing term. It is not 5 for that overlap risk with closely related connector skills, and not 3 because the niche is nonetheless clear.

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