CtrlK
BlogDocsLog inGet started
Tessl Logo

paypal-integration

Integrate PayPal payment processing with support for express checkout, subscriptions, and refund management. Use when implementing PayPal payments, processing online transactions, or building e-commerce checkout flows.

77

1.06x
Quality

66%

Does it follow best practices?

Impact

100%

1.06x

Average score across 3 eval scenarios

SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./tests/ext_conformance/artifacts/agents-wshobson/payment-processing/skills/paypal-integration/SKILL.md

The canonical home for this skill is paypal-integration in wshobson/agents

SKILL.md
Quality
Evals
Security

Quality

Content

46%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 genuinely useful, mostly executable code for checkout, IPN, subscriptions, and refunds, but it is bloated with conceptual filler and duplicated examples, and its progressive disclosure is broken: all seven advertised bundle files are missing while their content is inlined. Workflow guidance is implied by section order rather than explicitly sequenced with validation checkpoints.

Suggestions

Create the advertised bundle files (references/express-checkout.md, references/ipn-handling.md, references/refund-workflows.md, references/billing-agreements.md, assets/paypal-client.py, assets/ipn-processor.py, assets/recurring-billing.py) and move the corresponding inlined sections into them, or remove the Resources section entirely so no references are dead.

Cut the "Core Concepts" section and the "When to Use This Skill" list (the frontmatter description already covers triggers), and drop the deprecated paypalrestsdk Quick Start example in favor of the single v2 REST flow.

Add explicit ordered workflows with validation checkpoints, e.g. a subscriptions checklist (create product → create plan → create subscription → redirect to approval URL → verify subscription status on return) and a refund step verifying the refund status via get_refund_details before notifying the customer.

DimensionReasoningScore

Conciseness

The ~480-line body contains several padded sections: "Core Concepts" spends ~40 lines on bullet-list facts Claude already knows, "When to Use This Skill" duplicates the frontmatter description, and the Quick Start shows two overlapping capture implementations (the deprecated paypalrestsdk path and the raw v2 REST path). It is not a 1 because the code blocks themselves are substantive and useful.

2 / 5

Actionability

Concrete, mostly executable code throughout (PayPalClient with OAuth and order lifecycle, IPN verification and dispatch, subscription plan creation, refunds, error wrapper, sandbox test). Minor gaps keep it from a 5: undefined CLIENT_ID/CLIENT_SECRET constants, a PRODUCT_ID placeholder, and stub comments like "# Update database".

4 / 5

Workflow Clarity

Topics are presented in a sensible order, but the end-to-end flows lack explicit sequencing and checkpoints: subscriptions bury "Create product first" as a code comment, the create→approve→capture→IPN chain is implied rather than stated, and the refund workflow has no verify-status checkpoint. This matches the anchor for steps present but validation gaps.

3 / 5

Progressive Disclosure

The Resources section lists seven bundle files (references/express-checkout.md, references/ipn-handling.md, assets/paypal-client.py, etc.), but none of the references/ or assets/ directories exist, so every reference is dead. Meanwhile ~400 lines of content that belong in those files are inlined in SKILL.md, matching the anchor for content that clearly belongs in separate files being inlined.

2 / 5

Total

11

/

20

Passed

Description

87%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 is a strong example: it names the domain, lists three concrete capabilities, and provides an explicit "Use when" clause with natural trigger phrases. The only weaknesses are minor keyword omissions (refunds, recurring billing) and unmentioned capabilities (payouts, webhooks) that the body covers.

DimensionReasoningScore

Specificity

"express checkout, subscriptions, and refund management" lists several concrete capabilities, matching the anchor for several specific actions with minor gaps; it is not a 5 because payouts and webhook/IPN handling (covered in the body) are omitted from the description.

4 / 5

Completeness

It explicitly answers both what ("Integrate PayPal payment processing with support for express checkout, subscriptions, and refund management") and when ("Use when implementing PayPal payments, processing online transactions, or building e-commerce checkout flows") with concrete trigger phrases, exactly matching the top anchor.

5 / 5

Trigger Term Quality

Triggers like "implementing PayPal payments", "processing online transactions", and "building e-commerce checkout flows" give good natural keyword coverage, but common variations such as refunds, recurring billing, or subscriptions as trigger phrases are missing, placing it just below comprehensive.

4 / 5

Distinctiveness Conflict Risk

"PayPal" names a clear niche with distinct triggers; the only overlap risk is with generic payment-processor skills, which is minimal and consistent with the top anchor.

5 / 5

Total

18

/

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

referenced_paths_exist

Referenced path issues: 7 missing

Warning

Total

15

/

16

Passed

Repository
Dicklesworthstone/pi_agent_rust
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.