Skip to content
Agentmart
Submit a tool

strict-type-review

Review code for strict type safety compliance including checked indexed access, discriminated unions, tuple types, and runtime validation

Skill by reshinto

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/reshinto-strict-type-review

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Review code for strict type safety compliance including checked indexed access, discriminated unions, tuple types, and runtime validation

Use cases: security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/strict-type-review

What's inside

Skill name
strict-type-review
Description
Review code for strict type safety compliance including checked indexed access, discriminated unions, tuple types, and runtime validation
License
MIT
Instructions
62 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Strict Type Review

## Task

Review code changes for strict type safety compliance, proper type patterns, and runtime validation at system boundaries. Applicable to any statically typed language (TypeScript, Rust, Go, Kotlin, etc.).

## Instructions

1. Identify changed or new source files in the project's primary language
2. Check each file against the checklist below
3. Flag violations with specific fix suggestions

## Checklist

### No Unsafe Type Escape Hatches

- No untyped escape hatches (`any` in TS, `interface{}` in Go, `Any` in Python, `unsafe` without justification in Rust)
- No compiler directive suppressions (e.g., `@ts-ignore`, `# type: ignore`, `//nolint`) without a comment explaining why
- Generic type parameters have constraints where possible

### Strict Collection Access

- Collection indexing handles the case where the element may not exist (null/undefined/Option/Result)
- Coordinate/pair collections use explicit tuple or fixed-size types, not nested arrays
- Map/dictionary lookups handle the missing-key case
- Destructuring from indexed access includes existence checks

### Exhaustive Variant Handling

- Switch/match statements on union/enum/variant types are exhaustive
- All variants handled in every branching construct
- No unsafe type casts to bypass type narrowing — use type guards or pattern matching instead
- New variants added to all existing branching constructs

### Framework-Specific Patterns

- Module imports use statically analyzable paths (no dynamic string interpolation in import paths)
- Framework-specific dependency tracking is complete (e.g., hook deps, reactive subscriptions)
- Type-safe constant definitions used where the language supports them
- Lazy-loaded modules have proper error boundaries or fallbacks

### Runtime Validation

- User input validated before passing to any execution or processing function
- Dynamically loaded content validated after import (file might not exist)
- Type guards at system boundaries: external data → validated internal types
- No trusting `JSON.parse()` output without validation

### Type Design Quality

- **Encapsulation**: Types expose only what consumers need — internal state is private
- **Invariant expression**: Types enforce constraints at compile time, using discriminants to prevent invalid state combinations
- **Usefulness**: Each type serves a clear purpose — no redundant or unused type definitions
- **Enforcement**: Type constraints are enforced by the compiler, not by runtime checks or conventions

## Output Format

- PASS: [file:line] - correct usage
- WARN: [file:line] - suboptimal pattern, not a bug
- FAIL: [file:line] - violation + suggested fix

From reshinto/dev-forge, MIT.

More from reshinto/dev-forge

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Apr 8, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from reshinto

Cite this page

strict-type-review skill. Agent Mart. https://agentmart.dev/skills/reshinto-strict-type-review (last updated 2026-10-24)