explicit-configuration
$
npx mdskill add TheBushidoCollective/han/explicit-configurationEnforce explicit parameter setting across all service initializations to guarantee production stability.
- Prevents runtime failures caused by differing environment or version defaults.
- Applies to service clients, API calls, and framework setup routines.
- Guides developers to override assumed settings with concrete values.
- Provides structural patterns demonstrating required configuration objects.
SKILL.md
.github/skills/explicit-configurationView on GitHub ↗
---
name: explicit-configuration
user-invocable: false
description: Prefer explicit configuration over framework defaults to prevent environment-dependent failures
allowed-tools: []
---
# 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