do-coding-standards

Applies correct-by-construction TypeScript and Effect coding standards to implementation and review workflows.

2|Updated May 25, 2026
One-click install
npx skills add https://github.com/edheltzel/Do-Skills --skill do-coding-standards-edheltzel
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: do-coding-standards
Source: https://github.com/edheltzel/Do-Skills/tree/main/skills/engineering/typescript/do-coding-standards
Command: npx skills add https://github.com/edheltzel/Do-Skills --skill do-coding-standards-edheltzel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? TypeScript and Effect codebases drift into inconsistent error handling, untyped boundary data, and tangled module responsibilities. This Skill enforces a single correct-by-construction standard so every change parses data at edges, models expected failures as typed values, and keeps effects behind cohesive services. ## Core Features & Use Cases - Standards-driven workflow: A five-step process covering local rule discovery, behavior tracing, type-first design, complete implementation, and verification through public interfaces. - Deep reference library: Fourteen focused references covering Effect services, schemas, streams, retry, caching, HTTP clients, testing, errors, persistence, and module design. - Use Case: When adding a feature to an Effect-based service, the Skill directs you to parse inputs at the boundary, model failures as tagged errors, wire dependencies through Layers, and verify behavior through real interfaces rather than mocks. ## Quick Start Use the do-coding-standards skill to implement this TypeScript change following the project's Effect coding standards.

Frequently Asked Questions about do-coding-standards

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

FAQPage Schema
How do I apply consistent coding standards to TypeScript and Effect code?▼

Follow the five-step workflow: establish local rules from AGENTS.md and configs, trace the changed behavior and load applicable references, design from public types inward, implement the complete behavior, then verify through public interfaces with the repository's checks.

How should errors be handled in Effect TypeScript applications?▼

Expected failures are modeled as typed values using custom tagged errors such as Schema.TaggedErrorClass, while throws are reserved for defects. The errors reference covers granular error types, stable message prefixes, and boundary translation.

When should I use Effect Layers versus plain dependency injection?▼

Use an Effect service with a Layer when a capability owns persistence, external I/O, configuration, or has real production and test variation. Keep deterministic calculations, parsed inputs, and per-call options as plain values instead of services.

Does this standard work with non-Effect TypeScript projects?▼

Yes. The core principles apply to plain TypeScript using a small local Result tagged union or better-result, with Effect-specific guidance isolated in dedicated references that only apply when Effect code changes.

How are tests expected to be written under these standards?▼

Tests exercise behavior through real public interfaces using real or faithful in-memory implementations rather than module mocks. Effect tests use it.effect, TestClock for time, and reusable test Layers that cross the production service tag.