CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

principle-type-system-discipline

Apply when designing types, reviewing a function signature, or writing code in any statically-typed language. Make illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.

71

Quality

89%

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

85%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, well-structured principle skill: concrete anti-patterns, per-language idioms, and a practical self-check test list, with no bundle files needed at this size. The only room for improvement is trimming known-concept restatement and adding one or two tiny code illustrations for branding and boundary parsing.

DimensionReasoningScore

Conciseness

The body is efficient — each pattern bullet is actionable guidance and the anti-pattern example ('{ completed: boolean; completedAt?: Date }') earns its tokens. Minor over-explanation could be trimmed: per-language idiom enumerations (newtypes/opaque types/value classes/phantom types) restate knowledge Claude already has, and lines like 'The cast you bury today is the postmortem you write next week' are rhetorical flourish. Not 3 because the padding is minor and the bulk is curated value-add.

4 / 5

Actionability

Guidance is concrete for an instruction-only skill: a worked anti-pattern with two explicit fixes ('{ kind: 'open' } | { kind: 'done'; at: Date }'), specific compiler idioms ('never'-typed binding, '-Wincomplete-patterns'), and a diagnostic test list. Minor gaps keep it from the top anchor — branding and boundary parsing are named per language but never shown, so it is not fully copy-paste-ready across the common cases.

4 / 5

Workflow Clarity

This is a simple, single-purpose skill under 50 lines with no multi-step process, so the simple-skill exception applies: the single action (apply these patterns when designing/reviewing typed code) is unambiguous. The 'tests' section provides an explicit checklist that serves as the validation step for the skill's own guidance. No destructive or batch operations, so the workflow-clarity cap does not apply.

5 / 5

Progressive Disclosure

The skill is under 50 lines with no need for external references (no references/, scripts/, or assets/ directories exist), and the body is well-organized into clear sections (intro, patterns, tests). Per the simple-skill guideline, well-organized sections alone qualify for the top score; the cross-skill pointers (e.g., 'boundary-discipline') are clearly signaled and not nested bundle references.

5 / 5

Total

18

/

20

Passed

Description

88%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 that clearly and explicitly states both what the skill does and when to apply it, with six concrete capability statements. The main weakness is trigger-term coverage: it omits the specific language names and synonyms (e.g., TypeScript, Rust, 'type safety') users would naturally mention.

DimensionReasoningScore

Specificity

The description lists six specific concrete actions ('Make illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas') with comprehensive coverage of the skill's scope. It fits the anchor for multiple specific concrete actions; score 4 would require coverage gaps that are not present.

5 / 5

Completeness

It explicitly answers 'when' with a concrete trigger clause ('Apply when designing types, reviewing a function signature, or writing code in any statically-typed language') and 'what' with the enumerated principle actions. Both are explicit with concrete trigger phrases, matching the top anchor; score 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

'designing types', 'reviewing a function signature', and 'writing code in any statically-typed language' are natural phrases a developer would say, giving good keyword coverage. Not 5 because common variations and synonyms are missing — no language names (TypeScript, Rust, Java) and no terms like 'type safety' or 'type errors'; not 3 because the present terms are natural and relevant rather than generic.

4 / 5

Distinctiveness Conflict Risk

The niche (type-system design discipline) is distinct with signature phrases like 'make illegal states unrepresentable', but the trigger 'writing code in any statically-typed language' is broad and could overlap with language-specific best-practice skills. Mostly distinct with minor overlap risk fits anchor 4; not 5 because of that broad trigger.

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

adamsardo/pstack-claude

Path

plugins/pstack/skills/principle-type-system-discipline/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.