Code Style

Enforce functional Effect-TS coding style with Schema and Match modules.

8|Updated Jan 23, 2026
One-click install
npx skills add https://github.com/andrueandersoncs/claude-skill-effect-ts --skill code-style-andrueandersoncs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Code Style
Source: https://github.com/andrueandersoncs/claude-skill-effect-ts/tree/main/skills/code-style
Command: npx skills add https://github.com/andrueandersoncs/claude-skill-effect-ts --skill code-style-andrueandersoncs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill codifies idiomatic Effect-TS coding practices to reduce imperative patterns, enforce consistent conventions, and improve readability and maintainability across teams.

Core Features & Use Cases

  • Enforces functional programming principles (no mutation, no loops) by guiding developers to use Effect's Array/Record/Struct/Tuple modules and to prefer pattern matching over conditional logic.
  • Promotes Schema-first data modeling with tagged unions and Schema.is() usage to enable exhaustive, self-describing control flow.
  • Provides project-structure and pipeline guidelines for consistent Effect-TS codebases, including dual API patterns and generator syntax recommendations.
  • Use Case: refactor a large module from nested if/else to a Match-based flow and encode domain data with Schemas to enable runtime validation.

Quick Start

  • Read this Code Style Skill and apply its rules when writing Effect-TS code.
  • When you encounter imperative patterns, rewrite them using Match, functional Array/Record/Struct/Tuple utilities, and pipe-based pipelines.
  • Example: replace an if/else chain with a Match.value-based decision tree and Schema.is() guards.

Frequently Asked Questions about Code Style

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I refactor if/else chains to pattern matching in Effect-TS?

Refactor if/else chains to pattern matching in Effect-TS by replacing conditional logic with Match.value-based decision trees and Schema.is() guards. This enforces exhaustive, self-describing control flow and eliminates imperative branching patterns across your codebase.

How do I enforce functional programming and avoid mutation in TypeScript Effect-TS projects?

Enforce functional programming in Effect-TS projects by using built-in Array, Record, Struct, and Tuple modules instead of loops and mutations. This Skill guides developers to replace imperative patterns with functional utilities and pipe-based pipelines for consistent code.

What is schema-first data modeling in Effect-TS and when should I use it?

Schema-first data modeling in Effect-TS uses tagged unions and Schema.is() to enable runtime validation and exhaustive control flow. Use it to encode domain data with Schemas, ensuring self-describing types and consistent domain modeling across your project.

Does this Effect-TS code style approach require external tooling or dependencies?

This Effect-TS code style approach requires no external tooling or dependencies. It relies entirely on built-in Effect-TS modules including Schema, Match, Array, Record, Struct, and Tuple to enforce functional programming and pattern matching conventions.

What's the best way to structure pipelines and modules in an Effect-TS codebase?

The best way to structure Effect-TS codebases is to follow project-structure and pipeline guidelines that enforce consistent conventions. This includes using dual API patterns, generator syntax recommendations, and pipe-based pipelines to improve readability and maintainability across teams.