CtrlK
BlogDocsLog inGet started
Tessl Logo

code-ts

TypeScript code shape inside a well-named module — taste, not lint. Prefer one class or namespace per file (the unit a test targets) over scattered free exports; consolidate related code, don't fragment. The unit of code should be the unit of spec. Use when authoring TS in `editor/grida-canvas*`, `editor/lib/`, or `packages/*`. Sibling to the `naming` skill; React-specific shape lives in `code-react`.

68

Quality

83%

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

78%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-crafted, opinionated conventions skill that assumes Claude's competence and backs each rule with concrete repo examples. Slight gains available from trimming repeated framing and adding an optional minimal code snippet.

Suggestions

Tighten the recurring consolidate-don't-fragment framing so it is stated fully once and only referenced thereafter.

Add one short illustrative code snippet (e.g. a 3-line `export namespace css` skeleton) to make the preferred shape mechanically copy-pasteable rather than only described.

Make the decision heuristic in 'Not class or namespace everywhere' an explicit two-branch rule (noun filename → class/namespace; location filename → free exports) to sharpen the workflow into a checklist.

DimensionReasoningScore

Conciseness

Assumes Claude's intelligence ('Vanilla TS conventions ... are table stakes — assume them') and stays lean, but the consolidate-don't-fragment idea recurs across its own section, the short version, and the naming cross-reference, so a few tokens could be trimmed.

4 / 5

Actionability

Provides concrete, decision-useful heuristics (noun-filename → class/namespace; location-filename → free exports) grounded in real repo files like `editor/grida-canvas-utils/css.ts`, but as a taste/instruction skill it has no executable code snippets, capping it below 5.

4 / 5

Workflow Clarity

The decision heuristic ('Not class or namespace everywhere') gives an unambiguous single decision path and the short version is a crisp checklist, but it is a judgment framework rather than an explicitly sequenced workflow with checkpoints.

4 / 5

Progressive Disclosure

A self-contained conventions skill (~117 lines) with clear section headers, a 'short version' summary, and only one-level-deep sibling links (`../naming/SKILL.md`, `../code-react/SKILL.md`); the simple-skill scoring note permits a 5 for well-organized sections needing no external references.

5 / 5

Total

17

/

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, specific description that answers what and when with concrete directory triggers and explicit demarcation from sibling skills. Minor room to broaden natural-language trigger synonyms.

Suggestions

Add a few natural-language trigger synonyms a user would actually say (e.g. 'TypeScript files', 'TS modules', 'namespaces') alongside the directory globs to broaden trigger coverage.

Consider adding a one-phrase statement of the concrete payoff (e.g. 'keeps modules testable and grep-able') so the value is explicit alongside the taste rules.

DimensionReasoningScore

Specificity

Names the domain (TypeScript code shape) and several concrete preferences — 'Prefer one class or namespace per file', 'consolidate related code, don't fragment', 'The unit of code should be the unit of spec'. Not a 5 because the actions are taste heuristics rather than a comprehensive enumerated action list.

4 / 5

Completeness

Explicitly answers both what ('TypeScript code shape ... taste, not lint') and when ('Use when authoring TS in `editor/grida-canvas*`, `editor/lib/`, or `packages/*`') with concrete trigger phrases, satisfying the 'Use when' requirement.

5 / 5

Trigger Term Quality

Good keyword coverage with 'authoring TS', 'well-named module', and concrete directory globs, but missing common natural synonyms a user would say (e.g. 'TypeScript file', 'TS module', 'namespace') that would warrant a 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche with explicit sibling demarcation ('Sibling to the `naming` skill; React-specific shape lives in `code-react`'), minimizing conflict risk with adjacent skills.

5 / 5

Total

18

/

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

relative_links

Relative link issues: 4 suspicious

Warning

Total

15

/

16

Passed

Repository
gridaco/grida
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.