CtrlK
BlogDocsLog inGet started
Tessl Logo

portability

How to keep template code PostgreSQL-specific and hosting-agnostic. Use when defining schemas, writing raw SQL, or creating server routes.

60

Quality

76%

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 ./.agents/skills/portability/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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-organized, highly prescriptive policy skill with executable code examples and specific API and path-level guidance. Its weaknesses are redundancy — an export table that restates the code example above it — and two structural ambiguities: a "Never" section containing no prohibitions, and raw-SQL guidance split between an avoid-list and a helper subsection.

Suggestions

Delete the export table under the Drizzle example — it restates what the code and its inline comments already show, saving ~10 lines of pure padding (conciseness).

Rename or rewrite the "### Never" section under Database so it either lists actual prohibitions or is folded into the surrounding guidance; readers scanning it expect a prohibition list (conciseness, workflow clarity).

Align the query-builder example with the schema snippet (define ownerEmail in the meals table or drop it from the .where() clause) so the example is fully copy-paste ready (actionability).

DimensionReasoningScore

Conciseness

The export table ("`pgTable` Defines a PostgreSQL table", "`text` Defines a text column") duplicates what the preceding code example already demonstrates, and the "### Never" heading under Database introduces no prohibitions — just prose about docs wording. The rest is tight and prescriptive, but these padded spots keep it from 4.

3 / 5

Actionability

Concrete and executable throughout: a complete Drizzle schema snippet, a query-builder example, named H3 APIs ("defineEventHandler, readBody, getMethod, setResponseHeader"), and precise paths ("packages/core/src/templates/"). Held back from 5 because the query example uses "meals.ownerEmail", which is not defined in the shown schema snippet.

4 / 5

Workflow Clarity

This is a rule/policy skill, not a multi-step process, and its directives are unambiguous ("Never use fs, child_process, or path in server routes and plugins"); the single-action exception applies. Not 5 because the mislabeled Database "Never" section and the tension between "Avoid db.execute(...)" and the "Raw SQL helpers" subsection that documents getDbExec() create mild ambiguity about where raw SQL is permitted.

4 / 5

Progressive Disclosure

A single-file skill with no bundle files, organized under clear section headers (Rule, Database, Hosting Agnostic, Related Skills) with useful cross-skill pointers. At ~110 lines it exceeds the under-50-line simple-skill threshold, and all content lives inline — appropriate here, but it earns 4 rather than 5.

4 / 5

Total

15

/

20

Passed

Description

78%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 concise, well-structured description that explicitly covers both what the skill does and when to use it, with concrete natural-language triggers. Its main weakness is thin capability enumeration — the "what" is a single constraint statement rather than a list of specific actions, and a few common synonyms ("Postgres", "migrations", "deployment") would improve trigger recall.

Suggestions

Enumerate one or two concrete capabilities in the what-clause (e.g., "Keep template code PostgreSQL-specific and hosting-agnostic by using Drizzle's pg-core exports and H3/Nitro server handlers") to lift specificity.

Add natural trigger synonyms such as "Postgres", "migrations", "deployment targets", or "Nitro routes" to broaden trigger coverage without adding fluff.

DimensionReasoningScore

Specificity

"How to keep template code PostgreSQL-specific and hosting-agnostic" names the domain clearly but states only a single high-level action; the gerunds ("defining schemas, writing raw SQL, or creating server routes") function as triggers rather than an enumeration of capabilities.

3 / 5

Completeness

It explicitly answers both what ("keep template code PostgreSQL-specific and hosting-agnostic") and when ("Use when defining schemas, writing raw SQL, or creating server routes") with concrete, natural trigger phrases in third-person voice.

5 / 5

Trigger Term Quality

"Use when defining schemas, writing raw SQL, or creating server routes" provides good, natural keyword coverage across both the database and hosting domains; common synonyms like "Postgres", "migrations", and "deployment" are missing.

4 / 5

Distinctiveness Conflict Risk

The PostgreSQL-specific plus hosting-agnostic template niche is fairly distinct with clear triggers; minor overlap risk remains with generic schema-authoring or server-route skills.

4 / 5

Total

16

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository
BuilderIO/agent-native
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.