CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

billing-automation

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.

Quality

64%

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_all/billing-automation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

38%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 demonstrates broad domain knowledge with detailed illustrative code, but it fails on structure and efficiency: it is a 550-line monolith whose referenced bundle files don't exist, its code is non-executable pseudocode despite looking runnable, and it explains billing concepts Claude already knows. It needs to be split into the advertised reference files with a lean overview left in SKILL.md.

Suggestions

Create the advertised bundle files (references/billing-cycles.md, dunning-management.md, proration.md, tax-calculation.md, invoice-lifecycle.md, assets/billing-state-machine.yaml, invoice-template.html, dunning-policy.yaml) and move the inline class implementations into them, leaving SKILL.md as a lean overview — currently every listed reference is a dangling path.

Cut the 'Core Concepts' section and other background explanation (subscription states, common billing intervals, what proration is) — Claude already knows these; keep only non-obvious decisions like the chosen retry schedule and the no-refund seat-removal policy.

Make the code actionable or explicitly label it as illustrative: either provide runnable examples against a real library (e.g., stripe) with defined imports and helpers, or trim to the essential algorithmic snippets (proration formula, tiered pricing, dunning state transitions) and remove the undefined-boilerplate scaffolding.

DimensionReasoningScore

Conciseness

The ~550-line body inlines seven full Python classes plus a 'Core Concepts' section explaining things Claude already knows ("Monthly (most common for SaaS)", a subscription state diagram, what proration is), and it duplicates material (dunning retry logic, invoice construction appears in two places). This matches anchor 2 ('noticeably verbose; several unnecessary explanations or padded sections'); it avoids 1 only because the domain-specific implementation details (retry schedules, proration formulas, tiered pricing) carry some non-obvious value.

2 / 5

Actionability

The code is concrete and logically complete for the domain (proration math, tiered pricing, dunning schedules) but not executable: the Quick Start imports a fictional `billing` module, `stripe` is used without import, helpers like `generate_id`, `get_subscription`, `UsageRecord`, `send_email`, and `calculate_volume_pricing` are undefined, and `validate_vat_number`/`to_pdf` are `pass` stubs. This sits squarely on anchor 3 ('some concrete guidance but incomplete... missing key details') — above 2 because real, specific logic is present, below 4 because nothing runs as written.

3 / 5

Workflow Clarity

A sequence exists in `process_billing_cycle` (check due → generate invoice → charge → mark paid or start dunning) and the dunning retry flow is ordered, but there are no validation checkpoints, no verify/retry loops for the charge-and-cancel operations, and no guidance for sequencing an actual implementation. Billing is a batch, financially destructive domain, so per the rubric's cap, missing validation holds this at anchor 3 ('sequence present but checkpoints missing or implicit').

3 / 5

Progressive Disclosure

The Resources section lists 8 bundle files (`references/billing-cycles.md` through `assets/dunning-policy.yaml`), but none of these files exist in the bundle — every referenced path is dangling — while the ~450 lines of implementation code those files should hold are inlined in SKILL.md itself. This matches anchor 2 ('content that clearly belongs in separate files is inlined'); it does not reach 3 because the references, though clearly signaled, are broken, and the body is effectively the monolithic pattern the rubric penalizes.

2 / 5

Total

10

/

20

Passed

Description

75%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 solid: third-person voice, a concrete 'what' naming four capability areas, and an explicit 'Use when...' clause. Its main weakness is that the 'when' clause mirrors the 'what' rather than adding distinct trigger vocabulary, and it omits several domain capabilities (proration, tax, usage-based billing) that the skill actually covers.

DimensionReasoningScore

Specificity

"Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management" lists four concrete capability areas ("recurring payments", "invoicing", "subscription lifecycle", "dunning management"), matching the 'several specific actions; minor gaps' anchor. It falls short of 5 because the anchor-5 level would cover the domain comprehensively — proration, tax calculation, and usage-based billing (all core parts of the skill body) are omitted.

4 / 5

Completeness

Both parts are present: a clear 'what' ("Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management") and an explicit 'when' ("Use when implementing subscription billing, automating invoicing, or managing recurring payment systems"). It stays at 4 rather than 5 because the 'when' clause largely restates the 'what' instead of adding concrete, differentiated trigger phrases (e.g., 'when the user mentions failed payments, plan upgrades, or invoice generation').

4 / 5

Trigger Term Quality

The trigger clause includes natural phrases users would say: "implementing subscription billing", "automating invoicing", "managing recurring payment systems" — good keyword coverage matching anchor 4. Not 5 because common variations are missing ("proration", "failed payments", "past due", "billing cycles", "tax/VAT"), and "dunning" appears only as jargon without a plain-language synonym.

4 / 5

Distinctiveness Conflict Risk

"Billing automation" with triggers like "subscription billing" and "dunning management" occupies a clear niche with distinct triggers, matching anchor 4. Not 5 because there is minor overlap risk with closely related skills a user might invoke instead, such as generic payment-processing or Stripe-integration skills.

4 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (560 lines); consider splitting into references/ and linking

Warning

referenced_paths_exist

Referenced path issues: 8 missing

Warning

Total

14

/

16

Passed

Repository

Microck/ordinary-claude-skills

Path

skills_all/billing-automation/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.