一键导入
ds-ts-review
Review TypeScript code with Tiger Style constraints and TypeScript/Workers idioms.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review TypeScript code with Tiger Style constraints and TypeScript/Workers idioms.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Design a target architecture for a new system — module boundaries, dependency rules, seams, and build order — from its requirements. Reports a blueprint; changes nothing.
Analyze an existing codebase's architecture and produce a sequenced refactoring plan — assess module boundaries, dependency structure, and layering, then lay out ordered, risk-tagged steps. Language-agnostic. Reports a plan; changes nothing.
Turn a goal or another command's output into an ordered task roadmap.
Find the root cause of a failure with the scientific method — reproduce, isolate, fix, then prove it.
Interview the user relentlessly about a plan or design until reaching shared understanding.
Run an extremely strict maintainability + single-source-of-truth review of code changes — abstraction quality, file sprawl, spaghetti-condition growth, and duplicate/competing implementations. Reports findings by default; `--fix` applies the mechanical, unambiguous ones — structural/code-judo restructurings rest on judgment and stay reported.
| name | ds-ts-review |
| description | Review TypeScript code with Tiger Style constraints and TypeScript/Workers idioms. |
| disable-model-invocation | true |
Applies to: TypeScript 5.5+. Cloudflare Workers, Next.js, React, edge runtimes.
Scan the invocation for the --no-tiger, --fix, and --full flags. Treat every other argument as review scope (files or directories); if no scope is given, review the changed files on the current branch.
--no-tiger present → skip the Tiger Style section; run the remaining sections only.--no-tiger absent → run all sections (default).--fix → after reporting, apply only the violations whose fix is mechanical and unambiguous (a rename to the idiom, a missing error check the review is certain about). Anything that changes logic or rests on an unverified assumption — especially security and correctness findings — stays report-only. After applying, re-run any build/test/lint check already in the loop and revert any fix that breaks it — or that touched more than the intended mechanical edit. End with a summary of what was applied and what was left.--full → review the entire codebase instead of just the branch's changes. Explicit positional scope still wins; --full only replaces the no-scope default.Example: /ds-ts-review --no-tiger src/ worker/ reviews src/ and worker/ without Tiger Style.
Use the checklist as a lens, not a scorecard: reason about the actual change, report real violations anchored to file:line, and flag issues even when they aren't listed. Don't manufacture findings to fill a category. Report only violations — no praise, no summary.
Skip this section entirely if --no-tiger was passed. Otherwise it is mandatory.
_ms, _bytes, _count)strict: true in tsconfig — no any unless explicitly justified with commentas Type casts that bypass runtime checks — validate at boundariessatisfies to check a value against a type without widening it, instead of an annotation that erases the literal type or an as cast?.) used to hide missing error handlingconst enum breaks under isolatedModules/verbatimModuleSyntax and most bundlers)namespace — use ES modulesusing/await using for scoped cleanup (TS 5.2) where a resource implements [Symbol.dispose]/[Symbol.asyncDispose], instead of hand-written try/finallyfs, path, crypto with Node semantics) — use Web APIsenv bindings typed via Env interface, not anythis.state.storage.transaction()env.SECRET_NAME, not hardcodedwrangler.toml bindings match runtime Env interfacesetState or dispatch with a new objectuseEffect dependency arrays complete — no stale-closure bugs — and effects reserved for real external synchronization, not derived stateuseMemo/useCallback/React.memo are dropped in new code — kept only where a measured need survives the compilerref passed as an ordinary prop (React 19) — no forwardRef wrapperuse() where it fits; forms built on useActionState/useFormStatus rather than a bespoke state libraryIdiom-level checks only — for a ranked, costed optimization plan, use /ds-perf-plan.
Promise.all), not awaited one-by-one* on sensitive routeswrangler dev)any type in test assertions<file>:<line>: <severity>: <problem>. <fix>.
Severity: critical, major, minor.