Individual skill
nginx-c-module-design
nginx C module directive design guidelines for creating admin-friendly configuration interfaces. This skill should be used when designing nginx module directives — deciding what to expose vs hardcode, naming conventions, scope placement, default values, variable design, and validation patterns. Triggers on tasks involving ngx_command_t design, directive naming, configuration API design, nginx module public interface, or directive deprecation.
skills/.experimental/nginx-c-module-design/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- design Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 8,503 bytesassets/templates/_template.mddoc · 1,117 bytesmetadata.jsonasset · 1,226 bytesreferences/_sections.mddoc · 2,182 bytesreferences/compat-alias-old-directive.mddoc · 2,669 bytesreferences/compat-deprecation-warning.mddoc · 2,192 bytesreferences/compat-document-migration.mddoc · 2,060 bytesreferences/compat-multi-version-window.mddoc · 3,239 bytesreferences/default-generous-timeouts.mddoc · 3,198 bytesreferences/default-performance-optin.mddoc · 3,595 bytesreferences/default-platform-aware-buffers.mddoc · 2,733 bytesreferences/default-safety-on.mddoc · 3,279 bytesreferences/default-zero-config-safe.mddoc · 3,035 bytesreferences/default-zero-unlimited.mddoc · 3,241 bytesreferences/expose-configurable-vs-hardcode.mddoc · 2,158 bytesreferences/expose-environment-dependent.mddoc · 2,417 bytesreferences/expose-escape-hatch.mddoc · 2,118 bytesreferences/expose-feature-gate.mddoc · 2,176 bytesreferences/expose-path-resource.mddoc · 2,288 bytesreferences/expose-security-surface.mddoc · 2,504 bytesreferences/expose-too-many-directives.mddoc · 2,573 bytesreferences/naming-cross-module-consistency.mddoc · 2,698 bytesreferences/naming-lowercase-underscore.mddoc · 2,277 bytesreferences/naming-module-prefix.mddoc · 2,313 bytesreferences/naming-no-abbreviations.mddoc · 2,440 bytesreferences/naming-noun-over-verb.mddoc · 2,416 bytesreferences/naming-sub-prefix-groups.mddoc · 3,593 bytesreferences/scope-avoid-if-context.mddoc · 3,007 bytesreferences/scope-default-three-levels.mddoc · 2,692 bytesreferences/scope-http-only-shared-resources.mddoc · 3,650 bytesreferences/scope-location-path-operations.mddoc · 2,808 bytesreferences/scope-server-connection-level.mddoc · 3,219 bytesreferences/type-avoid-block.mddoc · 2,581 bytesreferences/type-custom-handler-complex.mddoc · 3,630 bytesreferences/type-enum-over-string.mddoc · 3,349 bytesreferences/type-flag-for-toggles.mddoc · 2,684 bytesreferences/type-one-more-lists.mddoc · 4,215 bytesreferences/type-take-n-fixed-args.mddoc · 3,590 bytesreferences/type-time-size-units.mddoc · 3,049 bytesreferences/valid-actionable-guidance.mddoc · 3,001 bytesreferences/valid-conflict-detection.mddoc · 2,244 bytesreferences/valid-parse-time-check.mddoc · 2,548 bytesreferences/valid-show-invalid-value.mddoc · 2,323 bytesreferences/valid-suggest-range.mddoc · 2,493 bytesreferences/var-dynamic-prefix.mddoc · 3,206 bytesreferences/var-in-directive-values.mddoc · 3,073 bytesreferences/var-lazy-evaluation.mddoc · 3,411 bytesreferences/var-naming-convention.mddoc · 2,382 bytesreferences/var-read-only-diagnostics.mddoc · 3,190 bytesreferences/var-runtime-data-only.mddoc · 3,066 bytes
Read excerpt
# nginx.org C Module Directive Design Best Practices
Comprehensive directive design guide for nginx C module authors, focused on creating clear, consistent, and admin-friendly configuration interfaces. Contains 46 rules across 8 categories, prioritized by impact to guide decisions about what to expose, how to name it, and how to evolve it safely.
## When to Apply
Reference these guidelines when:
- Deciding which values to expose as directives vs hardcode
- Naming new directives and choosing argument types
- Selecting scope placement (http, server, location)
- Setting default values and validation behavior
- Designing nginx variables for runtime data
- Deprecating or renaming existing directives