Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management. Use when implementing subscription billing, automating invoicing, or managing recurring payment systems.
74
63%
Does it follow best practices?
Impact
92%
1.64xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/payment-processing/skills/billing-automation/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a well-crafted skill description that clearly communicates specific capabilities (billing, invoicing, subscription lifecycle, dunning), includes natural trigger terms users would employ, and explicitly states both what the skill does and when to use it. The domain is sufficiently specific to avoid conflicts with other skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'automated billing systems', 'recurring payments', 'invoicing', 'subscription lifecycle', and 'dunning management'. These are distinct, concrete capabilities. | 3 / 3 |
Completeness | Clearly answers both 'what' (build automated billing systems for recurring payments, invoicing, subscription lifecycle, dunning management) and 'when' (explicit 'Use when implementing subscription billing, automating invoicing, or managing recurring payment systems'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'subscription billing', 'invoicing', 'recurring payments', 'dunning management', 'billing systems'. These cover the main terms a user would naturally use when needing this skill. | 3 / 3 |
Distinctiveness Conflict Risk | The description carves out a clear niche around billing/subscription/dunning/invoicing. Terms like 'dunning management' and 'subscription lifecycle' are highly specific and unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
27%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is excessively verbose, presenting hundreds of lines of semi-executable code that explains concepts Claude already understands (subscription lifecycle, proration math, tax types). The code examples, while structured, are not truly runnable due to undefined dependencies and incomplete implementations. The content would benefit enormously from being condensed to essential patterns and split across multiple files.
Suggestions
Reduce the SKILL.md to a concise overview (~50-80 lines) covering the key workflow and decision points, moving detailed class implementations into separate reference files (e.g., DUNNING.md, PRORATION.md, TAX.md).
Remove explanations of basic concepts (what dunning is, what proration means, subscription state diagrams) and focus on implementation-specific guidance Claude wouldn't already know.
Make code examples either fully executable with real imports and dependencies specified, or explicitly frame them as implementation patterns/templates rather than presenting incomplete code as if it's runnable.
Add validation checkpoints for financial operations — e.g., idempotency checks before charging, reconciliation steps after billing runs, and explicit error handling guidance for payment processor failures.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. Explains basic concepts Claude already knows (subscription states, what proration is, what dunning means). The tax rates table, HTML template, and extensive class definitions could be dramatically condensed. Much of this reads like a tutorial rather than actionable skill instructions. | 1 / 3 |
Actionability | Provides substantial code examples with class structures, but the code is not truly executable — it relies on undefined imports (from billing import BillingEngine), undefined helper functions (generate_id, generate_invoice_number, send_email), and incomplete implementations (to_pdf with just 'pass'). It's structured pseudocode dressed as real code. | 2 / 3 |
Workflow Clarity | The billing cycle processing method shows a clear sequence (check due date → generate invoice → attempt payment → handle success/failure), and the dunning flow has retry logic. However, there are no explicit validation checkpoints, no error recovery guidance for the implementer, and no verification steps for critical financial operations like ensuring idempotency or handling race conditions. | 2 / 3 |
Progressive Disclosure | Monolithic wall of code with no references to external files and no layered structure. Everything from basic concepts to tax calculation to invoice HTML templates is dumped into a single file. There's no separation between quick-start overview and detailed reference material, and no bundle files to support progressive disclosure. | 1 / 3 |
Total | 6 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (538 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
34632bc
Table of Contents
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.