CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

saas-multi-tenant

Design and implement multi-tenant SaaS architectures with row-level security, tenant-scoped queries, shared-schema isolation, and safe cross-tenant admin patterns in PostgreSQL and TypeScript.

Quality

82%

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

The canonical home for this skill is saas-multi-tenant in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

82%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 strong, highly actionable single-file skill: executable SQL/Express/Prisma examples, a clearly sequenced 8-step workflow with validation checkpoints, and dense tenant-specific pitfalls and edge cases. The only real weaknesses are mild verbosity in a few rationale lines and a structure that inlines enough material that reference files would improve it.

DimensionReasoningScore

Conciseness

The body is dense and practical with no padding explaining generic concepts; nearly every sentence carries tenant-specific guidance. A few lines could be trimmed (e.g. 'PostgreSQL uses leftmost prefix matching for composite indexes' and 'a missing tenant_id is a data leak waiting to happen'), matching the 'efficient; minor instances of over-explanation' anchor rather than the fully lean 5.

4 / 5

Actionability

Three complete, executable examples (PostgreSQL RLS policy SQL, Express tenant middleware with set_config and cleanup, Prisma tenant-scoping middleware) plus concrete workflow steps with specific commands, patterns, and named pitfalls. The code is copy-paste ready and covers the common cases.

5 / 5

Workflow Clarity

The 8-step Core Workflow is clearly sequenced (model → tenant_id columns → RLS → middleware → ORM scoping → migrations → admin routes → provisioning) with real checkpoints (CI migration lint, RLS as a safety net, 3-tenant seed testing). It is not a 5 because validation guidance is distributed across sections rather than explicit validate-and-verify steps inside the workflow sequence itself.

4 / 5

Progressive Disclosure

A single-file skill with no bundle files and well-labeled sections (When to Use, Core Workflow, Examples, Never Do This, Edge Cases, Best Practices) — good structure with content appropriately placed. It is not a 5 because at ~185 lines, the Examples and Edge Cases sections are substantial enough that splitting them into one-level-deep reference files would better respect the overview role of SKILL.md.

4 / 5

Total

17

/

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.

A specific, distinctive description with a clear third-person statement of capabilities, weakened only by the missing 'Use when...' trigger clause and a few absent natural synonyms like 'tenant isolation' and 'RLS'. Adding explicit trigger guidance would lift it to the rubric's top tier.

Suggestions

Add an explicit 'Use when...' clause with concrete triggers, e.g. 'Use when the user mentions multi-tenancy, tenant isolation, RLS policies, adding tenant_id columns, or cross-tenant admin access in a SaaS app.'

Include natural synonyms and abbreviations users actually say — 'tenant isolation', 'RLS', 'data leakage prevention', 'tenant_id' — to broaden trigger term coverage.

Optionally mention the tenancy-model tradeoff decision (shared-schema vs schema-per-tenant vs database-per-tenant) since it is a core part of the skill's workflow.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions — 'row-level security', 'tenant-scoped queries', 'shared-schema isolation', and 'safe cross-tenant admin patterns' — and names the technology stack ('PostgreSQL and TypeScript'), comprehensively matching the skill's actual coverage. It is written in third person ('Design and implement') with no voice penalty.

5 / 5

Completeness

The 'what' is clear and concrete, but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the rubric guidelines. It is not a 4 because 'when' is entirely absent rather than merely under-specified.

3 / 5

Trigger Term Quality

Good natural keyword coverage ('multi-tenant', 'SaaS', 'row-level security', 'PostgreSQL', 'tenant-scoped'), but common user phrases like 'tenant isolation', 'RLS', 'data leakage', and 'adding tenant_id' are absent. This fits the 'good keyword coverage; a few natural terms missing' anchor rather than the comprehensive synonym coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

The 'multi-tenant SaaS architectures' niche with RLS and tenant-scoped queries in PostgreSQL/TypeScript is clearly distinct with minimal overlap risk against generic database, auth, or ORM skills.

5 / 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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/saas-multi-tenant/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.