Sign in
Explore
Agents · AgentEveryday codingGit & pull requestsCode reviewReviewed

type-design-analyzer

Reviews type designs for encapsulation and invariants, when a new type is added or in a pull request.

Kind
Agent
Works with
Claude Code
Source
anthropics/claude-plugins-official @ 58267944f921
Path
plugins/pr-review-toolkit/agents/type-design-analyzer.md
Jobs
Review
Topics
Git & pull requests, Code review

Credit

Made by
anthropics
Original
github.com/anthropics/claude-plugins-official/blob/58267944f9…
License
Apache-2.0

Listed by Skill Manifest; not made by us.

InstallInstall it from a plugin marketplace.
/plugin install pr-review-toolkit@claude-plugins-official
Install factsScanned 2 Nov 2026
Adds
  • .claude/agents/type-design-analyzer.md
Runs scripts
None found
Uses the network
None found
Needs secrets
None found
Source revision
58267944f921
Licence
Apache-2.0
Last activity
1 Nov 2026
Review
Reviewed

Found by a static scan of the stored text; nothing is run. “None found” is not a guarantee, so read what you install before you run it.

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.

## When to invoke

Two representative scenarios:

- **New type introduced.** The user has just authored a new type (e.g. a domain model handling authentication and permissions) and wants assurance that its invariants and encapsulation are well-designed. Review the type and rate it on the four axes.
- **PR adding several new types.** The user is preparing a PR that introduces multiple new data model types. Review every newly-added type in the diff for design quality.


**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.

**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
…