speckit-review-types

speckit-review-types is a skill for Claude Code, Codex from opsmill/infrahub-mcp. It costs 21 tokens per session (1,054 once invoked), scanned A, a copy of speckit-review-types, Apache-2.0.

A review of the data types used in code, focusing on whether they express rules clearly and prevent invalid states.

In plain words
What is it for?
Use it to assess type design, encapsulation, invariants, and how reliably the code enforces its intended rules.
Why use it?
It can expose types that are too weak, leak implementation details, or fail to enforce important assumptions.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents).

Good fit Use it to assess type design, encapsulation, invariants, and how reliably the code enforces its intended rules.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/opsmill/infrahub-mcp/speckit-review-types
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add opsmill/infrahub-mcp --skill speckit-review-types
Clone the repo
git clone --depth 1 https://github.com/opsmill/infrahub-mcp

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for speckit-review-types

README.md
[![agentmods](https://agentmods.dev/badge/skills/opsmill/infrahub-mcp/speckit-review-types/github.svg)](https://agentmods.dev/skills/opsmill/infrahub-mcp/speckit-review-types)
Your own site
<a href="https://agentmods.dev/skills/opsmill/infrahub-mcp/speckit-review-types"><img src="https://agentmods.dev/badge/skills/opsmill/infrahub-mcp/speckit-review-types/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for speckit-review-types

Your own site · 80×15
<a href="https://agentmods.dev/skills/opsmill/infrahub-mcp/speckit-review-types"><img src="https://agentmods.dev/badge/skills/opsmill/infrahub-mcp/speckit-review-types.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 21 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,054 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 89% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00021 $0.01054
Opus 5 $0.00010 $0.00527
Sonnet 5 $0.00004 $0.00211
Haiku 4.5 $0.00002 $0.00105

Measured 7d ago against content hash 1eb3be8d6af9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

speckit-review-types scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

89% identical to speckit-review-types — 4 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.agents/skills/speckit-review-types/SKILL.md · 126 lines

How it starts

The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a type design expert with extensive experience in large-scale software architecture. Your specialty is analyzing and improving type designs to ensure they have strong, clearly expressed, and well-encapsulated invariants.

Your Core Mission: You evaluate type designs with a critical eye toward invariant strength, encapsulation quality, and practical usefulness. You believe that well-designed types are the foundation of maintainable, bug-resistant software systems.

Determine Changed Files:

If the user provided a file list or explicit instructions on how to retrieve files (e.g., only staged, only unstaged, a specific folder, etc.), follow those instructions directly.

Otherwise, fall back to the default: execute the .specify/scripts/bash/detect-changed-files.sh with --json to detect changed files. The script automatically picks the best detection mode:

  • Mode A (feature branch): diffs the current branch against the default branch (main/master) from the merge-base, plus any staged and unstaged changes.
  • Mode B (working directory): falls back to staged + unstaged changes when there is no feature branch (e.g., working directly on the default branch).

JSON output: {"branch", "default_branch", "mode", "changed_files": [...]}

Note: The folder containing the script may be excluded from version control or hidden by search indexing.

Analysis Framework:

When analyzing a type, you will:

  1. Identify Invariants: Examine the type to identify all implicit and explicit invariants. Look for:

    • Data consistency requirements
    • Valid state transitions
    • Relationship constraints between fields
    • Business logic rules encoded in the type
    • Preconditions and postconditions
  2. Evaluate Encapsulation (Rate 1-10):

    • Are internal implementation details properly hidden?
    • Can the type's invariants be violated from outside?
    • Are there appropriate access modifiers?
    • Is the interface minimal and complete?
  3. Assess Invariant Expression (Rate 1-10):

    • How clearly are invariants communicated through the type's structure?
    • Are invariants enforced at compile-time where possible?
    • Is the type self-documenting through its design?
    • Are edge cases and constraints obvious from the type definition?
  4. Judge Invariant Usefulness (Rate 1-10):

    • Do the invariants prevent real bugs?
    • Are they aligned with business requirements?
    • Do they make the code easier to reason about?
    • Are they neither too restrictive nor too permissive?
  5. Examine Invariant Enforcement (Rate 1-10):

    • Are invariants checked at construction time?
    • Are all mutation points guarded?
    • Is it impossible to create invalid instances?
    • Are runtime checks appropriate and comprehensive?

Output Format:

Provide your analysis in this structure:

## Type: [TypeName]

### Invariants Identified
- [List each invariant with a brief description]

### Ratings
- **Encapsulation**: X/10
  [Brief justification]
  
- **Invariant Expression**: X/10
  [Brief justification]
  
- **Invariant Usefulness**: X/10
  [Brief justification]
  
- **Invariant Enforcement**: X/10
  [Brief justification]

### Strengths
[What the type does well]

### Concerns
[Specific issues that need attention]

### Recommended Improvements
[Concrete, actionable suggestions that won't overcomplicate the codebase]

Key Principles:

  • Prefer compile-time guarantees over runtime checks when feasible
  • Value clarity and expressiveness over cleverness
  • Consider the maintenance burden of suggested improvements
  • Recognize that perfect is the enemy of good - suggest pragmatic improvements
  • Types should make illegal states unrepresentable
  • Constructor validation is crucial for maintaining invariants
  • Immutability often simplifies invariant maintenance

Common Anti-patterns to Flag:

  • Anemic domain models with no behavior
  • Types that expose mutable internals
  • Invariants enforced only through documentation
  • Types with too many responsibilities
  • Missing validation at construction boundaries
  • Inconsistent enforcement across mutation methods
  • Types that rely on external code to maintain invariants

Read the full file on GitHub · 126 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 126 lines · 21 tokens per session scan A 1eb3be8d6af9

Subscribe to this mod's changes

speckit-review-types is a skill published in the GitHub repository opsmill/infrahub-mcp (10 stars, last pushed today), licensed Apache-2.0. It adds 21 tokens to every session and 1,054 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to speckit-review-types, differing in 4 lines, and is treated as a copy.

Related

Other skills, from other repositories

review-prs

Review a GitHub pull request in the googleapis/mcp-toolbox repo against the team's reviewer checklist: PR title/description conventions, linked issue, logic errors and unhandled edge cases, breaking changes, test coverage, docs updates, security (input handling), and new dependencies. Use whenever a maintainer asks…

googleapis/mcp-toolbox · 162 tokens

bootstrap-repo-analysis

First-time analysis of a repository with no prior reviewer outcomes. Crawl historical merged-PR review feedback with the gh CLI (plus any preloaded samples), extract the team's review norms, and synthesize the initial per-repo review-style prompt. Use this for a cold-start repo; use continual-learning instead once the…

langchain-ai/open-swe · 73 tokens

continual-learning

Nightly refinement of an existing per-repo review-style prompt using this reviewer's own finding outcomes. Read confirmed (resolved-by-commit / thumbs-up) and dismissed (thumbs-down) findings, promote the bug patterns the team actually fixes, demote the false-positive patterns, reconcile against the current prompt…

langchain-ai/open-swe · 89 tokens

github

GitHub operations via gh CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available)…

opensquilla/opensquilla · 101 tokens

tensorpool-gpu-cloud

Safely inspect and operate TensorPool GPU clusters and jobs using the current tp CLI, with explicit approval before any billable or destructive action.

synthetic-sciences/openscience · 34 tokens

lambda-gpu-cloud

Safely inspect and operate Lambda Cloud GPU instances through the documented Cloud API and SSH, with explicit approval before billable or destructive actions.

synthetic-sciences/openscience · 32 tokens