mit einem Klick
ts
TypeScript/Node.js. NOT for .tsx (use tsx).
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
TypeScript/Node.js. NOT for .tsx (use tsx).
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
Development wisdom and workflow rules. NOT for project-specific conventions (those live in CLAUDE.md, edit via wisdom).
The `BUGS.md` open-issues queue — entry format, lifecycle, pruning to diary. NOT for the record-don't-fix policy (that's CLAUDE.md Bug Triage Protocol), NOT for resolved-bug history (use /diary), NOT for feature backlog (use TODO.md/specs).
Terminal demo GIF + MP4 recordings for READMEs and social (asciinema + agg + ffmpeg). NOT for general Makefile targets (use software) or GUI screenshots (use visual).
Go development. NOT for non-Go code (use rs, py, ts, tsx, or sh).
Humanize text: strip AI-isms and add real voice. NOT for drafting new copy (use writing).
Python development. NOT for shell scripting (use sh) or non-Python code.
| name | ts |
| description | TypeScript/Node.js. NOT for .tsx (use tsx). |
| when_to_use | editing .ts files or writing TypeScript |
Requires the software skill's code.md for shared naming, style, and design
rules. Below are TypeScript-specific additions and deltas.
function keyword for top-level functions where possible; arrow functions only for callbacks and inline lambdasgst lint rules; match existing style when changing codearr.find(v => v.id === x))if (x)
return y
if (x) { return y } on one line — either braces+newline or no braces+newlinefilter(), map(), slice() already create new arraysarr.push(...otherArr) — blows call stack at >65k items. Use concat or loopsatisfies T over as T to validate without widening. NEVER as to escape a type error.type UserId = string & {__brand:'UserId'}) when two string IDs would otherwise be interchangeable.default: const _:never = x in switches.any — use unknown and narrow. ALWAYS import type { T } for type-only imports.export * from './module'as Type@Type(() => NestedClass) + @ValidateNested()test(...) / it(...) call: what it
does, what preconditions it assumes, what it verifies — one sentence per
point. (The "NEVER JSDoc self-explanatory functions" rule does NOT apply
to test cases — a test's intent and preconditions are never self-evident
from its body.)*.test.ts next to code (Bun), E2E: *.spec.ts in playwright/bunfig.toml root to exclude Playwright files from Bun:
[test]
root = "src"
make e2e: Playwright, make smoke: against running server, bun test: unit only