principle-type-system-discipline
An agent skill by cursor, from cursor/plugins. Tags: architecture, code-quality, development, typescript, validation.
What it does
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.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add cursor/plugins --skill principle-type-system-discipline
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/cursor/plugins
cp -r plugins/pstack/skills/principle-type-system-discipline ~/.claude/skills/principle-type-system-discipline
Safety box score
Grade A, minimal risk: 0 of 100 risk points, rated 2026-10-15. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This is a documentation-only skill about type-system design principles. It does not ship executable code or automation, so the main risk is negligible; it only influences how an agent reasons about types in statically typed code.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 0 (none) | Only a markdown guide is present (`SKILL.md`); there are no scripts, shell commands, or code evaluators. |
| Network access | 0 (none) | The skill does not download data or send anything to remote hosts. |
| Filesystem reach | 0 (none) | No file reads/writes/deletes are performed by the skill itself; it is guidance text only. |
| Secrets & credentials | 0 (none) | It does not request tokens, passwords, `.env` files, keychains, or other credentials. |
| Privilege & persistence | 0 (none) | There is no sudo, install, service registration, shell startup edit, or other privilege-changing behavior. |
| Instruction hijack surface | 0 (none) | The text contains no instructions to ignore rules, skip confirmations, hide behavior, or follow fetched content. |
| Irreversible actions | 0 (none) | It does not perform actions like deploy, publish, send, pay, or delete; it only provides design advice. |
| Transparency | 0 (none) | The only file is readable markdown; there are no binaries, blobs, or runtime-decoded content. |
Before installing
- Verify the skill package contains only `SKILL.md` and no accompanying scripts or installers.
- If you use it in an agent workflow, confirm it is limited to design/review tasks and not paired with a tool that executes code automatically.
Rated 2026-10-15 by an automated review of 1 file from the skill's repository.
Source
- Repository
- cursor/plugins (all skills from this repository)
- Path
- pstack/skills/principle-type-system-discipline/SKILL.md
- Branch
- main
- Collection
- cursor
- Updated
- 2026-09-23
Related skills
- typescript-best-practices — TypeScript best practices. Use when reading or editing any .ts or .tsx file.
- principle-separate-before-serializing-shared-state — Apply when concurrent actors might write to the same file, branch, key, or state object.
- expo-migrate-module — Framework (OSS). Migrate an existing Apple/Swift Expo native module from the Expo Modules API 1.0 definition DSL to the 2.0 macro API (sometimes called v2).
- expo-module — Framework (OSS). Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript).
- seo-programmatic — Programmatic SEO planning and analysis for pages generated at scale from data sources.
- antfu — Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects.