Content
78%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-structured routing-and-rules skill: lean directive body, a task-to-reference navigation table pointing at real one-level-deep files, and concrete commands and parameters. The main deductions are for inline time-sensitive version pins (API version date, SDK version table) that will go stale, and a couple of spots where the most common tasks have no inline example before delegation to references.
Suggestions
Move the 'Latest Stripe API version' line and the 7-row SDK version table into a small dedicated versions reference file (or a clearly marked 'Current versions' section) so stale time-sensitive data does not sit inline in the overview body.
Trim the explanatory rationale in the payment_method_types rule ('which enables you to configure payment method settings from the Dashboard and dynamically display the most relevant eligible payment methods to each customer to maximize conversion') down to a single clause such as 'to enable Dashboard-configured dynamic payment methods'.
Add one minimal copy-paste example for the most common task (e.g., a checkout.sessions.create call showing integration_identifier and the omitted payment_method_types) inline before delegating detail to references/payments.md.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense and directive with no padding about what Stripe is or how payments work — e.g. 'API key default: Always Recommend a restricted API key (RAK) (`rk_` prefix) over a secret key'. It falls short of the level-5 'every token earns its place' bar because of inline time-sensitive version data ('Latest Stripe API version: **2026-09-30.endive**' and the 7-row SDK version table), which the rubric flags unless placed in a deprecated/versions section, and the marketing-flavored rationale 'which enables you to configure payment method settings from the Dashboard and dynamically display the most relevant eligible payment methods to each customer to maximize conversion'. It is clearly above level 3, which expects unnecessary explanations. | 4 / 5 |
Actionability | Concrete, executable guidance is present: copy-paste commands ('npm i -g @stripe/cli', 'stripe sandbox create', 'stripe whoami --format json'), exact parameters ('payment_method_types: [\'card_present\']', 'automatic_tax: { enabled: true }', 'integration_identifier'), and exact deprecated patterns to avoid ('stripe.api_key = …', 'Stripe.setApiKey'). It sits at level 4 rather than 5 because the most common integration tasks (e.g., creating a Checkout Session or subscription) have no inline example — they are fully delegated to reference files — whereas the level-5 anchor expects inline examples covering the common cases. It is well above level 3, since what is inline is executable, not pseudocode. | 4 / 5 |
Workflow Clarity | The sequence is clear: route the task via the integration table, 'Read the relevant reference file before answering any integration question or writing code', apply the Critical rules, and fall back to the Key documentation links when no single domain fits. There is an explicit pre-flight checkpoint ('Before enabling automatic_tax ... read the tax reference and confirm the user has an active registration'). No destructive or batch operations exist, so no validation cap applies; it is below level 5 only because there are no feedback/error-recovery loops (e.g., what to do when a required feature isn't supported in a sandbox). | 4 / 5 |
Progressive Disclosure | The body is a concise overview with a routing table that maps each task to a real one-level-deep reference file (<references/payments.md>, connect.md, billing.md, tax.md, treasury.md, security.md — all six exist in references/), and none of the reference files nest further references (verified by grep). This matches the level-5 anchor: clear overview, well-signaled references, appropriate split, easy navigation. | 5 / 5 |
Total | 17 / 20 Passed |