CtrlK
BlogDocsLog inGet started
Tessl Logo

ee-billing

Surface workflow for billing in Grida — Stripe (subscriptions) + Metronome (AI credit ledger). The stable contracts: `grida_billing.*` is not REST-exposed (views/RPCs only), `fn_billing_apply_*` are the single mutation points, webhook receivers are `GRIDA-SEC-001`, BYOK is the `GRIDA-SEC-003` carve-out. Use when touching `editor/lib/billing/`, `editor/scripts/billing/`, the `grida_billing` schema, the webhook receivers, or the entitlement gate. Companion to `ee`.

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

SKILL.md
Quality
Evals
Security

Quality

Content

93%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.

An exemplary contract-style skill body: it locks down mutation points, credentials, and the OSS entitlement seam with exact names and commands, and delegates setup detail to external docs instead of restating it. The only gap is the absence of error-recovery guidance around its single validation gate (the E2E suite).

Suggestions

Add one line of recovery guidance to step 5 of 'Working on billing': what to check or fix when the E2E suite refuses to start (e.g., where the test-mode assertion fails and which env vars/channel config to correct) so the validation gate has an explicit feedback loop.

Make the entitlement seam concrete with a short example of gating through `getEntitlement` (a typed wrapper call site), so the 'New gates go through this function' rule is actionable rather than only named.

DimensionReasoningScore

Conciseness

Lean throughout — it explicitly delegates known material ("Setup itself is documented; cite it, don't restate it") and states only repo-specific contracts and rules without explaining what Stripe, Metronome, or webhooks are; every token earns its place, matching anchor 5.

5 / 5

Actionability

Fully executable guidance: copy-paste commands (`pnpm tsx editor/scripts/billing/cli.ts setup:stripe`, `pnpm --filter editor vitest run lib/billing/__tests__/e2e`), exact function and module names (`fn_billing_apply_stripe_event`, `getEntitlement` from `editor/lib/billing/metronome.ts`), and concrete rules covering the common cases, matching anchor 5.

5 / 5

Workflow Clarity

The six-step "Working on billing" sequence is clearly ordered and includes an explicit validation gate (the E2E suite that "refuses to start unless every channel is demonstrably test-mode"), but there is no guidance on what to do when that gate or the suite fails — the error-recovery feedback loop of anchor 5 is only implied, so anchor 4 fits.

4 / 5

Progressive Disclosure

A single-file skill with well-organized sections and clearly signaled, one-level-deep references (grida.co docs for setup/design/known-issues, `editor/scripts/billing/README.md`, and the `ee`/`security`/`database` sibling skills); nothing is nested deeper or buried, matching anchor 5.

5 / 5

Total

19

/

20

Passed

Description

83%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.

A strong, dense description that states both what the skill governs and exactly when to use it, with concrete file-path triggers and named contracts. Its main limitation is that specificity comes from describing system invariants rather than the skill's own capabilities, and a few natural billing synonyms are absent.

DimensionReasoningScore

Specificity

Names the domain and several concrete elements — "`grida_billing.*` is not REST-exposed (views/RPCs only)", "`fn_billing_apply_*` are the single mutation points", "webhook receivers are `GRIDA-SEC-001`, BYOK is the `GRIDA-SEC-003` carve-out" — but these describe system contracts rather than multiple concrete actions the skill itself performs, so it falls just under the comprehensive anchor 5.

4 / 5

Completeness

Explicitly answers both: what ("Surface workflow for billing in Grida — Stripe (subscriptions) + Metronome (AI credit ledger)" plus the locked contracts) and when ("Use when touching `editor/lib/billing/`, `editor/scripts/billing/`, the `grida_billing` schema, the webhook receivers, or the entitlement gate") with concrete trigger phrases, matching the anchor-5 example.

5 / 5

Trigger Term Quality

Good natural keyword coverage for the audience — "billing", "Stripe", "subscriptions", "Metronome", "webhook receivers", "entitlement gate", plus concrete path triggers like `editor/lib/billing/` — but a few natural variations users might say ("payments", "pricing", "credits", "invoice") are missing, keeping it below anchor 5.

4 / 5

Distinctiveness Conflict Risk

Highly distinct via repo-specific paths, schema names, and security IDs, so far above anchor 3; but it self-describes as "Companion to `ee`" and its subject matter (webhooks, schema, security IDs) overlaps the `security` and `database` sibling skills, leaving minor overlap with closely related skills per anchor 4.

4 / 5

Total

17

/

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

relative_links

Relative link issues: 8 suspicious

Warning

Total

15

/

16

Passed

Repository
gridaco/grida
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.