jane-street-stylelisted
Install: claude install-skill yakoshiq/skills
# Clarity-First Code
Make code easy to review and hard to misuse. Follow the target language and repo idioms; do not transplant OCaml patterns or add a functional framework.
## Choose scope
- **Review:** findings only - no rewrite. Correctness and failure semantics first; then whether names reveal the domain action.
- **Refactor:** keep observable behavior and public call-shape by default. Clear domain API in the core; old entry points stay as thin adapters that preserve legacy results and effect order. Disclose any break.
- **New code / redesign:** clearest domain API, no legacy drag.
Never call a behavior change a refactor. Disclose material changes to APIs, validation, effect ordering, or failure semantics.
## Apply in order
1. Name the domain operation, invariants, effects, and expected failures.
2. Shortest precise domain names. Treat `process`, `handle`, `update`, `run`, `execute`, `init` as review signals, not bans; keep conventional terms when exact.
3. Prefer immutable values and pure transforms; keep localized mutation when clearer, idiomatic, or hot.
4. Native errors with context. Do not collapse validation, infrastructure, and programmer failures into one sentinel. If effect A commits and effect B fails, that is **partial success** - expose both on the new API (e.g. balance changed, notify failed). During a behavior-preserving refactor, do not invent rollback or fold that into `false`/`None` unless the policy change is intentional and disclosed.
5. Types onl