principle-type-system-discipline
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
Skill by dsebban
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dsebban-principle-type-system-discipline
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
principle-type-system-discipline- Description
- 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, exhaust variants, derive from authoritative schemas.
- License
- MIT
- Instructions
- 9 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Type System Discipline Make the compiler reject impossible states, mismatched primitives, and unhandled variants. Prefer defining errors and special cases out of existence over proliferating handlers. For TypeScript syntax, see the `typescript-best-practices` skill. - **Brand semantic primitives.** `UserId` and `OrderId` are strings underneath but should not be interchangeable. Give each its own type, such as a branded intersection in TypeScript or a newtype elsewhere. Validate once at creation, trust the type downstream. If two arguments share a primitive type but mean different things, brand them. - **External data is untyped until parsed.** RPC payloads, JSON, IPC messages, CLI args, config files, environment variables, database rows. Have a parse function at every boundary that turns unstructured input into the typed model. The **boundary-discipline** principle skill (`skill://principle-boundary-discipline`) says where to put validation. - **Derive types from authoritative schemas.** When a protocol buffer, OpenAPI spec, GraphQL schema, database migration, design-token file, or another file owns a shape, derive from it instead of hand-rolling a parallel type. See the **encode-lessons-in-structure** principle skill.
From dsebban/skills, MIT.
More from dsebban/skills
- 0.673score
setup-pstack
dsebban
Configure which models pstack uses per role and at what reasoning budget on OMP.
SkillAFreshness: A★ 68Claude Code +9 - 0.673score
fable-deslop
dsebban
Deletion-first patch minimization.
SkillAFreshness: A★ 68Claude Code +9 - 0.670score
poteto-help
dsebban
Guides users through pstack setup on OMP, /skill:poteto-mode, and picking the skill, playbook, or principle for a task.
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
maintain-formal-verification-skill
dsebban
Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model…
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
orchestrate-omp
dsebban
Coordinate OMP subagents on substantial work.
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
recall
dsebban
Reconstruct your recent working context from your own session history, live state, and the shared record (user reports, prior fixes, incidents), then hand…
SkillAFreshness: A★ 68Claude Code +9 - 0.665score
pstack-omp
dsebban
OMP adapter for poteto-mode.
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
create-verification-skill
dsebban
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
how
dsebban
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
poteto-mode
dsebban
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work.
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
interrogate
dsebban
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
architect
dsebban
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillAFreshness: A★ 68Claude Code +9
Signals
- Stars
- 68
- Forks
- 6
- Open issues
- 1
- Last commit (this folder)
- Oct 20, 2026 (9 days ago)
- Last release
- Oct 20, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/dsebban/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.756score
principle-type-system-discipline
backnotprop
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
SkillAFreshness: A★ 2.7KClaude Code +9 - 0.382score
principle-type-system-discipline
jiangkoumo
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
SkillAFreshness: A★ 27Claude Code +9 - 0.360score
principle-type-system-discipline
creedants
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
SkillAFreshness: A★ 15Claude Code +9 - 0.344score
principle-type-system-discipline
dhruvsaxena1998
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
SkillAFreshness: A★ 1Claude Code +9 - 0.334score
principle-type-system-discipline
matthewyjiang
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
SkillAFreshness: AClaude Code +9
More from dsebban
- 0.673score
fable-deslop
dsebban
Deletion-first patch minimization.
SkillAFreshness: A★ 68Claude Code +9 - 0.673score
setup-pstack
dsebban
Configure which models pstack uses per role and at what reasoning budget on OMP.
SkillAFreshness: A★ 68Claude Code +9 - 0.670score
poteto-help
dsebban
Guides users through pstack setup on OMP, /skill:poteto-mode, and picking the skill, playbook, or principle for a task.
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
recall
dsebban
Reconstruct your recent working context from your own session history, live state, and the shared record (user reports, prior fixes, incidents), then hand…
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
orchestrate-omp
dsebban
Coordinate OMP subagents on substantial work.
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
maintain-formal-verification-skill
dsebban
Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model…
SkillAFreshness: A★ 68Claude Code +9
Cite this page
principle-type-system-discipline skill. Agent Mart. https://agentmart.dev/skills/dsebban-principle-type-system-discipline (last updated 2026-10-24)