ai-skills-conventions-null
Enforce explicit null contracts, non-null collections by default, and fail-fast handling for illegal nulls.
Skill by fabian-barney
Chalk Labs
Need help deploying ai-skills-conventions-null?
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-conventions-null
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
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-conventions-null
What's inside
- Skill name
ai-skills-conventions-null- Description
- Enforce explicit null contracts, non-null collections by default, and fail-fast handling for illegal nulls.
- License
- Apache-2.0
- Instructions
- 75 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- java-null-contract.md · examples/
- java-nullness-strategy.md · references/
- null-contracts.md · references/
SKILL.md (first lines)
<!-- markdownlint-disable MD025 --> # Purpose Make nullability explicit, keep collections non-null by default, and fail fast on illegal nulls instead of swallowing programming errors. # When to Use - use when designing or reviewing fields, parameters, return values, and public APIs - use when handling collections, boundary mapping, de-/serialization, or un-/marshalling - use `references/null-contracts.md` for the default null and collection rules - use `references/java-nullness-strategy.md` when Java-style nullness tooling, annotations, or validation frameworks apply - use `examples/java-null-contract.md` when showing the expected contract and boundary shape # Inputs - the affected API surface, fields, parameters, return values, and collection semantics - whether `null` and empty carry different meaning at a boundary - available nullness tooling, annotations, or validation frameworks - `references/null-contracts.md` - `references/java-nullness-strategy.md` when Java-specific nullness tooling is relevant # Workflow 1. Decide and state the null contract for every public-facing parameter, return value, and field in scope. 2. Default collections to non-null and prefer empty collections over `null` when absence is not semantically distinct. 3. Treat unexpected null collections as programming errors and fail fast rather than swallowing them with null-safe helpers. 4. Allow null collections only at the minimal boundary scope where absent and empty must remain distinguishable. 5. Use the strongest available contract mechanism: nullness framework first, then validation or explicit annotations, then documentation only as a last resort. 6. When Java-specific tooling applies, use `references/java-nullness-strategy.md` to prefer JSpecify-style contracts and stronger enforcement before fallback annotations. 7. Use `examples/java-null-contract.md` when communicating the expected API and boundary shape. # Outputs - explicit null contracts for the bounded public-facing scope - non-null collection handling by default - minimal documented exceptions where boundary semantics require nullable collections - fail-fast findings for swallowed illegal nulls # Guardrails - do not return or store null collections in normal domain code - do not use null-safe helpers such as `CollectionUtils.isEmpty(...)` to hide illegal null collections - do not leave public-facing null contracts implicit - do not let boundary-specific nullable collection exceptions leak into normal domain flow - do not choose fallback nullness annotations when stronger framework or tool support is available # Exit Checks - every public-facing parameter, return value, and field in scope has an explicit null contract - collections are non-null by default outside minimal boundary exceptions - illegal null collections fail fast instead of being swallowed - the chosen nullness tooling or annotation strategy is internally consistent
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-design-validation
fabian-barney
Validate contracts as early as possible and distinguish programming mistakes from normal invalid data.
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-design-value-object
fabian-barney
Prefer value objects or named domain types over generic primitives and strings when the data has real semantics.
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-conventions-null 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-conventions-null. Agent Mart. https://agentmart.dev/skills/fabian-barney-ai-skills-conventions-null (last updated 2026-10-24)