بنقرة واحدة
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.