CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/tenant-onboarding-test-author

Workflow-driven skill that authors a test suite for tenant provisioning and offboarding: account creation, isolation at creation (no cross-tenant bleed from a new tenant's first API call), default resource quotas, billing record linkage, seed and default data correctness, idempotent re-provisioning, and teardown with full data deletion. Walks through mapping provisioning surfaces, generating test cases per surface, emitting the test suite skeleton (pytest / Jest / JUnit / Go test), and producing a coverage matrix. Use when a new tenant onboarding flow is introduced or changed, when the offboarding pipeline is modified, or when auditing provisioning coverage before a compliance review. Distinct from cross-tenant-data-leak-tests (leak-test planning + runtime CI gate): this skill covers the provisioning lifecycle, not steady-state access control.

75

Quality

94%

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

Overview
Quality
Evals
Security
Files

Quality

Content

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

A well-structured workflow skill: lean sections, concrete naming conventions, fixtures, a coverage matrix with gap justification, and an anti-patterns checklist, with the scenario catalog and code skeletons correctly pushed to real, substantive reference files. The main weaknesses are the pytest-only skeleton and minor duplication between the 'How to use' list, the Step sections, and the closing References list.

Suggestions

Add at least one non-pytest skeleton (e.g., Jest or Go) to references/test-skeleton-examples.md, or state explicitly that other stacks should translate the pytest skeleton's fixture-to-assertion mapping, so the framework table's non-Python rows have executable backing.

Remove the bottom References section's re-listing of the three bundle files already linked inline in Steps 1-4, or drop the 'How to use' step list in favor of the Step sections, to eliminate the duplicated navigation.

Consolidate the two 'cross-tenant-data-leak-tests' rows in the Differentiation table into a single row so the sibling skill is not listed twice.

DimensionReasoningScore

Conciseness

Mostly efficient with actionable tables (fixtures, framework selection, anti-patterns) and a compact worked example, but there is duplication that could be trimmed: the bottom 'References' section re-lists the three bundle files already linked inline in Steps 1-4, the 'How to use' list restates the Step sections, and the Differentiation table gives 'cross-tenant-data-leak-tests' two rows. Not 3 because no section explains concepts Claude already knows; the excess is minor redundancy, not padding.

4 / 5

Actionability

Concrete guidance throughout: the 'test_<surface>_<scenario>_<expected>()' convention with seven example test names, a fixtures table with purposes, a framework selection table, an explicit coverage matrix, and a worked example with a real assertion ('TenantQuota.objects.filter(tenant=new_tenant).count() == 1'). Not 5 because only pytest has a concrete skeleton (in references/test-skeleton-examples.md); Jest/JUnit/Go/RSpec stacks get a table row but no emitted example, leaving a minor gap for non-Python stacks.

4 / 5

Workflow Clarity

A clearly sequenced five-step workflow (map surfaces, enumerate scenarios, generate cases, emit skeleton, build matrix) with explicit validation: 'treat every empty cell as a gap to justify or schedule', 'Run the suite as a non-privileged app role (not a superuser)... then cross-check the Anti-patterns table', where the anti-patterns table supplies error-recovery fixes. The matrix and anti-patterns table function as checklists, matching the anchor-5 pattern.

5 / 5

Progressive Disclosure

The body is a well-sectioned overview (overview, differentiation, workflow steps, anti-patterns, worked example) that keeps detail in three clearly signaled, one-level-deep reference files, all of which exist and are substantive (verified against the bundle). Navigation is easy: each Step section states what its reference contains, and links are inline at the point of use.

5 / 5

Total

18

/

20

Passed

Description

100%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 description: concrete and comprehensive on capabilities, explicit third-person voice, natural trigger terms with a clear 'Use when...' clause, and explicit differentiation from the sibling runtime-isolation skill. Every clause carries information with no padding.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with comprehensive coverage: 'authors a test suite for tenant provisioning and offboarding', 'mapping provisioning surfaces, generating test cases per surface, emitting the test suite skeleton (pytest / Jest / JUnit / Go test), and producing a coverage matrix', plus an enumerated scenario scope (account creation, isolation at creation, quotas, billing linkage, seed data, idempotent re-provisioning, teardown). Not the level below (4) because coverage of the capability surface is comprehensive rather than having minor gaps.

5 / 5

Completeness

Explicitly answers both questions: 'what' via the enumerated actions and scenario scope, and 'when' via 'Use when a new tenant onboarding flow is introduced or changed, when the offboarding pipeline is modified, or when auditing provisioning coverage before a compliance review.' Concrete trigger phrases match the anchor-5 example structure.

5 / 5

Trigger Term Quality

Natural terms users would say when needing this skill are comprehensively covered with synonyms: 'tenant provisioning', 'onboarding', 'offboarding', 'new tenant onboarding flow', 'offboarding pipeline', 'provisioning coverage', 'compliance review'. Not 4 because no common natural phrasing for this niche is missing; the onboarding/provisioning/offboarding synonym family is fully present.

5 / 5

Distinctiveness Conflict Risk

Has a clear niche (provisioning lifecycle) and explicitly disambiguates from the closest sibling: 'Distinct from cross-tenant-data-leak-tests (leak-test planning + runtime CI gate): this skill covers the provisioning lifecycle, not steady-state access control.' Minimal conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents