# Type Contracts

> Trigger: type contracts, Object, Map<String,Object>, primitive obsession. Detect weak or implicit Java type contracts.

- Skill: `andresnator/type-contracts` (Agent Skill)
- Install (CLI): `npx skillmds@latest add andresnator/type-contracts`
- Raw SKILL.md: https://api.skillmd.com/api/skills/andresnator/type-contracts/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: andresnator (https://skillmd.com/u/andresnator)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/andresnator/type-contracts

---


## Activation Contract
Load this skill when reviewing refactor plans for: type contracts, Object, Map<String,Object>, primitive obsession.

## Hard Rules

- Flag Object, raw types, Map<String,Object>, stringly typed values, magic strings, casts, and primitive obsession.
- Prefer value objects, enums, records, or typed DTOs when they clarify contracts.
- Keep public API changes as follow-up unless approved.
- Preserve observable behavior; label functional changes as follow-up.
- Require evidence for every recommendation, or mark it as a hypothesis.

## Decision Gates

| Signal | Action |
|---|---|
| Concrete evidence exists | Create a finding with `file:line` evidence and the smallest safe refactor. |
| Evidence is incomplete | Mark as hypothesis and lower confidence. |
| Recommendation is cosmetic or speculative | Omit it unless maintainability benefit is clear. |

## Execution Steps

1. Inspect the target and nearby tests only as needed for this lens.
2. Identify findings that match this skill's responsibility.
3. Recommend the smallest safe behavior-preserving refactor.
4. Note validation and rollback implications where material; the calling agent decides where they land.

## Output Contract

Return findings in the calling agent's output contract — that contract wins over any field list here. Every finding carries `file:line` evidence or is marked hypothesis. Return `no_findings` when this lens has no material issue.

## References

None.

