Agent Skillssediman-agent/OpenSkynet › typescript-best-practices

typescript-best-practices

GitHub

提供TypeScript编码最佳实践,涵盖类型安全、模式匹配及边界校验。适用于阅读或编辑.ts/.tsx文件时,确保代码健壮性与可维护性。

skills/cursor_plugins/pstack/skills/typescript-best-practices/SKILL.md sediman-agent/OpenSkynet

Trigger Scenarios

读取 .ts 或 .tsx 文件 编辑 TypeScript 代码

Install

npx skills add sediman-agent/OpenSkynet --skill typescript-best-practices -g -y
More Options

Non-standard path

npx skills add https://github.com/sediman-agent/OpenSkynet/tree/main/skills/cursor_plugins/pstack/skills/typescript-best-practices -g -y

Use without installing

npx skills use sediman-agent/OpenSkynet@typescript-best-practices

指定 Agent (Claude Code)

npx skills add sediman-agent/OpenSkynet --skill typescript-best-practices -a claude-code -g -y

安装 repo 全部 skill

npx skills add sediman-agent/OpenSkynet --all -g -y

预览 repo 内 skill

npx skills add sediman-agent/OpenSkynet --list

SKILL.md

Frontmatter
{
    "name": "typescript-best-practices",
    "description": "TypeScript best practices. Use when reading or editing any .ts or .tsx file."
}

TypeScript best practices

Apply the type-system-discipline principle skill first; this skill grounds it in TypeScript syntax.

Rule Summary
Discriminated unions Model variants with a kind literal discriminant so impossible states can't be represented. No optional-field bags.
Branded types Brand primitives with & { readonly __brand: "X" } so they can't be mixed up. Validate once at creation.
unknown over any External data is unknown. any disables type checking everywhere it touches.
No as casts Every as is a runtime crash waiting. Cast only after validation.
Narrowing hierarchy Discriminant switch > in operator > typeof/instanceof > user-defined type guard > as.
Type guards Must verify the claim. A lying guard is worse than as because the bug hides behind a name that says it's safe. Name them isX or hasX.
Exhaustiveness Inline const _exhaustive: never = x; in default arms so the compiler errors when a new variant is added.
satisfies over as Validates the value without widening literal types.
Boundary validation Validate where data crosses in; trust types inside. See the boundary-discipline principle skill.
Schema-derived types Reach for Pick/Omit/Parameters/ReturnType/Awaited/typeof before declaring a new interface.
Object args Pass objects, not positional, so argument order is self-documenting. Skip on hot paths (per-frame render, tokenizers, parsers).

Examples: references/patterns.md.

Version History

  • c9d8953 Current 2026-07-05 19:53

Same Skill Collection

skills/anthropics_skills/algorithmic-art/SKILL.md
skills/anthropics_skills/brand-guidelines/SKILL.md
skills/anthropics_skills/canvas-design/SKILL.md
skills/anthropics_skills/doc-coauthoring/SKILL.md
skills/anthropics_skills/frontend-design/SKILL.md
skills/anthropics_skills/internal-comms/SKILL.md
skills/anthropics_skills/mcp-builder/SKILL.md
skills/anthropics_skills/pdf/SKILL.md
skills/anthropics_skills/skill-creator/SKILL.md
skills/anthropics_skills/slack-gif-creator/SKILL.md
skills/anthropics_skills/theme-factory/SKILL.md
skills/anthropics_skills/web-artifacts-builder/SKILL.md
skills/anthropics_skills/webapp-testing/SKILL.md
skills/browser-use_browser-use/browser-use/SKILL.md
skills/browser-use_browser-use/remote-browser/SKILL.md
skills/browser-use_video-use/manim-video/SKILL.md
skills/browser-use_video-use/video-use/SKILL.md
skills/cloudflare_skills/agents-sdk/SKILL.md
skills/cloudflare_skills/cloudflare/SKILL.md
skills/cloudflare_skills/durable-objects/SKILL.md
skills/cloudflare_skills/sandbox-sdk/SKILL.md
skills/cloudflare_skills/web-perf/SKILL.md
skills/cloudflare_skills/workers-best-practices/SKILL.md
skills/cloudflare_skills/wrangler/SKILL.md
skills/cursor_plugins/cli-for-agent/skills/cli-for-agents/SKILL.md
skills/cursor_plugins/continual-learning/skills/continual-learning/SKILL.md
skills/cursor_plugins/create-plugin/skills/create-plugin-scaffold/SKILL.md
skills/cursor_plugins/create-plugin/skills/review-plugin-submission/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/check-compiler-errors/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/control-cli/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/control-ui/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/deslop/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/fix-ci/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/fix-merge-conflicts/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/get-pr-comments/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/loop-on-ci/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/make-pr-easy-to-review/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/new-branch-and-pr/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/pr-review-canvas/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/review-and-ship/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/run-smoke-tests/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/thermo-nuclear-code-quality-review/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/verify-this/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/weekly-review/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/what-did-i-get-done/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/workflow-from-chats/SKILL.md
skills/cursor_plugins/docs-canvas/skills/docs-canvas/SKILL.md
skills/cursor_plugins/orchestrate/skills/orchestrate/SKILL.md
skills/cursor_plugins/pr-review-canvas/skills/pr-review-canvas/SKILL.md
skills/cursor_plugins/pstack/skills/architect/SKILL.md

Metadata

Files
0
Version
c9d8953
Hash
b6c9af16
Indexed
2026-07-05 19:53

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-07 08:32
浙ICP备14020137号-1 $Carte des visiteurs$