ai-skills-design-value-object
Prefer value objects or named domain types over generic primitives and strings when the data has real semantics.
Skill by fabian-barney
Chalk Labs
Need help deploying ai-skills-design-value-object?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/fabian-barney-ai-skills-design-value-object
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.
About
Use cases: design, data
Reviews
Write a reviewNo 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/ai-skills-design-value-object
What's inside
- Skill name
ai-skills-design-value-object- Description
- Prefer value objects or named domain types over generic primitives and strings when the data has real semantics.
- License
- Apache-2.0
- Instructions
- 65 lines in SKILL.md · view on GitHub
Files (3)
- SKILL.md
- value-object-replacement.md · examples/
- value-object-defaults.md · references/
SKILL.md (first lines)
<!-- markdownlint-disable MD025 --> # Purpose Replace semantically rich primitive or string data with value objects or named domain types so contracts, invariants, and intent stay explicit. # When to Use - use when primitive or string parameters, fields, or return values carry domain meaning - use when data has invariants, normalization rules, or repeated cross-module usage - use `references/value-object-defaults.md` for the promotion rules and exceptions - use `examples/value-object-replacement.md` for a concrete before-and-after shape # Inputs - the affected primitive or string-based contract - whether the data crosses boundaries, repeats across call sites, or carries invariants - persistence or transport boundaries that may still require primitive/string representations - `references/value-object-defaults.md` # Workflow 1. Identify primitives or strings that represent real domain concepts rather than temporary mechanical locals. 2. Promote those concepts to a value object or named domain type when they are reused, cross boundaries, or carry invariants or behavior. 3. Keep the value object immutable and validate or normalize its invariants at construction time. 4. Keep conversions at persistence, transport, or serialization boundaries explicit instead of leaking raw types back into domain code. 5. Leave truly local, trivial, mechanical data as primitives or strings when a value object would add ceremony without meaning. 6. Use `examples/value-object-replacement.md` when communicating the expected refactor shape. # Outputs - a value object or named domain type where generic primitives or strings were previously carrying domain meaning - explicit boundary conversion points when raw representations are still required - a review finding when primitive obsession remains in a domain-shaped contract # Guardrails - do not introduce wrapper types with no semantic meaning or invariants - do not keep raw primitive or string contracts in domain APIs once a value object is justified - do not make value objects mutable - do not confuse value-object semantics with entity identity semantics # Exit Checks - semantically rich data no longer relies on generic primitives or strings - value objects are immutable and validate their own invariants - boundary conversions are explicit - remaining primitive or string usage is local, trivial, or boundary-driven
From fabian-barney/ai-skills, Apache-2.0.
More from fabian-barney/ai-skills
- 0.502score
ai-skills-compliance-dependency
fabian-barney
Evaluate dependency additions and upgrades for compliance and governance risk.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-bootstrap-ci-pipeline
fabian-barney
Establish the initial CI pipeline for a project so build, lint, test, and policy checks run consistently from the start.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-bootstrap-ai-instructions
fabian-barney
Bootstrap the downstream ai-instructions layer for a repository by following the authoritative upstream setup source instead of copying or reinventing it…
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-bootstrap-project
fabian-barney
Orchestrate the initial project bootstrap by sequencing repository, instruction-layer, framework, CI, and documentation setup in dependency order.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-code-refactoring
fabian-barney
Refactor code while preserving behavior through scoped coverage, duplication, complexity, CRAP-score, and convention gates.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-conventions-java
fabian-barney
Apply the default Java conventions by orchestrating the Java-specific leaf skills and the remaining Java baseline rules.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-conventions-prompt-caching
fabian-barney
Structure prompts and skill bundles so the static prefix stays stable across invocations and Anthropic prompt-prefix caching can hit instead of rebuild.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-conventions-ternary
fabian-barney
Prefer simple ternary expressions over verbose if-else blocks when the choice is expression-shaped and side-effect-free.
SkillCFreshness: C★ 1Claude Code +9 - 0.496score
ai-skills-conventions-early-return
fabian-barney
Prefer early returns and guard clauses to keep exceptional paths explicit and the happy path linear.
SkillCFreshness: C★ 1Claude Code +9 - 0.496score
ai-skills-correctness-jpa
fabian-barney
Verify JPA entity equality and hashCode behavior, especially for unsaved entities with null primary keys.
SkillCFreshness: C★ 1Claude Code +9 - 0.496score
ai-skills-conventions-lombok
fabian-barney
Prefer Lombok for applicable Java boilerplate while keeping risky annotations and config choices explicit.
SkillCFreshness: C★ 1Claude Code +9 - 0.496score
ai-skills-conventions-null
fabian-barney
Enforce explicit null contracts, non-null collections by default, and fail-fast handling for illegal nulls.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 2
- Last commit (this folder)
- May 1, 2026 (6 months ago)
- Last release
- Jun 2, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/fabian-barney/ai-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from fabian-barney
- 0.502score
ai-skills-compliance-dependency
fabian-barney
Evaluate dependency additions and upgrades for compliance and governance risk.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-bootstrap-ai-instructions
fabian-barney
Bootstrap the downstream ai-instructions layer for a repository by following the authoritative upstream setup source instead of copying or reinventing it…
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-bootstrap-ci-pipeline
fabian-barney
Establish the initial CI pipeline for a project so build, lint, test, and policy checks run consistently from the start.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-bootstrap-project
fabian-barney
Orchestrate the initial project bootstrap by sequencing repository, instruction-layer, framework, CI, and documentation setup in dependency order.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-code-refactoring
fabian-barney
Refactor code while preserving behavior through scoped coverage, duplication, complexity, CRAP-score, and convention gates.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
ai-skills-conventions-java
fabian-barney
Apply the default Java conventions by orchestrating the Java-specific leaf skills and the remaining Java baseline rules.
SkillCFreshness: C★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get ai-skills-design-value-object running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
ai-skills-design-value-object. Agent Mart. https://agentmart.dev/skills/fabian-barney-ai-skills-design-value-object (last updated 2026-10-24)