CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

65

Quality

79%

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

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

SKILL.md
Quality
Evals
Security

Quality

Content

83%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 lean, highly actionable skill body with executable code and clear sequencing, weakened only by the lack of explicit validation feedback loops around its destructive and batch database operations.

Suggestions

Add explicit validate→fix→retry checkpoints for destructive/batch operations, e.g. for tenant deletion: soft-delete → verify no active sessions → run batch deletion → verify row counts per batch before proceeding.

Consider moving the three long code examples into references/ files (e.g. references/rls-policy.sql, references/tenant-middleware.ts) and signaling them from the body to deepen progressive disclosure.

DimensionReasoningScore

Conciseness

Dense and purposeful throughout — it never explains basics Claude already knows (what PostgreSQL/RLS is) and every prose line earns its place by carrying non-obvious security reasoning (e.g., why sequential IDs enable enumeration).

5 / 5

Actionability

Three complete, copy-paste-ready examples (RLS policy SQL, Express tenant middleware, Prisma tenant-scoping middleware) plus concrete directives like "SET LOCAL app.current_tenant_id" and index-column ordering cover the common cases.

5 / 5

Workflow Clarity

The 8-step Core Workflow is clearly sequenced and includes one CI validation checkpoint (migration lint rule), but destructive/batch operations — tenant deletion, batch background deletion, GDPR export — lack explicit validate→fix→retry feedback loops, so the rubric cap of 3 applies.

3 / 5

Progressive Disclosure

Well-organized into clearly headed sections (When to Use, Core Workflow, Examples, Never Do This, Edge Cases, Best Practices) with no nested or buried references; no bundle files exist, and the cohesive content is appropriately kept inline, though the length leaves minor room to split examples into reference files.

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 that clearly conveys what the skill does and the tech stack it targets. Its main weakness is the absence of an explicit "Use when…" trigger clause, which caps completeness at 3.

Suggestions

Append a trigger clause such as "Use when building multi-tenant SaaS apps, adding tenant isolation / RLS, or scoping queries by tenant_id in PostgreSQL or TypeScript."

Add common synonyms users say — "RLS", "tenant isolation", "multi-tenancy" — alongside "row-level security" to broaden trigger coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities — "row-level security, tenant-scoped queries, shared-schema isolation, and safe cross-tenant admin patterns in PostgreSQL and TypeScript" — covering the domain comprehensively rather than gesturing at it.

5 / 5

Completeness

The "what" is explicit and concrete, but there is no "Use when…" clause or equivalent trigger guidance, so per the rubric guideline completeness is capped at 3.

3 / 5

Trigger Term Quality

Strong natural terms a SaaS builder would say ("multi-tenant SaaS", "row-level security", "tenant-scoped queries"), but missing common synonyms such as "RLS", "tenant isolation", or "multi-tenancy" that users also utter.

4 / 5

Distinctiveness Conflict Risk

A clear, narrow niche (multi-tenant SaaS RLS/tenant-scoping in PostgreSQL + TypeScript) with distinct triggers and minimal overlap with other 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.

Validation15 / 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
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.