coding-effectively_skill

This skill helps you write and refactor code effectively by enforcing functional vs imperative separation and defensive data validation.
  • Python

128

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill ed3dai/ed3d-plugins --skill coding-effectively

  • SKILL.md6.9 KB

Overview

This skill enforces disciplined, context-aware coding practices to improve correctness, maintainability, and cross-platform reliability. It always applies core sub-skills (functional vs imperative separation and defense-in-depth) and selects additional sub-skills based on language, runtime, and task. Use it for writing, refactoring, reviewing, or designing features across projects and stacks.

How this skill works

The skill inspects code and design decisions against core principles: property-driven design, correctness-first error handling, pragmatic incrementalism, and clear file/module organization. It flags risky patterns (catch-all utils, swallowed errors, premature abstractions, platform mixing) and recommends concrete fixes and tests. When applicable, it activates conditional sub-skills for TypeScript, React, Postgres, and testing strategies.

When to use it

  • Writing new features or refactoring existing code
  • Designing data transformations or APIs where invariants matter
  • Performing code reviews focused on correctness and error handling
  • Preparing cross-platform or multi-environment deployments
  • Creating or improving test suites, including property-based tests

Best practices

  • Model full error space: differentiate user-facing and internal errors with low-ceremony messages
  • Separate pure logic from side effects and validate data at every boundary
  • Prefer concrete, composable code and delay abstraction until pattern appears three times
  • Name files by purpose (string-formatting.ts) instead of generic utils.ts
  • Keep platform-specific code in dedicated modules and document differences
  • Use the type system to encode correctness; avoid any/type-bypasses

Example use cases

  • Designing a serializer where roundtrip and invariants must be proven and tested
  • Refactoring a large helper file into purpose-named modules for discoverability
  • Reviewing error handling to ensure actionable, composable user-facing messages
  • Adding platform-specific implementations for process spawning with separate files
  • Choosing property-based tests for pure functions and serialization logic

FAQ

Start by listing desirable properties (roundtrip, idempotence, invariants) and use them to guide API shape, tests, and edge-case handling before implementation.

When is it okay to create an abstraction?

Wait until you see the same pattern at least three times; prefer small, specific utilities named by purpose rather than broad, premature abstractions.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational