principle-type-system-discipline
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
Skill by jiangkoumo
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/jiangkoumo-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 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 jiangkoumo/pi-pstack, MIT.
More from jiangkoumo/pi-pstack
- 0.647score
poteto-help
jiangkoumo
Guides users through pstack setup, /skill:poteto-mode, and picking the skill, playbook, or principle for a task.
SkillAFreshness: A★ 27Claude Code +9 - 0.647score
statechart
jiangkoumo
Draw what an app's user sees as a Mermaid statechart from a TLA+ model.
SkillAFreshness: A★ 27Claude Code +9 - 0.637score
recall
jiangkoumo
Reconstruct your recent working context from your own chat history, live state, and the shared record (user reports, prior fixes, incidents), then hand back a…
SkillAFreshness: A★ 27Claude Code +9 - 0.622score
how
jiangkoumo
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillAFreshness: A★ 27Claude Code +9 - 0.622score
architect
jiangkoumo
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillAFreshness: A★ 27Claude Code +9 - 0.622score
interrogate
jiangkoumo
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillAFreshness: A★ 27Claude Code +9 - 0.622score
poteto-mode
jiangkoumo
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work.
SkillAFreshness: A★ 27Claude Code +9 - 0.622score
create-verification-skill
jiangkoumo
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: A★ 27Claude Code +9 - 0.620score
automate-me
jiangkoumo
Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how…
SkillAFreshness: A★ 27Claude Code +9 - 0.620score
benchmark-checklist
jiangkoumo
Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened) before you report or act on it.
SkillAFreshness: A★ 27Claude Code +9 - 0.620score
correct
jiangkoumo
Find the mistakes agents keep repeating in this repo and make each one impossible.
SkillAFreshness: A★ 27Claude Code +9 - 0.620score
ketchup
jiangkoumo
Catch the user up on what changed in this chat since their last message, in plain words and small visuals.
SkillAFreshness: A★ 27Claude Code +9
Signals
- Stars
- 27
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (10 days ago)
- Last release
- Oct 24, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jiangkoumo/pi-pstack
- 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.396score
principle-type-system-discipline
dsebban
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language.
SkillAFreshness: A★ 68Claude 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 jiangkoumo
- 0.650score
ego-decision-layer
jiangkoumo
多步线性浏览器任务(连续点击、翻页、搜索表单提交、导航跳转)的默认入口:用 `ego-decision-layer` 一条命令让决策层在单个 ego-browser 进程内闭环决策(默认 System One / Jev,可换本地 OpenAI 兼容后端;browser automation /…
SkillAFreshness: A★ 27Claude Code +9 - 0.647score
poteto-help
jiangkoumo
Guides users through pstack setup, /skill:poteto-mode, and picking the skill, playbook, or principle for a task.
SkillAFreshness: A★ 27Claude Code +9 - 0.647score
statechart
jiangkoumo
Draw what an app's user sees as a Mermaid statechart from a TLA+ model.
SkillAFreshness: A★ 27Claude Code +9 - 0.637score
recall
jiangkoumo
Reconstruct your recent working context from your own chat history, live state, and the shared record (user reports, prior fixes, incidents), then hand back a…
SkillAFreshness: A★ 27Claude Code +9 - 0.622score
architect
jiangkoumo
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillAFreshness: A★ 27Claude Code +9 - 0.622score
create-verification-skill
jiangkoumo
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: A★ 27Claude Code +9
Cite this page
principle-type-system-discipline skill. Agent Mart. https://agentmart.dev/skills/jiangkoumo-principle-type-system-discipline (last updated 2026-10-24)