Skip to content
cccskills
FreePublished on GitHub

TypeScript Null Safety Guardrails

Enforce null/undefined safety for changed TypeScript code and suggest safer patterns.

The English summary is being prepared. Showing the original description.

See how to install

Files included (7)

  • SKILL.md3.3 KB
  • eval/promptfoo.yaml1.7 KB
  • fixtures/01-non-null-assertion-happy.md983 B
  • fixtures/02-type-guarded-false-positive.md1011 B
  • golden/01-non-null-assertion-happy.md570 B
  • prompt/system.md2.4 KB
  • prompt/user.md1.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Pattern declaration

Primary pattern: Reviewer Secondary patterns: Inversion Why: TypeScriptコードの差分からnull/undefinedの安全性をレビューし、実行時エラーシナリオを逆照射する。

Rule / ルール

  • 非同期・外部入力・オプショナル値には null/undefined ガードを設ける。
  • 非 null アサーション(!)や型アサーション(as Foo)に頼らず安全な分岐/early return を使う。
  • ユニオン型は網羅的にハンドリングし、never 到達をチェックする。

Heuristics / 判定の手がかり

  • foo! や as Type で未定義かもしれない値を強制している。
  • API レスポンス/環境変数/クエリパラメータをノーチェックで使用。
  • switch/if でユニオン型の全ケースをカバーしていない(defaultで握りつぶし)。
  • Promise 戻りを await せずに使い、undefined アクセスの可能性がある。

Good / Bad Examples

  • Good: if (!value) return err('missing value'); のように early return でガード。
  • Bad: value!.length のような非 null アサーション。
  • Good: switch (state.kind) で各 kind を列挙し、default: assertNever(state) を置く。

Actions / 改善案

  • 外部入力やオプショナル値に対して null/undefined チェックを追加し、早期 return/throw で制御を明確化する。
  • 非 null アサーションを排除し、undefined を許容する型定義やパーサーを導入する。
  • ユニオン型を網羅する switch/if を書き、assertNever などで漏れを検知する。

Non-goals / 扱わないこと

  • 全コードベースの型定義や API 契約の再設計。
  • strict モードの導入可否判断。
  • ライブラリ側の型定義バグの修正。

Pre-execution Gate / 実行前ゲート

このスキルは以下の条件がすべて満たされない限りNO_REVIEWを返す。

  • 差分にTypeScriptファイル(*.ts または *.tsx)が含まれている
  • inputContextにdiffが含まれている

ゲート不成立時の出力: NO_REVIEW: typescript-nullcheck — TypeScriptファイルの差分がない

False-positive guards / 抑制条件

  • null/undefined が型で排除され、追加ガードが不要な箇所。
  • asserts/バリデータで入力が保証されていると明示されている。

評価指標(Evaluation)

  • 合格基準: 指摘が差分に紐づき、根拠と次アクションが説明されている。
  • 不合格基準: 差分と無関係な指摘、根拠のない断定、抑制条件の無視。

人間に返す条件(Human Handoff)

  • 仕様や意図が不明確で解釈が分かれる場合は質問として返す。
  • 影響範囲が広い設計判断やトレードオフは人間レビューへ返す。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

<What this skill does>

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

画像・ボタン・フォーム要素に適切なアクセシブルネームがあるか確認する。

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

Ensure ADRs capture context, decision, alternatives, tradeoffs, and follow-ups in a way that prevents future drift.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

敵対的分析手法を統合したレビューの entry skill。認知バイアス対策の3手法 (Pre-mortem / War Game / Logic Torturing)と、宣言・主張と実態の乖離を突く claim-vs-actual 検出3パターン(Self-Contradiction / Refactor-Claim Audit / Cross-File Leakage)へルーティングし、通常のレビューでは見えない設計の盲点・ 防御の穴・論理の弱点・宣言と実装のズレを可視化する。

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

Review changes to the Agent Skills import/export bridge for path safety, round-trip fidelity, and validation correctness.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

Checks whether AI-assisted work defines review criteria, accessible context, explicit review loop, human judgment boundary, and feedback capture before delegating to an agent.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

See all skills by s977043

Report a problem with this skill