Skip to content
cccskills
FreePublished on GitHub

principle-boundary-discipline

Apply when wiring validation, error handling, or framework adapters. Concentrate guards at their owning boundaries, including public framework APIs. Trust established invariants, retain necessary runtime checks, and keep core logic in pure functions.

The English summary is being prepared. Showing the original description.

neohaskell/NeoHaskell348 stars(GitHub 348 + cccskills 0)

Run score Not tested

See how to install

Files included (2)

  • SKILL.md2.4 KB
  • agents/openai.yaml43 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Boundary Discipline

Place validation, type narrowing, and error handling at the boundaries that own their contracts, including public framework APIs. Trust invariants established by types or earlier checks. Preserve operation-specific checks required by the contract when types or earlier checks do not establish the condition. Core logic lives in pure functions. The shell is thin and mechanical.

Why: Repeating established validation is noisy and redundant. Keep core rules separate from effectful adapter wiring so they can be tested independently.

The pattern:

  • At boundaries (CLI args, config files, external APIs, network protocols, public framework APIs): validate and handle errors according to the contract.
  • Inside the system: typed data and error propagation. Do not repeat validation of established invariants. Preserve operation-specific checks required by the contract when the types or earlier checks do not establish the condition.
  • Across the boundary. Expose domain concepts, not the boundary's private representation. Keep general-purpose mechanism inside and special-purpose policy at the edge.

Applications:

Validation and error handling:

  • Validate config at parse time (the boundary), not inside business logic
  • Parse raw data into domain types at the boundary
  • Do not leak private transport, storage, or wire representations through the public API. Framework types and intentional interoperability types may be part of the public contract.
  • No redundant nil checks deep in call chains if the boundary already validated

Code organization:

  • Core rules in pure functions using stable framework types, without dependencies on effectful adapter wiring
  • Parse functions: pure transforms from raw bytes to typed state
  • Prompt construction: structured state in, string out
  • Scoring and assessment: pure transforms from state to results

The tests:

  • "Is this data crossing a boundary right now?" If not, distinguish repeated validation of an established invariant from an operation-specific check required by the contract.
  • "Can this be a pure function that the shell just calls?" If yes, extract it.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.

The English summary is being prepared. Showing the original description.

neohaskell/NeoHaskell348Updated Oct 26, 2026

arena

Free

Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape.

The English summary is being prepared. Showing the original description.

neohaskell/NeoHaskell348Updated Oct 26, 2026

Inspect or supervise a PR or stack through review and CI to merge-ready, using current GitHub evidence and the requested mode.

The English summary is being prepared. Showing the original description.

neohaskell/NeoHaskell348Updated Oct 26, 2026

Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened) before you report or act on it. Use when you benchmark or report a measured speedup or regression, including complete framework flows and compilation of projects that consume the framework.

The English summary is being prepared. Showing the original description.

neohaskell/NeoHaskell348Updated Oct 26, 2026

bro

Free

Restate the last message in plain human language, with no jargon.

The English summary is being prepared. Showing the original description.

neohaskell/NeoHaskell348Updated Oct 26, 2026

Build or adapt a local harness to drive, inspect, and profile an interactive CLI or TUI without external services. Use for CLI UX checks, startup regressions, memory leaks, hangs, prompt flows, or terminal demos.

The English summary is being prepared. Showing the original description.

neohaskell/NeoHaskell348Updated Oct 26, 2026

See all skills by neohaskell

Report a problem with this skill