Skip to main content
GeneralTheBushidoCollective

explicit-configuration

Prefer explicit configuration over framework defaults to prevent environment-dependent failures

Stars
162
Source
TheBushidoCollective/han
Updated
2026-04-28
Slug
TheBushidoCollective--han--explicit-configuration
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/TheBushidoCollective/han/HEAD/plugins/core/skills/explicit-configuration/SKILL.md -o .claude/skills/explicit-configuration.md

Drops the SKILL.md into .claude/skills/explicit-configuration.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Explicit Configuration

Name

han-core:explicit-configuration

Description

When configuring services, APIs, or framework features, explicitly set all parameters rather than relying on defaults. Defaults vary across versions, environments, and frameworks.

Principle

What works with defaults in development may fail in production. Explicit configuration is documentation that runs.

Examples

Database connections:

  • Set pool size, timeout, retry policy explicitly
  • Don't rely on default connection string parsing

API calls:

  • Set timeout, retry count, headers explicitly
  • Don't assume default content-type

Framework config:

  • Set port, environment, logging level explicitly
  • Don't rely on framework auto-detection

Security settings:

  • Never rely on default CORS, auth, or session config
  • Always configure explicitly, even if the default is "secure"

Anti-Pattern

createServer()  // relies on default port, middleware, error handling

Pattern

createServer({
  port: config.PORT,
  timeout: 30000,
  cors: { origin: config.ALLOWED_ORIGINS }
})

When to Apply

  • Any time you're initializing a service, client, or framework
  • Any time you're configuring infrastructure (Docker, CI, cloud services)
  • Any time the behavior difference between dev and production matters