CtrlK
BlogDocsLog inGet started
Tessl Logo

tsconfig

TypeScript config conventions for this monorepo: the two-base layering, the seven leaf tiers, and the never-redeclare list. Use when adding a package, editing any tsconfig.json, picking a tier for a new app, or debugging module resolution.

68

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

75%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 tightly written, highly actionable conventions skill: every section encodes a repo-specific decision rule, complete canonical configs are given, and detail is appropriately deferred. Weaknesses are minor: some repetition of the build-split rule, app-tier shapes left as table rows, and no error-recovery guidance around the typecheck step.

Suggestions

Drop the duplicate tsconfig.build.json explanation in 'Two base files' since the exceptions paragraph already covers it.

Add a brief 'if bun typecheck fails' recovery note (common causes: missing @types/<x>, redeclared base option, wrong tier).

Provide full shapes for at least the SvelteKit app tier, since its generated-config extends ordering is the easiest to get wrong.

DimensionReasoningScore

Conciseness

The body is dense with repo-specific rules, assumes TypeScript knowledge, and contains no filler, so it is above the midpoint. Not 5: the tsconfig.build.json split is stated in the exceptions paragraph and then repeated in 'Two base Files' ('...put them in their own tsconfig.build.json (see above)...'), and the 'preserve implies bundler... kept for legibility' aside could be trimmed.

4 / 5

Actionability

Two copy-paste-ready canonical JSONC configs, exact extends strings per tier, a never-redeclare table with reasons, and concrete commands ('bun install at the repo root, then bun typecheck'). Not 5: the five app tiers are specified only as table rows (e.g. 'jsx, jsxImportSource, types, include'), not complete copy-paste shapes.

4 / 5

Workflow Clarity

'Adding a new package' is a clear 4-step sequence with a validation checkpoint ('bun typecheck') and supporting decision rules throughout. Not 5: no error-recovery loop (what to do when typecheck fails), though the operations are non-destructive so the batch/destructive cap does not apply; not 3 because the sequence and checkpoint are explicit.

4 / 5

Progressive Disclosure

Well-sectioned operative rules belong in SKILL.md, and the migration rationale is correctly deferred one level deep to a clearly signaled 'Background' pointer, with no nested reference chains. Not 5: the body is a self-contained rulebook with a single external pointer rather than an overview with well-signaled distributed references; not 3 because structure and signaling are clean and nothing that belongs elsewhere is inlined.

4 / 5

Total

16

/

20

Passed

Description

87%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: it states a concrete, well-scoped what and an explicit multi-trigger when clause in third person, with natural vocabulary a maintainer would actually use. Minor room for synonyms (compiler options, typecheck) and slightly broader action coverage.

Suggestions

Add one or two natural synonyms such as 'compiler options' or 'typecheck fails' to the trigger clause to catch more user phrasings.

Mention the published-package build split (tsconfig.build.json) in the what-list, since it is a key convention a user may be looking for.

DimensionReasoningScore

Specificity

Names the domain and several concrete items ('two-base layering, the seven leaf tiers, and the never-redeclare list') plus concrete actions in the trigger clause ('editing any tsconfig.json', 'picking a tier', 'debugging module resolution'), but the what-side is an inventory of conventions rather than a comprehensive action list and omits coverage areas like the build-split and include rules. Not 5 because of those minor gaps; not 3 because it lists far more than 1-2 concrete actions.

4 / 5

Completeness

Both what ('TypeScript config conventions for this monorepo: the two-base layering, the seven leaf tiers, and the never-redeclare list') and when ('Use when adding a package, editing any tsconfig.json, picking a tier for a new app, or debugging module resolution') are explicit and concrete, matching the anchor-5 pattern. Not 4 because the when-clause is fully explicit with four specific triggers rather than merely serviceable.

5 / 5

Trigger Term Quality

Natural user phrases are well covered: 'adding a package', 'editing any tsconfig.json', 'picking a tier for a new app', 'debugging module resolution', 'monorepo'. Missing a few natural synonyms such as 'compiler options', 'typecheck', or 'extends', which the anchor-5 example's breadth would require.

4 / 5

Distinctiveness Conflict Risk

Scoped to 'this monorepo' and tsconfig.json editing with triggers ('picking a tier', 'never-redeclare list') specific to this niche, so it is clearly distinguishable and unlikely to fire for the wrong skill. Not 4 because no meaningful overlap with neighboring skills is evident from the description itself.

5 / 5

Total

18

/

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.

Repository
EpicenterHQ/epicenter
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.