Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

coding-effectively有效编码

Agent Skill

coding-effectively 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

424

周安装

17

GitHub Stars

176

下载量

137
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:coding-effectively(有效编码)
来源仓库:https://github.com/ed3dai/ed3d-plugins
仓库路径:skills/coding-effectively
安装命令:
npx skills add https://github.com/ed3dai/ed3d-plugins --skill coding-effectively
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ed3dai/ed3d-plugins --skill coding-effectively

简介

coding-effectively 整合功能编程范式、防御性分层验证与属性驱动测试等高效编码原则。

  • 推荐 TypeScript、React 与 PostgreSQL 专项子技能,按需组合使用以提升特定领域产出质量。
  • 强调 YAGNI 原则与简洁实现,反对过度抽象与隐式耦合,优先选择最直白解决方案。
  • 建议结合 property-based testing 验证序列化与纯函数逻辑,确保边界条件全覆盖。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Coding Effectively

Required Sub-Skills

ALWAYS REQUIRED:

  • howto-functional-vs-imperative - Separate pure logic from side effects
  • defense-in-depth - Validate at every layer data passes through

CONDITIONAL: Use these sub-skills when applicable:

  • howto-code-in-typescript - TypeScript code
  • howto-develop-with-postgres - PostgreSQL database code
  • programming-in-react - React frontend code
  • writing-good-tests - Writing or reviewing tests
  • property-based-testing - Tests for serialization, validation, normalization, pure functions

Property-Driven Design

When designing features, think about properties upfront. This surfaces design gaps early.

Discovery questions:

QuestionProperty TypeExample
Does it have an inverse operation?Roundtripdecode(encode(x)) == x
Is applying it twice the same as once?Idempotencef(f(x)) == f(x)
What quantities are preserved?InvariantsLength, sum, count unchanged
Is order of arguments irrelevant?Commutativityf(a, b) == f(b, a)
Can operations be regrouped?Associativityf(f(a,b), c) == f(a, f(b,c))
Is there a neutral element?Identityf(x, 0) == x
Is there a reference implementation?Oraclenew(x) == old(x)
Can output be easily verified?Easy to verifyis_sorted(sort(x))

Common design questions these reveal:

  • "What about deleted/deactivated entities?"
  • "Case-sensitive or not?"
  • "Stable sort or not? Tie-breaking rules?"
  • "Which algorithm? Configurable?"

Surface these during design, not during debugging.

Core Engineering Principles

Correctness Over Convenience

Model the full error space. No shortcuts.

  • Handle all edge cases: race conditions, timing issues, partial failures
  • Use the type system to encode correctness constraints
  • Prefer compile-time guarantees over runtime checks where possible
  • When uncertain, explore and iterate rather than assume

Don't:

  • Simplify error handling to save time
  • Ignore edge cases because "they probably won't happen"
  • Use any or equivalent to bypass type checking

Error Handling Philosophy

Two-tier model:

  1. User-facing errors: Semantic exit codes, rich diagnostics, actionable messages
  2. Internal errors: Programming errors that may panic or use internal types

Error message format: Lowercase sentence fragments for "failed to {message}".

Good: failed to connect to database: connection refused
Bad:  Failed to Connect to Database: Connection Refused

Good: invalid configuration: missing required field 'apiKey'
Bad:  Invalid Configuration: Missing Required Field 'apiKey'

Lowercase fragments compose naturally: "operation failed: " + error.message reads correctly.

Pragmatic Incrementalism

  • Prefer specific, composable logic over abstract frameworks
  • Evolve design incrementally rather than perfect upfront architecture
  • Don't build for hypothetical future requirements
  • Document design decisions and trade-offs when making non-obvious choices

The rule of three applies to abstraction: Don't abstract until you've seen the pattern three times. Three similar lines of code is better than a premature abstraction.

File Organization

Descriptive File Names Over Catch-All Files

Name files by what they contain, not by generic categories.

Don't create:

  • utils.ts - Becomes a dumping ground for unrelated functions
  • helpers.ts - Same problem
  • common.ts - What isn't common?
  • misc.ts - Actively unhelpful

Do create:

  • string-formatting.ts - String manipulation utilities
  • date-arithmetic.ts - Date calculations
  • api-error-handling.ts - API error utilities
  • user-validation.ts - User input validation

Why this matters:

  • Discoverability: Developers find code by scanning file names
  • Cohesion: Related code stays together
  • Prevents bloat: Hard to add unrelated code to string-formatting.ts
  • Import clarity: import {formatDate} from './date-arithmetic' is self-documenting

When you're tempted to create utils.ts: Stop. Ask what the functions have in common. Name the file after that commonality.

Module Organization

  • Keep module boundaries strict with restricted visibility
  • Platform-specific code in separate files: unix.ts, windows.ts, posix.ts
  • Use conditional compilation or runtime checks for platform branching
  • Test helpers in dedicated modules/files, not mixed with production code

Cross-Platform Principles

Use OS-Native Logic

Don't emulate Unix on Windows or vice versa. Use each platform's native patterns.

Bad: Trying to make Windows paths behave like Unix paths everywhere.

Good: Accept platform differences, handle them explicitly.

// Platform-specific behavior
if (process.platform === 'win32') {
  // Windows-native approach
} else {
  // POSIX approach
}

Platform-Specific Files

When platform differences are significant, use separate files:

process-spawn.ts        // Shared interface and logic
process-spawn-unix.ts   // Unix-specific implementation
process-spawn-windows.ts // Windows-specific implementation

Document Platform Differences

When behavior differs by platform, document it in comments:

// On Windows, this returns CRLF line endings.
// On Unix, this returns LF line endings.
// Callers should normalize if consistent output is needed.
function readTextFile(path: string): string { ... }

Test on All Target Platforms

Don't assume Unix behavior works on Windows. Test explicitly:

  • CI should run on all supported platforms
  • Platform-specific code paths need platform-specific tests
  • Document which platforms are supported

Common Mistakes

MistakeRealityFix
"Just put it in utils for now"utils.ts becomes 2000 lines of unrelated codeName files by purpose from the start
"Edge cases are rare"Edge cases cause production incidentsHandle them. Model the full error space.
"We might need this abstraction later"Premature abstraction is harder to remove than addWait for the third use case
"It works on my Mac"It may not work on Windows or LinuxTest on target platforms
"The type system is too strict"Strictness catches bugs at compile timeFix the type error, don't bypass it

Red Flags

Stop and refactor when you see:

  • A utils.ts or helpers.ts file growing beyond 200 lines
  • Error handling that swallows errors or uses generic messages
  • Platform-specific code mixed with cross-platform code
  • Abstractions created for single use cases
  • Type assertions (as any) to bypass the type system
  • Code that "works on my machine" but isn't tested cross-platform

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.52%
按下载量换算49

Claude

30.04%
按下载量换算41

Cursor

17.91%
按下载量换算25

Gemini CLI

8.56%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/ed3dai/ed3d-plugins --skill coding-effectively 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills