Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

convention-over-configuration约定优于配置

Agent Skill

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

总安装

212

周安装

9

GitHub Stars

公开资料未说明

下载量

74
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:convention-over-configuration(约定优于配置)
来源仓库:https://github.com/jordancoin/codingskills
仓库路径:skills/convention-over-configuration
安装命令:
npx skills add https://github.com/jordancoin/codingskills --skill convention-over-configuration
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/jordancoin/codingskills --skill convention-over-configuration

简介

convention-over-configuration 采用约定优于配置原则,提供默认模式和一致应用方式。

  • 适用于减少显式配置需求、提升开发效率的场景。
  • 结合上下文感知和框架特定细节,避免盲目猜测。
  • 使用前应检查是否存在 .agents/stack-context.md 并确认相关依赖。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Convention over Configuration

Before Applying

If .agents/stack-context.md exists, read it first. Apply this principle using idiomatic patterns for the detected stack. For framework-specific details, use context7 MCP or web search — don't guess.

Principle

Adopt sensible defaults and consistent patterns so that decisions are made once and applied everywhere. Reserve explicit configuration for the cases that genuinely need to differ from the default.

Why This Matters in Production

Every configuration option is a decision that someone must make, document, understand, and maintain. Misconfigured systems are a top cause of production incidents — wrong environment variables, typos in YAML, conflicting settings between services.

Convention-driven systems are predictable. A new team member can look at one module and know how every other module works. There's no "well, this service does it differently because someone configured it that way 18 months ago."

Configuration should be the exception, not the default. When everything is configurable, nothing is standardized.

Rules

  1. Establish project conventions early and document them. File structure, naming patterns, error handling style, test organization — decide once and follow everywhere. Put these in a living document (like a CLAUDE.md or CONTRIBUTING.md).
  2. Use framework conventions as-is. If your framework puts routes in routes/, models in models/, and tests in tests/ — follow that. Don't invent a custom layout unless the framework's conventions genuinely don't fit.
  3. Name things predictably. If the users table has a handler called users.rs, the tests should be in users_test.rs, the migration should reference users, and the API endpoint should be /users. Predictable naming is a convention that eliminates searching.
  4. Default to the common case. Configuration options should have sane defaults that work for 90% of use cases. Only require explicit configuration for the 10% that genuinely varies.
  5. Minimize environment-specific config. The gap between dev, staging, and production should be as small as possible. Environment-specific configuration is a leading source of "works on my machine" bugs.
  6. Treat configuration as code. Config files should be version-controlled, reviewed, and tested like code. If changing a config value could cause an outage, it deserves the same scrutiny as a code change.

Anti-Patterns

  • Config-driven architecture: Systems where behavior is determined by hundreds of knobs in YAML files that no one fully understands
  • Inconsistent project structure: Each module organized differently because "the developer preferred it that way"
  • Reinventing the wheel: Custom build scripts, custom test runners, custom deployment tools when standard ones exist and are sufficient
  • Feature flags for everything: Wrapping every decision in a feature flag "so we can change it later" when the decision is already made
  • Undocumented conventions: Patterns that exist in the codebase but aren't written down, so new team members violate them unknowingly

Examples

-- Over-configured: every handler specifies its own middleware stack
app.route("/users", handler=users, middleware=[auth, logging, rate_limit, cors])
app.route("/orders", handler=orders, middleware=[auth, logging, rate_limit, cors])
app.route("/products", handler=products, middleware=[logging, cors])  # oops, forgot auth

-- Convention: default middleware applied globally, exceptions are explicit
app.use([auth, logging, rate_limit, cors])   # convention: all routes get this
app.route("/users", handler=users)
app.route("/orders", handler=orders)
app.route("/health", handler=health, skip=[auth])  # explicit exception
-- Over-configured: every test specifies database setup
def test_create_user():
    db = connect("postgres://localhost:5432/test")
    db.migrate()
    db.seed("users.sql")
    ...

-- Convention: test framework handles setup, tests just test
def test_create_user(db):   # db fixture provided by convention
    user = create_user(db, name="Alice")
    assert user.name == "Alice"

Boundaries

  • Convention does not mean rigidity. Conventions should evolve as the team and project grow. Review and update them periodically.
  • Some things must be configured. Database URLs, API keys, feature flags for gradual rollouts, and environment-specific settings legitimately need configuration. The principle is about minimizing unnecessary configuration, not eliminating all of it.
  • Conventions must be discoverable. A convention that exists only in one developer's head is not a convention — it's a trap. Write them down.
  • Tension with flexibility: In libraries and frameworks meant for diverse use cases, more configuration is appropriate. In application code, less is better.

Code Review Checklist

  • Does this change follow the project's established patterns and conventions?
  • If it introduces a new pattern, is that pattern documented and justified?
  • Are there configuration options that could be replaced by sensible defaults?
  • Is the file/module structure consistent with the rest of the project?
  • Could a new team member predict this code's location and structure based on the project's conventions?

Related Skills

  • boy-scout-rule: For maintaining conventions incrementally
  • separation-of-concerns: For the structural conventions themselves
  • kiss: When conventions should default to the simpler option

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

37.53%
按下载量换算28

Claude

27%
按下载量换算20

Cursor

17.52%
按下载量换算13

Gemini CLI

8.53%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills